CN111683121B - 基于DPoS的云端数据溯源区块链共识机制改进方法 - Google Patents
基于DPoS的云端数据溯源区块链共识机制改进方法 Download PDFInfo
- Publication number
- CN111683121B CN111683121B CN202010438374.7A CN202010438374A CN111683121B CN 111683121 B CN111683121 B CN 111683121B CN 202010438374 A CN202010438374 A CN 202010438374A CN 111683121 B CN111683121 B CN 111683121B
- Authority
- CN
- China
- Prior art keywords
- node
- block
- consensus
- nodes
- round
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于区块链中的共识机制技术领域,具体涉及一种基于DPoS的云端数据溯源区块链共识机制改进方法。本发明将云计算资源量化为DPoS共识机制中的权益,根据权益的大小为每个节点开启一个类似于Raft共识中的有偏计时器,分散了投票的结果;结合了“一人一票”的投票方法,在提高节点选举效率的同时保证了优质云资源拥有者的当选概率;通过在共识过程中引入反馈机制,使得在共识过程中发现超过50%节点不认可的区块,立即重新开始节点选举流程,保证了区块产生的正确性。本发明在共识过程中对资源的消耗更少,在大规模节点的情况下,共识速度更快,共识速度不易受节点数量影响,可以更好的服务于面向云计算的数据溯源模型BlockCloud。
Description
技术领域
本发明属于区块链中的共识机制技术领域,具体涉及一种基于DPoS的云端数据溯源区块链共识机制改进方法。
背景技术
共识机制是区块链系统整体中最为关键的要素,它的效率直接决定着区块链系统的性能。PoW共识机制目前虽然安全稳定的服务于以太坊等区块链环境,但却因对资源的消耗巨大,生产区块的时间过久而饱受诟病。PoS共识机制是为解决PoW共识消耗资源过大的问题而产生的,它虽然能极大的缓解对资源的消耗问题,但是其共识速度依旧不够快。DPoS共识机制是PoS共识机制的改进版,相比于PoS共识机制,它产出区块的速度更快,对资源的消耗也更少,但它对区块链系统的中心化作出了一定的妥协。
应用于云端数据溯源模型BlockCloud的共识机制CloudPoS,是PoS共识机制在云计算模型中的一种应用,它的目标是保持云数据交易的分布式帐本的一致性状态。CloudPoS将云服务提供商CSP作为共识内容的一部分,CSP将扮演共识节点管理者的角色。在CloudPoS共识机制中,任何云用户都可以自由参与区块链共识流程,因为它们可以在CSP那里验证其身份和确定其与CSP的隶属关系。该机制将N个完全连接的云端节点{P1,P2,...,PN}称为Validator,这些节点是共识过程的参与者。在这种情况下,PoS中参与共识的节点将是云计算架构中的虚拟节点,N个云端节点负责维护区块链的整体运转。在共识开始之前,Validator将收集数据溯源作为交易,为之后区块的生成提供内容。CSP通过将参与共识的云用户的空闲资源,用做PoS共识机制中用户的权益。在CloudPoS中,共识的过程发生在一些不同的时间段间,这些时间段可以被定义为Epoch。在每个Epoch结束时,都会有一个包含交易的区块被成功确认,从而在区块链上扩展一个区块。在每个Epoch中,例如领导人选举、交易验证和多方确认等任务都将在新区块正式连入区块链之前完成。CloudPoS目前能够正常的服务于BlockCloud云端数据溯源模型,但是它存在着资源消耗过大的问题,随着参与共识的云端节点增多,共识所造成的资源消耗将急剧增加,从而严重影响共识效率。
发明内容
本发明的目的在于提供减少BlockCloud对资源的消耗,提高其工作效率以及提升其对大规模节点的支持能力的一种基于DPoS的云端数据溯源区块链共识机制改进方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:区块链系统将向云服务提供商CSP询问云端虚拟节点集合N中每个节点所代表的用户为维护区块链贡献的资源量,根据资源量的多少从大到小将节点排序;
步骤2:区块链系统向排序为前l的节点发送消息<HASH(PreBlockHead),Round,Ni>;其中,HASH(PreBlockHead)为前一个区块头部的哈希值;Round为当前选举的轮次信息;
步骤3:收到信息的节点Ni从当前的区块链中获取前一个区块的区块头部,提取其中的Round信息后,将其加1,并计算前一个区块头部的哈希值HASH(PreBlockHead);
步骤4:若节点Ni计算得出的HASH(PreBlockHead)与Round信息和收到的信息完全一致,则节点Ni计算HASH(HASH(PreBlockHead),Round,Ni)的值,并广播消息<HASH(HASH(PreBlockHead),Round,Ni),Ni>;否则节点Ni会忽略掉此条信息;
步骤5:区块链系统将节点Ni划分到共识节点集合NC中,以(int)(Random()*l+i)作为该节点在本轮投票中的编号;
步骤6:若区块链系统收到l条<HASH(HASH(PreBlockHead),Round,Ni),Ni>的验证消息,则区块链系统将共识节点集合NC进行广播;
若区块链系统收到的验证消息不足l条,则区块链系统按照缺少的数量,依照排名顺延发送消息<HASH(PreBlockHead),Round,Ni>,返回步骤3;
步骤7:区块链系统将云端虚拟节点集合N中未进入共识节点集合NC中的节点划分为交易节点集合NT;
步骤8:区块链系统将向云服务提供商CSP确认共识节点集合NC中每个节点所代表的用户为维护区块链贡献的资源量,锁定用户资源;计算共识节点集合NC中的每个节点偏向成为见证者的概率{P1(Round),P2(Round),P3(Round),...,Pl(Round)};为共识节点集合NC中的每个节点开启TIMER;
步骤10:交易节点集合NT中的节点收到<(int)(Random()*l+i),Round>消息后,若确认Round信息无误且自身仍没有投过票,则将私钥和作为签名函数<Message>Prk=Sign(Message,Prk)的输入,计算得到后,广播消息
步骤14:区块链系统将见证者节点集合NW进行乱序处理后与参与者节点集合NP一并广播至区块链网络中,各节点更新自身的身份,并保存节点集信息;
步骤15:见证者节点集合NW中的节点生成一个区块,区块中包含了上一个区块的哈希值HASH(PreBlock)、状态标签INITIAL、节点选举轮次Round、当前的见证者节点集合NW、生产区块的见证者节点序号,区块的时间戳TimeStamp、近期的交易TX和由交易信息生成的Merkle树的树根MerkleRoot;
步骤16:区块链系统根据见证者节点集合NW中的排序,确认下一个生产区块的见证者节点是否能够继续参与共识过程,如果确认失败将触发节点的重新选举,而确认成功的见证者节点集合NW负责将自己生产的区块广播至区块链网络中;
若节点中的信息与收到的区块中的所有信息完全一致,则节点将自己的私钥与收到的区块作为签名函数的输入,签名后广播此消息;否则,节点将根据收到区块所提供的信息生成一个自己认为正确的区块将与自己的私钥作为签名函数的输入,签名后广播此消息;
步骤20:所有参与整体共识过程的云端虚拟节点集合N中的节点Ni会将收到的BlockCORRECT区块添加至自身的区块链中,将收到的BlockERROR区块丢弃;区块链系统在检测到BlockERROR区块后将停止本轮的区块共识流程,开始下一轮的共识节点的选举流程。
本发明还可以包括:
步骤8中计算共识节点集合NC中的每个节点偏向成为见证者的概率的方法具体为:一名用户拥有的总资源为代表CPU的总核心数,是以KB为单位的内存大小,是以Kbps为单位的网络带宽;根据用户已使用的资源量为其保留一定的资源大小用户成为见证者的偏向概率pi的计算方法为:
其中,|ai|表示节点拥有的权益量的值,具体计算方法为:
步骤8中为共识节点集合NC中的每个节点开启TIMER具体为:TIMER使用等待时间TIMEWAIT作为上限进行计时,TIMEWAIT的计算公式为:
TIMEWAIT=MAXTO*Pi
其中,MAXTO为150ms至300ms间的随机数;当共识节点集合NC中的节点向交易节点集合NT中的节点发起投票申请前,共识节点集合NC中每个节点将先开启各自的TIMER,在等待各自的TIMEWAIT长度的时间后方可发起投票申请。
本发明的有益效果在于:
本发明将云计算资源量化为DPoS共识机制中的权益,根据权益的大小为每个节点开启一个类似于Raft共识中的有偏计时器,分散了投票的结果;结合了“一人一票”的投票方法,在提高节点选举效率的同时保证了优质云资源拥有者的当选概率;通过在共识过程中引入反馈机制,使得在共识过程中发现超过50%节点不认可的区块,立即重新开始节点选举流程,保证了区块产生的正确性。与现有的技术相比,经过本方法改进的云端数据溯源区块链共识机制在共识过程中对资源的消耗更少,在大规模节点的情况下,共识速度更快,共识速度不易受节点数量影响,可以更好的服务于面向云计算的数据溯源模型BlockCloud。
附图说明
图1是节点分类示意图。
图2是共识节点选举的方法图。
图3是区块的产生与共识方法图。
图4是改进后共识机制的整体流程图。
图5是共识机制性能分析折线图。
图6是共识机制性能对比折线图。
图7是内存使用率对比折线图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明提供的云端数据溯源区块链的共识机制改进方法通过以下步骤实现:
1)根据用户为参与共识过程贡献的云计算资源的数量,进行节点的选举,将参与共识过程的节点的集合分为见证者节点、参与者节点和交易节点三个子集;
2)区块链系统开始进行区块的产生与共识过程,见证者节点集合中的节点根据其在集合中的顺序依次产生新的区块交予参与者节点检查。如果超过百分之50的节点检查无误,则重复步骤2)的过程,直至计时器超时进行步骤1)的过程重新选举节点;如果超过百分之50的检点检查有误,则直接进行步骤1)的过程重新选举节点。
在本方法中,共识过程被分为两部分,如DPoS共识机制一样,在第一部分选出一定数量的负责生产区块的“代表”。在第二部分将“代表”生产的区块交予其它参与共识的节点加以验证。将参与到共识流程中的所有云端虚拟节点的集合定义为N,其大小为k,(k∈N*),将集合N划分为两种不同的节点集合:共识节点集合NC,大小为l,(l∈N*,l<k)和交易节点集合NT,大小为(k-l)。对于NC和NT,NC∪NT=N,由共识节点组成的子网络被称为共识网络,由交易节点组成的子网络被称为交易网络。由于每次共识都会使共识网络和交易网络中的节点发生变化,所以它们都不是静态的。共识网络从当前节点身份信息确定,至下一轮节点选举导致节点身份转变之前都将保持不变。
共识节点集合被再次划分为见证者节点集合NW,大小为m,(m∈N*,m<l)和参与者节点集合NP,大小为(l-m)。在本方法所涉及的区块链环境中,交易节点负责生成、加密和签名交易,将交易广播至区块链网络中,交易节点还负责为共识节点投票;见证者节点是根据投票得出的优胜者,即为之前提到的“代表”节点,它负责生产区块;参与者节点负责验证见证者节点所产生的区块;所有的节点都保存有完整的区块链副本。节点的分类如图1所示。
在共识过程中,共识节点NC将不被允许中途退出,只有当下一轮节点选举开始时,共识节点才可以选择退出。但如果有见证者节点产出不正确区块的现象出现,下一轮节点的选举将被立即执行。
在本方法中,每一名拥有云计算资源的用户被定义为参与区块链共识过程的节点,云用户的资源将被抵押,用于维护区块链系统的正常运转,这部分用户资源将作为传统的DPoS共识机制中用于决定节点成为区块生产者的权益量。本方法中定义了一个向量用以表示一名云计算用户拥有的总资源,其中代表CPU的总核心数,是以KB为单位的内存大小,是以Kbps为单位的网络带宽。为保证云用户的正常业务操作,本方法将根据云计算用户Ni已使用的资源量为其保留一定的资源大小本方法还为每一名云计算用户Ni设置了一个贪婪因子σi∈(0,1],用户可以通过设置σ的大小来决定要将多少空闲资源作为权益投入到区块链共识过程中。贪婪因子σi的计算公式为:
公式中的代表贪婪因子对应的CPU分量,代表贪婪因子对应的内存分量,代表贪婪因子所对应的网络带宽分量,公式中的w1,w2,w3为缩放参数,并且∑k∈{1,2,3}wk=1。引入贪婪因子的目的是为了保证云计算用户不会抵押相同的资源作为权益,为共识中的投票带来异质性。因此,权益函数被定义为:
f(R,RU,σ)=σ(R-RU) (2)
公式中的代表权益量所对应的CPU分量,代表权益量所对应的的内存分量,代表权益量所对应的网络带宽分量。参与共识的用户用作权益量抵押的资源将在每一轮共识开始时被扣除,只有当新一轮共识开始或用户被确定为交易节点且中途退出的情况下,资源才会被返还给用户。
在本方法中,对于任何一个节点(用户)Ni,(i∈[1,k])而言,其拥有的权益量的值|ai|越大,成为见证者的概率也就越高,这种概率被定义为偏向概率Pi,其计算公式为:
公式中的分子部分表示任意参加选举的节点拥有的权益量的值,分母部分代表所有共识节点拥有的权益量的值的总和,偏向概率将被用于见证者选举过程。在选举过程中,本方法引入了Raft共识机制中计时器的思想,为每一名参与见证者选举的节点准备了一个有偏计时器TIMER,TIMER使用等待时间TIMEWAIT作为上限进行计时,TIMEWAIT的最大值为MAXTO,在CloudDPoS中,MAXTO的大小被设置为一个150ms至300ms间的随机数,经实验验证,数值取该值时可以使投票结果的分布更加均匀。
TIMEWAIT的计算公式为:
TIMEWAIT=MAXTO*Pi (7)
当共识节点向交易节点发起投票申请前,每个节点将先开启各自的TIMER TIMER,在等待各自的TIMEWAIT长度的时间后方可发起投票申请。由于在本方法中,每个交易节点在每轮投票中仅能投一票,所以有偏计时器TIMER可以保证权益量大的节点有获取更多票数的机会,从而保证其有更高的概率当选为见证者。
(1)共识节点的选举过程
本方法通过共识节点的选举来完成节点集合的筛选和划分。如图2所示,共识节点的选举过程将分为以下12个步骤来完成:
1)在开始时,区块链系统将向云服务提供商CSP询问云端虚拟节点集合N中每个节点所代表的用户为维护区块链贡献的资源量,根据资源量的多少将节点排序;
2)区块链系统向排序为前l的节点发送消息<HASH(PreBlockHead),Round,Ni>,其中的Round为当前选举的轮次信息;
3)节点Ni在收到消息<HASH(PreBlockHead),Round,Ni>后,从当前的区块链中获取前一个区块的区块头部,提取其中的Round信息后,将其加1,并计算前一个区块头部的哈希值HASH(PreBlockHead);
4)节点Ni根据自己计算得出的HASH(PreBlockHead)信息与Round信息和收到的信息分别进行比较,若二者比较的结果完全一致,节点Ni会计算HASH(HASH(PreBlockHead),Round,Ni)的值,并广播消息<HASH(HASH(PreBlockHead),Round,Ni),Ni>。如果比较结果不一致,则会忽略掉此条信息;
5)在收到l条<HASH(HASH(PreBlockHead),Round,Ni),Ni>的验证消息后,系统将以(int)(Random()*l+i)作为该节点在本轮投票中的编号,并将节点集NC进行广播,节点Ni,(i∈[1,l])被划分到节点集NC中,如果收到的验证消息不足l条,系统将继续依照排名顺延发送步骤2中的消息,直至收到l条验证消息为止;
6)系统将向云服务提供商CSP确认节点所代表的用户为维护区块链贡献的资源量,锁定用户资源,并根据公式(6)计算出NC中的节点偏向成为见证者的概率{P1(Round),P2(Round),P3(Round),...,Pl(Round)},根据公式(7)计算出NC中每个节点的TIMEWAIT,为NC中的每个节点开启TIMER;
7)当节点Ni的TIMER到期后,系统将向NT中的节点发送消息<(int)(Random()*l+i),Round>;
<Message>Prk=Sign(Message,Prk) (8)
Message=Unsign(<Message>PrK,PuK) (9)
10)系统对已收到的相同的随机数(int)(Random()*l+i)进行统计,得出获得的总票数;
12)系统将见证者节点集NW进行乱序处理后与节点集NP一并广播至区块链网络中,各节点更新自身的身份,并保存节点集信息。
(2)区块的产生与共识过程
当节点的选举流程结束后,各节点的身份信息已经确定,区块链系统将开始正式的区块产生及共识过程,以完成对区块链系统中区块链的扩展。如图3所示,区块的产生及共识过程将分为以下8个步骤完成:
1)见证者节点生成一个包含了上一个区块的哈希值HASH(PreBlock),状态标签为INITIAL,节点选举轮次为Round,当前的见证者节点集合NW,生产区块的见证者节点序号,区块的时间戳TimeStamp,以及一些近期的交易TX和由交易信息生成的Merkle树的树根MerkleRoot这些内容的区块;
2)系统根据见证者节点集NW中的排序,确认下一个生产区块的见证者节点是否能够继续参与共识过程,如果确认失败将触发节点的重新选举,而确认成功的NW负责将自己生产的区块广播至区块链网络中;
3)交易节点将转发收到的而参与者节点会提取中的交易信息TX,根据自己手中与TX对应的交易信息生成Merkle树,并将生成的MerkleRoot与收到的区块中的MerkleRoot作比较,区块中的其他信息的正确性也将被比较,例如产生区块的节点顺序等;
4)如果比较结果相同,参与者节点会将自己的私钥与收到的区块作为输入,通过使用签名函数(8)签名后广播此消息。如果比较结果不相同,参与者节点将根据收到区块所提供的信息生成一个自己认为正确的区块将其与自己的私钥作为输入,通过签名函数(8)签名后广播此消息;
8)所有参与整体共识过程的节点Ni会将收到的BlockCORRECT区块添加至自身的区块链中,将收到的BlockERROR区块丢弃,区块链系统在检测到BlockERROR区块后将停止本轮的区块共识流程,开始下一轮的共识节点的选举流程。
通过多组对比实验发现,如图5所示,经本方法改进的共识机制在1000个节点的情况下,每产生一个区块大约需要7.6秒,而CloudPoS共识机制则需要更长的25.2秒,所以经本方法改进的共识机制的共识效率更高;如图6所示,经本方法改进的共识机制的共识效率随节点数量的增多下降不明显,对比随节点数量增加共识效率下降明显的CloudPoS共识机制来说,经本方法改进的共识机制对大规模节点的支持能力更强;如图7所示,经本方法改进的共识机制模拟实验程序在运行时所消耗的内存要小于CloudPoS共识机制的模拟程序,这说明CloudPoS共识机制模拟实验程序在运行中,驻留在内存中的节点间传递的区块信息及其它消息量相比于本方法改进的共识共识机制更多。由此可以得出在节点数量固定在1000的情况下,经本方法改进的共识机制对网络资源的消耗仅为CloudPoS共识机制对网络资源的消耗三分之一左右;综上所述,经本方法改进的共识机制在共识效率、对大规模节点的支持能力和对网络资源的消耗等方面均优于CloudPoS共识机制,是面向云计算的数据溯源模型BlockCloud的更优选择。
本发明将云计算资源量化为DPoS共识机制中的权益,根据权益的大小为每个节点开启一个类似于Raft共识中的有偏计时器,分散了投票的结果;结合了“一人一票”的投票方法,在提高节点选举效率的同时保证了优质云资源拥有者的当选概率;通过在共识过程中引入反馈机制,使得在共识过程中发现超过50%节点不认可的区块,立即重新开始节点选举流程,保证了区块产生的正确性。与现有的技术相比,经过本方法改进的云端数据溯源区块链共识机制在共识过程中对资源的消耗更少,在大规模节点的情况下,共识速度更快,共识速度不易受节点数量影响,可以更好的服务于面向云计算的数据溯源模型BlockCloud。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于DPoS的云端数据溯源区块链共识机制改进方法,其特征在于,包括以下步骤:
步骤1:区块链系统将向云服务提供商CSP询问云端虚拟节点集合N中每个节点所代表的用户为维护区块链贡献的资源量,根据资源量的多少从大到小将节点排序;
步骤2:区块链系统向排序为前l的节点发送消息<HASH(PreBlockHead),Round,Ni>;其中,HASH(PreBlockHead)为前一个区块头部的哈希值;Round为当前选举的轮次信息;
步骤3:收到信息的节点Ni从当前的区块链中获取前一个区块的区块头部,提取其中的Round信息后,将其加1,并计算前一个区块头部的哈希值HASH(PreBlockHead);
步骤4:若节点Ni计算得出的HASH(PreBlockHead)与Round信息和收到的信息完全一致,则节点Ni计算HASH(HASH(PreBlockHead),Round,Ni)的值,并广播消息<HASH(HASH(PreBlockHead),Round,Ni),Ni>;否则节点Ni会忽略掉此条信息;
步骤5:区块链系统将节点Ni划分到共识节点集合NC中,以(int)(Random()*l+i)作为该节点在本轮投票中的编号;
步骤6:若区块链系统收到l条<HASH(HASH(PreBlockHead),Round,Ni),Ni>的验证消息,则区块链系统将共识节点集合NC进行广播;
若区块链系统收到的验证消息不足l条,则区块链系统按照缺少的数量,依照排名顺延发送消息<HASH(PreBlockHead),Round,Ni>,返回步骤3;
步骤7:区块链系统将云端虚拟节点集合N中未进入共识节点集合NC中的节点划分为交易节点集合NT;
步骤8:区块链系统将向云服务提供商CSP确认共识节点集合NC中每个节点所代表的用户为维护区块链贡献的资源量,锁定用户资源;计算共识节点集合NC中的每个节点偏向成为见证者的概率{P1(Round),P2(Round),P3(Round),...,Pl(Round)};为共识节点集合NC中的每个节点开启TIMER;
步骤10:交易节点集合NT中的节点收到<(int)(Random()*l+i),Round>消息后,若确认Round信息无误且自身仍没有投过票,则将私钥和作为签名函数<Message>PrK=Sign(Message,PrK)的输入,计算得到后,广播消息
步骤14:区块链系统将见证者节点集合NW进行乱序处理后与参与者节点集合NP一并广播至区块链网络中,各节点更新自身的身份,并保存节点集信息;
步骤15:见证者节点集合NW中的节点生成一个区块区块中包含了上一个区块的哈希值HASH(PreBlock)、状态标签INITIAL、节点选举轮次Round、当前的见证者节点集合NW、生产区块的见证者节点序号,区块的时间戳TimeStamp、近期的交易TX和由交易信息生成的Merkle树的树根MerkleRoot;
步骤16:区块链系统根据见证者节点集合NW中的排序,确认下一个生产区块的见证者节点是否能够继续参与共识过程,如果确认失败将触发节点的重新选举,而确认成功的见证者节点集合NW负责将自己生产的区块广播至区块链网络中;
若节点中的信息与收到的区块中的所有信息完全一致,则节点将自己的私钥与收到的区块作为签名函数的输入,签名后广播此消息;否则,节点将根据收到区块所提供的信息生成一个自己认为正确的区块将与自己的私钥作为签名函数的输入,签名后广播此消息;
步骤20:所有参与整体共识过程的云端虚拟节点集合N中的节点Ni会将收到的BlockCORRECT区块添加至自身的区块链中,将收到的BlockERROR区块丢弃;区块链系统在检测到BlockERROR区块后将停止本轮的区块共识流程,开始下一轮的共识节点的选举流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438374.7A CN111683121B (zh) | 2020-05-22 | 2020-05-22 | 基于DPoS的云端数据溯源区块链共识机制改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010438374.7A CN111683121B (zh) | 2020-05-22 | 2020-05-22 | 基于DPoS的云端数据溯源区块链共识机制改进方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111683121A CN111683121A (zh) | 2020-09-18 |
CN111683121B true CN111683121B (zh) | 2022-12-13 |
Family
ID=72434319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010438374.7A Active CN111683121B (zh) | 2020-05-22 | 2020-05-22 | 基于DPoS的云端数据溯源区块链共识机制改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111683121B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766017A (zh) * | 2022-09-27 | 2023-03-07 | 国网天津市电力公司 | 一种基于权益证明的电力区块链云端部署方法及装置 |
CN116074310B (zh) * | 2022-10-10 | 2024-04-26 | 重庆邮电大学 | 基于环签名的改进的委托权益证明的区块链共识方法 |
CN117195298B (zh) * | 2023-09-18 | 2024-05-17 | 淮阴工学院 | 一种基于区块链混合共识的冷链产品溯源方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
CN110298757A (zh) * | 2019-07-05 | 2019-10-01 | 北京艾摩瑞策科技有限公司 | 涉及DPoS的共识方法及其装置 |
CN110351067A (zh) * | 2019-06-12 | 2019-10-18 | 南京理工大学 | 针对主从多链的区块链共识机制 |
WO2020001108A1 (zh) * | 2018-06-29 | 2020-01-02 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN110930158A (zh) * | 2019-11-19 | 2020-03-27 | 南京邮电大学 | 一种基于奖惩机制的区块链DPoS共识方法 |
CN111062811A (zh) * | 2019-12-02 | 2020-04-24 | 远光软件股份有限公司 | 一种区块链共识方法、系统、存储介质 |
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111131209A (zh) * | 2019-12-16 | 2020-05-08 | 国网重庆市电力公司客户服务中心 | 一种改进的高效共识方法、系统、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6976620B2 (ja) * | 2018-03-06 | 2021-12-08 | アメリコープ インベストメンツ エルエルシー | ブロックチェーンに記録された制限された情報のカスタマイズされたビュー |
-
2020
- 2020-05-22 CN CN202010438374.7A patent/CN111683121B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
WO2020001108A1 (zh) * | 2018-06-29 | 2020-01-02 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN109639837A (zh) * | 2019-01-31 | 2019-04-16 | 东南大学 | 基于信任机制的区块链DPoS共识方法 |
CN110351067A (zh) * | 2019-06-12 | 2019-10-18 | 南京理工大学 | 针对主从多链的区块链共识机制 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
CN110298757A (zh) * | 2019-07-05 | 2019-10-01 | 北京艾摩瑞策科技有限公司 | 涉及DPoS的共识方法及其装置 |
CN110930158A (zh) * | 2019-11-19 | 2020-03-27 | 南京邮电大学 | 一种基于奖惩机制的区块链DPoS共识方法 |
CN111062811A (zh) * | 2019-12-02 | 2020-04-24 | 远光软件股份有限公司 | 一种区块链共识方法、系统、存储介质 |
CN111106942A (zh) * | 2019-12-13 | 2020-05-05 | 南京邮电大学 | 一种基于ap-pbft算法的区块链信用机制 |
CN111131209A (zh) * | 2019-12-16 | 2020-05-08 | 国网重庆市电力公司客户服务中心 | 一种改进的高效共识方法、系统、计算机设备及存储介质 |
Non-Patent Citations (6)
Title |
---|
A New Election Algorithm for DPos Consensus Mechanism in Blockchain;Yinghui Luo,Yiqun Chen;《2018 7th International Conference on Digital Home》;20181231;全文 * |
Location-Aware Influence Blocking Maximiztion in Social Networks;WENLONG ZHU,WU YANG,SHICHANG XUAN;《IEEE Access》;20181015;全文 * |
一种基于权益代表的可扩展共识协议;李忠诚等;《应用科学学报》;20200130(第01期);全文 * |
区块链中的智能合约;马春光等;《信息网络安全》;20181110;全文 * |
区块链共识机制综述;杨宇光等;《信息安全研究》;20180405(第04期);全文 * |
基于"奖励制度"的DPoS共识机制改进;陈梦蓉等;《计算机科学》;20200215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111683121A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683121B (zh) | 基于DPoS的云端数据溯源区块链共识机制改进方法 | |
Yu et al. | Repucoin: Your reputation is your power | |
CN109819022A (zh) | 一种基于信用评价的区块链共识方法 | |
CN111131209B (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
CN109964242A (zh) | 一种基于信任关系的区块链共识方法 | |
CN111082943B (zh) | 一种高效的区块链共识方法 | |
CN112907252B (zh) | 一种基于多人链下通道的区块链交易方法及系统 | |
CN112104482B (zh) | 一种基于并行投票的共识方法 | |
CN113570357B (zh) | 一种动态分层的高效pbft算法 | |
CN108712468B (zh) | 一种区块链收益分配方法和分配系统 | |
CN110928951A (zh) | 一种基于区块链的数据共享及仲裁方法 | |
CN111935207A (zh) | 基于改进型c4.5算法区块链系统共识方法 | |
CN112118138B (zh) | 区块链共识机制实现系统和方法 | |
US20230017790A1 (en) | Graphic-blockchain-orientated hybrid consensus implementation apparatus and implementation method thereof | |
CN116094721A (zh) | 一种基于聚类的可扩展的分片共识算法 | |
CN111131298A (zh) | 一种基于信用去中心化的poc高效共识机制及实现方法 | |
CN114615281B (zh) | 基于小规模委员会的区块链出块方法及PoS协议确认方法 | |
Micali et al. | Optimal and player-replaceable consensus with an honest majority | |
CN115664706A (zh) | 基于双链结构的非许可区块链节点检测和激励方法及系统 | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
Mazurok et al. | Empowering Fault-Tolerant Consensus Algorithm by Economic Leverages. | |
Noreen et al. | Advanced DAG-Based Ranking (ADR) Protocol for Blockchain Scalability. | |
CN113435949B (zh) | 基于智能合约的去中心化联邦机器学习方法、系统及存储介质 | |
CN112866399B (zh) | 一种改进的pbft共识方法、装置、智能终端及存储介质 | |
CN116074310B (zh) | 基于环签名的改进的委托权益证明的区块链共识方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |