CN110677485A - 一种基于信用的动态分层拜占庭容错共识方法 - Google Patents

一种基于信用的动态分层拜占庭容错共识方法 Download PDF

Info

Publication number
CN110677485A
CN110677485A CN201910938171.1A CN201910938171A CN110677485A CN 110677485 A CN110677485 A CN 110677485A CN 201910938171 A CN201910938171 A CN 201910938171A CN 110677485 A CN110677485 A CN 110677485A
Authority
CN
China
Prior art keywords
node
consensus
nodes
message
candidate
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.)
Granted
Application number
CN201910938171.1A
Other languages
English (en)
Other versions
CN110677485B (zh
Inventor
李凤岐
刘克猛
张璐鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201910938171.1A priority Critical patent/CN110677485B/zh
Publication of CN110677485A publication Critical patent/CN110677485A/zh
Application granted granted Critical
Publication of CN110677485B publication Critical patent/CN110677485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明属于区块链共识机制技术领域,涉及一种基于信用的动态分层拜占庭容错共识方法,可用于提升区块链系统中共识机制的稳定性、可靠性以及系统性能。本发明设计了分层‑并行机制,将节点为共识节点、候选节点以及普通节点。共识节点负责参与共识写交易,候选节点负责参与共识读交易,这一过程可以提升系统整体性能;建立了信用‑惩罚机制,通过奖励可靠的节点并惩罚出错的节点来保证拥有更高信任值的节点有更高概率成为主节点;取消了视图转换协议并且实时监控共识节点的状态;提出了动态升降机制,根据节点的信用值,通过操纵共识节点集合、候选集合以及普通节点集合之间的良性循环,实现了系统的动态去中心化并保证了系统的稳定性。

Description

一种基于信用的动态分层拜占庭容错共识方法
技术领域
本发明属于区块链共识机制技术领域,涉及到改进的区块链共识机制,其中包括分层-并行机制、信用-惩罚机制以及节点动态升降机制,具体是一种基于信用的动态分层拜占庭容错共识方法,可用于提升区块链系统中共识机制的稳定性、可靠性以及系统性能。
背景技术
区块链技术是一个安全、可靠、分散的网络系统。它解决了没有第三方授权的多个实体间的信任问题,并通过智能合约实现交易,通过共识机制保障系统中的一致性。共识机制是保证区块链顺利运行的关键。目前主要有基于证明、基于权益和基于投票的三类共识机制。基于证明的共识机制常用于公有链中,通过算力搜索随机数,竞争生成区块的权利,既浪费算力资源,也导致系统吞吐量低、时延大。基于权益的共识机制通过数字货币的持有量来决定节点的权益大小,通过权益竞争生成区块的权利,虽然能够在一定程度上增加吞吐量、降低时延,但是数字货币的存在,导致其不适用于联盟链。对于联盟链来说,共识机制应能满足高吞吐量、低时延和拜占庭式容错的要求。因此,能够实现拜占庭容错的共识算法开始大规模应用于联盟链系统。第一种能够实际应用的拜占庭容错共识算法-实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)(如图1所示)是由Castro在1995年提出。但在PBFT共识算法实际应用于区块链中时,仍然存在许多问题。
首先,在PBFT中,“读”和“写”类型操作都需要达成共识。在区块链中,“读”操作并没有改变账本中的数据状态,因此并不需要共识。如果“读”和“写”操作混合在一起,就会降低系统的共识效率。同时,主节点和副本节点的串行操作验证过程占用了共识过程的大部分时间,这也增加了延迟。
其次,在PBFT中,所有的共识节点都是平等的,并且有相同的机会成为主节点,这并没有鼓励诚实的共识节点的积极性。此外,主节点是在轮转中生成的,这使得主节点更易受到攻击。
第三,在PBFT中,共识节点是固定的。系统只能通过视图转换协议“惩罚”主节点,不能检测副本节点是否可靠,也不能剔除错误的共识节点。这降低了系统的安全性和稳定性。
发明内容
为解决上述问题,本发明提出一种基于信用的动态分层拜占庭容错共识方法(Dynamic Hierarchical Byzantine Fault Tolerant Consensus Mechanism Based onCredit,DHBFT),应用于去中心化系统中,提升共识性能、增加系统的稳定性和安全性。
本发明的技术方案是:
一种基于信用的动态分层拜占庭容错共识方法,具体如下:
(1)请求阶段:客户端直接发送交易请求<REQUEST,tx,s,[ver],cjcj给候选节点或者通过普通节点,其中,tx是交易信息,s是交易操作类型,以区分读和写类型交易操作,[ver]是此项交易依赖的版本号,是一个可选项,cj是客户端序列号,<>σcj是客户端签名。
(2)交易发送阶段:当候选节点接收到交易请求时,验证交易是否有效,并判断交易的类型。候选节点广播有效的“读”操作类型交易到其他候选节点,执行并返回应答消息<REPLY,tx,s,[ver],r,cji给客户端,其中r是读操作执行结果,<>σi是候选节点签名。如果客户端收集f+1个具有相同结果的有效应答消息,客户端将确认此结果,其中f是系统能够容忍的错误节点的最大数量;如果交易是“写”操作类型,由候选节点广播有效的带有当前时间戳t的交易信息<TRANSACTION,tx,t,cji给共识节点。
(3)当共识节点接收到交易消息时,验证交易消息中候选节点签名的有效性。如果签名有效,则将交易信息存储在本地交易池中,否则将丢弃交易信息;当交易数量达到系统中设定的阈值或时间间隔达时间阈值时,主节点将交易按时间顺序排序并打包到一个新区块中。
(4)预准备阶段:主节点生成并广播一个包含区块的预准备消息到其他共识节点。预准备消息
Figure BDA0002222141480000031
中,B为新区块,h为新区块高度,d为B的摘要,p为主节点序号,PRE-PREPARE标识该消息是预准备消息,<>σp是主节点签名。
(5)如果共识节点i收到预准备消息,则验证主节点身份和区块的有效性;如果有效,共识节点i记录预准备消息中的摘要d在SLi[p]中,SLi[]为共识节点i保存预准备消息与准备消息中区块摘要的数组;然后,预执行块中的所有交易以验证交易逻辑的合法性,验证版本依赖是否满足,验证是否存在重复交易,如果交易版本依赖满足且不存在重复交易,则将准备消息
Figure BDA0002222141480000032
广播到其他共识节点,进入准备阶段,其中i是共识节点的编号,<>σi是共识节点的签名。
(6)准备阶段:共识节点i接收准备消息并将准备消息存储到本地;然后,共识节点i记录从共识节点j接收的准备消息中的区块摘要到SLi[j]中;当共识节点i接收到2f+1个准备消息时,共识节点i进入提交阶段并广播带有状态列表的提交消息给其他共识节点;提交消息如下
Figure BDA0002222141480000033
其中,SLi存储了共识节点i收到的预准备消息和准备消息中的区块摘要信息。
(7)提交阶段:当共识节点i接收到提交消息时,验证提交信息中的h、d是否相同,以及消息签名的有效性;如果共识节点i接收到2f+1个有效的提交消息,共识节点i共识状态变成commit-local状态;然后,共识节点i向候选节点和普通节点广播新区块,进入持久化存储阶段。
(8)持久化存储阶段:在验证区块的有效性后,所有共识节点将新区块附加到其本地链中,并在新区块中进行交易处理。
(9)在一轮共识结束时,所有共识节点均基于信用-惩罚机制根据从其他共识节点收到的状态列表更新信用值,并根据自适应的主节点选举方案选举新的主节点。若检测出共识节点为拜占庭节点,将触发动态升降机制,用候选集合中的候选节点代替共识集合中的节点。在新一轮共识开始之前,共识节点和候选节点清除本地交易池中已经共识的交易请求和日志中的交易消息。
所述的步骤(9)中,通过信任-惩罚机制以及自适应的主节点选取机制来保证拥有更高信任值的节点有更高概率成为主节点;并提出动态升降机制,建立Change协议与Join协议来实现系统的动态去中心化并保证了系统的稳定性;具体实现如下:
(1)信任-惩罚机制奖励可靠节点并惩罚错误节点,以确保信用值较高的节点成为主节点的可能性更大。
(1a)所有的共识节点在达到准备状态或这一轮共识超时的时候,必须对其他共识节点广播SL;共识节点可以相互进行比较以检测所有异常节点;定义三种状态的共识节点:良性、缺席和作恶。良性状态指主节点生成有效的块,并最终达成共识或副本多播一致的消息或与多数一致。缺席状态指主节点并未生成新的块,或副本因为崩溃或其他原因而未多播消息。作恶状态是指主节点多播不一致的消息给副本或副本多播不一致的消息或不同意多数。
(1b)根据共识节点状态更新共识节点的信用值:信用值是共识节点可信度的度量。C(i)是共识节点i的信用值,0≤C(i)≤1,最高信用值为1,新共识节点的信用值被初始化为Cinit=0.5;由于主节点和副本的行为在不同程度上影响了共识的过程和结果,因此使用不同的计算公式分别来计算两种节点的信用值。定义C(i,r-1)为节点i在r-1轮共识期间的信用值,则C(i,r)表示为:
当i是主节点时,
Figure BDA0002222141480000051
当i是副本时,
Figure BDA0002222141480000052
εp和εb是主节点和副本的信任值增长值,ReDp和ReDb是主节点和副本的信任值减少值。其中,0<εbp<0.1,0<ReDb<ReDp<0.27,它们的值可以根据实际情况动态调整。如果共识节点的当前状态是良性的,则信用价值将增加。当节点状态为缺席时,将降低节点的信用值,并惩罚其在共识回合中不允许成为主节点。如果节点状态是作恶,或者在惩罚期为缺席状态,则该节点信用值将被清除为零。
(1c)提出惩罚期的概念来惩罚缺席节点:定义一轮共识的时间阈值是τ,那么共识节点i必须经历惩罚期时长至少为在此期间不能成为主节点。通过调整θi,以区分对不同节点的惩罚。θi的值与共识节点i在r-1轮共识中的表现有关,计算θi的公式是:
Figure BDA0002222141480000053
其中α>1是惩罚度因子,α越小,θi越大。根据节点的状态,得到不同的惩罚时间:
如果节点状态是良性的,则
Figure BDA0002222141480000054
θi=0,此节点不需要进入惩罚期,并有资格在随后的共识过程中成为主节点。
如果节点状态为缺席,则θi>0,此节点的惩罚期为
Figure BDA0002222141480000069
此节点在惩罚期不能成为主节点。
如果节点状态是作恶,则
Figure BDA0002222141480000062
θi→∞,此节点的惩罚周期是无限的。此节点将被排除在共识集合之外,并且在候选集中投票结果最高的节点通过更换协议加入共识集合。
(1d)自适应的主节点选取机制:通过
Figure BDA0002222141480000063
计算良性节点当选主节点的概率,其中
Figure BDA0002222141480000064
Cmax为r轮中最大的信任值,
Figure BDA0002222141480000066
为r轮中平均信任值。然后,按照概率值从低到高的顺序计算每个节点的累积概率
Figure BDA0002222141480000065
应用区块头进行SHA256哈希算法获得随机数RN=StrToInt(SHA256(blockhead))mol N,其中N为区块个数;根据累计概率,最终确定当前共识轮中主节点的序号。共识节点i的累积概率满足
Figure BDA0002222141480000067
其中ε为0-1区间内的常数。
(2)动态升降机制:
(2a)在动态升降机制中提出Change协议:
当共识节点检测到某节点j是作恶状态,认为节点的惩罚周期是无限的。然后,非故障共识节点(如节点i)将多播消息切换到投票结果最高的其他共识节点和候选节点。change报文形式为<CHANGE,h,t,j,k,i>σi,其中h为当前块的高度,t为报文的有效时间,一般为一轮协商一致的时间,j为作恶节点的序列号,k为投票结果最高的候选节点的序列号。
当候选节点k接收到change消息时,验证签名和消息的有效性。如果候选节点k收集到2f+1个change消息,则生成并多播change-ack消息给共识节点。change-ack消息为<CHANGE-ACK,h,t,j,k>σk。当共识节点接收到2f+1个change-ack消息时,验证签名是否正确,消息时间是否超时,并将变更确认消息与从其他共识节点接收到的有效变更消息进行比较。
如果都有效,序列号相同,一致性节点向候选节点和普通节点广播change-reply消息,change-reply为<CHANGE-REPLY,h,j,k,i>σi。然后,系统中的节点更新其共识节点列表C0NL以及候选节点列表C1NL,候选节点k成功加入共识集。
change-reply消息广播后,共识节点将election消息<ELECTION,h,t,n>广播给普通节点和候选节点,选择获得投票数高的普通节点加入候选集,其中t是选举结束时间,n是需要选择的节点数。
(2b)在动态升降机制中提出Join协议:
普通节点接收到共识节点的有效的election消息后,向其他普通节点发送投票邀请。有三种投票选择,包括“支持”、“反对”和“弃权”。在每次选举中,普通节点只能支持或反对一个节点,或弃权。选举结束后,普通节点计算自己的投票结果,统计公式如下:
Figure BDA0002222141480000071
其中,Crediti为节点i本身的信用值,Creditj为节点j投票的信用值,Votej为节点j投票的结果。对应于“支持”、“反对”和“弃权”的值分别为1、-1和0。选举结束时,获得投票的普通节点j将多播pre-join消息<PRE-JOIN,h,t,r,V,j>σj给候选节点,其中
Figure BDA0002222141480000072
t与选举消息相同,V是节点的投票结果,是一组包含有效投票消息的集合,以证明投票结果r是有效的。当候选节点接收到pre-join消息时,将通过投票结果对普通节点进行排序。然后,各节点互相多播join消息<JOIN,h,t,L,J>σi,其中L是投票结果最高的前n个节点的信息列表,J是一个集合包括一组PRE-JOIN消息以证明这n个加入节点的信息列表是正确的。
当投票结果最高的候选节点收到2f+1个具有有效签名的join消息时,它会验证join消息中的L和J以更新加入节点列表和pre-join消息集。然后,投票结果最高的候选节点多播join-ack消息<JOIN-ACK,h,t,L′,J′>σi给其他候选节点,其中L′和J′是更新后的加入节点信息列表及pre-join消息集。当候选节点接收到join-ack消息时,验证签名是否有效,其中的join节点是投票结果最高的n个节点。如果其有效并且正确,候选节点向加入的节点发送join-reply消息<JOIN-REPLY,h,t,L,W>σi,其中W包含交易池中的“写”交易,并将join-success消息<JOIN-SUCCESS,h,t,L>σi广播给共识节点和普通节点,以更新其候选节点列表C1NL和普通节点列表ONL。
本发明的有益效果:
(1)性能优化:首次设计了分层-并行机制,将节点分为共识节点、候选节点以及普通节点。共识节点负责参与共识“写”交易,候选节点负责参与处理“读”交易,这一过程可以提升系统整体性能;
(2)系统稳定性高:提出了动态升降机制,根据节点的信用值,通过操纵共识节点集合、候补集合以及普通节点集合之间的良性循环,实现了系统的动态去中心化并保证了系统的稳定性。
(3)系统可靠性高:建立了信用-惩罚机制,通过奖励可靠的节点并惩罚出错的节点来保证拥有更高信任值的节点有更高概率成为主节点。此外,DHBFT取消了视图转换协议并且实时监控共识节点的状态。
附图说明
图1是PBFT基本共识过程示意图。
图2是本发明的联盟链系统的DHBFT共识模型示意图。
图3是本发明的DHBFT共识过程示意图。
图4是本发明中DHBFT的更换协议示意图。
图5是本发明中DHBFT的节点加入协议示意图。
具体实施方式
以下结合技术方案和附图,详细叙述本发明的具体实施方式。
为了解决现有技术中的问题,本发明提出了一种基于信用的动态分层拜占庭容错共识机方法,如图2所示,首次设计了分层-并行机制,将节点分为共识节点、候选节点以及普通节点。共识节点负责对“写”操作类型的请求进行共识,参与共识写交易;候选节点负责“读”操作类型的请求进行处理,参与共识读交易,这一过程可以提升系统整体性能;DHBFT建立了信用-惩罚机制,通过奖励良性节点并惩罚缺席、作恶节点来保证拥有更高信任值的节点有更高概率成为主节点,提升系统的可靠性。此外,DHBFT取消了视图转换协议并且实时监控共识节点的状态;DHBFT提出了动态升降机制,根据节点的信用值,通过操纵共识节点集合、候补集合以及普通节点集合之间的良性循环,实现了系统的动态去中心化并保证了系统的稳定性。
如图3,本发明的具体过程如下:
(1)请求阶段:客户端直接发送交易请求<REQUEST,tx,s,[ver],cjcj给候选节点或者通过普通节点,其中tx是交易信息,s是交易类型,以区分读和写操作,[ver]是此项交易依赖的版本号,是一个可选项,cj是客户端序列号,
<>σcj是客户端签名。
(2)交易发送阶段:当候选节点接收到交易请求时,将验证交易是否有效,并估计交易的类型。候选节点多播有效的读交易到其他候选节点,执行并返回应答消息<REPLY,tx,s,[ver],r,cji给客户端,其中r是读操作执行结果。如果客户端收集f+1个具有相同结果的有效应答消息,它将确认此结果,由候选节点广播有效的有当前时间戳的写交易信息<TRANSACTION,tx,t,cji给共识节点。
(3)当共识节点接收到交易消息时,将验证交易签名的有效性。如果签名有效,则将其存储在本地交易池中,否则将丢弃签名。当交易数量达到系统中设定的阈值或到达时间阈值时,主节点给交易排序并将交易打包到一个新的块中。
(4)预准备阶段:主节点生成并多播一个包含区块的预准备消息到其他共识节点,并将消息附加保存到其本地存储中。预准备消息
Figure BDA0002222141480000101
Figure BDA0002222141480000102
中B为新区块,h为新区块高度,d为B的摘要,p为主节点序号。
(5)如果共识节点i收到预准备消息,则验证主节点身份和区块的有效性。如果有效,共识节点i记录在SLi[p](定义其为共识节点i保存预准备消息p的数组)中摘要d。,然后,预执行块中的所有交易以验证交易逻辑的合法性,验证版本依赖是否满足,验证是否存在重复交易,如果交易版本依赖满足且不存在重复交易,则将准备消息
Figure BDA0002222141480000103
多播到其他共识节点,进入准备阶段。
(6)准备阶段:共识节点i接收准备消息并将它们添加到其本地提供的正确签名中,h是新块的高度,d是新区块的摘要。此后,共识节点i记录在从共识节点j接收的准备消息SLi[j]中块的摘要。当共识节点i接收到2f+1个准备消息时,它进入提交阶段并多播带有状态列表的提交消息给其他共识节点。提交消息如下
Figure BDA0002222141480000104
(7)提交阶段:当共识节点i接收到提交消息时,用相同的h、d和有效签名验证消息的有效性。如果共识节点接收到2f+1个有效的提交消息,他们的共识状态变成commit-local状态。然后,共识节点向候选节点和普通节点广播新块,进入持久化存储阶段。
(8)持久化存储阶段:在验证块的有效性后,所有节点将新块附加到其本地链中,并在新块中进行交易处理。然后,共识节点和候选节点清理已存储在区块链中的交易池和日志中的交易。
(9)在一轮共识结束时,所有共识节点均基于信用-惩罚机制根据从其他共识节点收到的状态列表更新信用值,并根据自适应的主节点选举方案选举新的主节点。若检测出共识节点为拜占庭节点,将触发动态升降机制,用候选集合中的候选节点代替共识集合中的节点。在新一轮共识开始之前,节点和候选节点清除本地交易池中已经共识的交易请求和日志中的交易消息。
如图4和5,本发明提出了信任-惩罚机制以及自适应的主节点选取机制来保证拥有更高信任值的节点有更高概率成为主节点,保证了系统的可靠性与稳定性。通过动态升降机制中的Change协议与Join协议来实现了系统的动态去中心化并保证了系统的稳定性。具体实现如下:
(1)信任-惩罚机制奖励可靠节点并惩罚错误节点,以确保信用值较高的节点成为主节点的可能性更大。
(1a)所有的共识节点在达到准备状态或这一轮共识超时的时候,必须对其他共识节点广播状态列表SL。共识节点可以相互进行比较以检测所有异常节点。定义三种状态的共识节点:良性、缺席和作恶。良性状态意味着主节点生成有效的块,并最终达成共识或副本多播一致的消息或与多数一致。缺席状态意味着主节点并未生成新的块,或副本因为崩溃或其他原因而未多播消息。作恶状态是指主节点多播不一致的消息给副本或副本多播不一致的消息或不同意多数。(1b)根据节点状态更新共识节点的信用值。信用值是共识节点可信度的度量。在DHBFT中,C(i)是节点i的信用值,0≤C(i)≤1,最高信用值为1。新共识节点的信用值被初始化为Cinit=0.5。由于主节点和副本的行为在不同程度上影响了共识的过程和结果,因此我们使用不同的计算公式分别来计算两种节点的信用值。定义C(i,r-1)为节点i在r-1轮共识期间的信用值,则C(i,r)可表示为:
当i是主节点时,
Figure BDA0002222141480000121
当i是副本时,
Figure BDA0002222141480000122
εp和εb是主节点和副本的信任值增长值,ReDp和ReDb是主节点和副本的信任值减少值。其中,0<εbp<0.1,0<ReDb<ReDp<0.27,它们的值可以根据实际情况动态调整。如果共识节点的当前状态是良性的,则信用价值将增加。当节点状态为缺席时,将降低节点的信用值,并惩罚其在一些共识回合中不允许成为主节点。如果节点状态是作恶,或者在惩罚期为缺席状态,则该节点信用值将被清除为零。
(1c)DHBFT提出惩罚期的概念来惩罚缺席节点。定义一轮共识的时间阈值是τ,那么共识节点i必须经历惩罚期时长至少为
Figure BDA0002222141480000126
在此期间不能成为主节点。通过调整θi,我们可以区分对不同节点的惩罚。θi的值与共识节点i在r-1轮共识中的表现有关。计算θi的公式是:
Figure BDA0002222141480000123
其中α>1是惩罚度因子,α越小,θi越大。根据节点的状态,可以得到不同的惩罚时间:
如果节点状态是良性的,则
Figure BDA0002222141480000124
θi=0,此节点不需要进入惩罚期,并有资格在随后的共识过程中成为主节点。
如果节点状态为缺席,则
Figure BDA0002222141480000125
θi>0,此节点的惩罚期为
Figure BDA0002222141480000127
这个节点在惩罚期不能成为主节点。
如果节点状态是作恶,则
Figure BDA0002222141480000131
θi→∞,这个节点的惩罚周期是无限的。此节点将被排除在共识集合之外,并且在候选集中投票结果最高的节点通过更换协议加入共识集合。
(1d)DHBFT提出自适应的主节点选取机制,通过
Figure BDA0002222141480000132
计算良性节点当选主节点的概率,其中Cmax为r轮中最大的信任值,为r轮中平均信任值。然后,按照概率值从低到高的顺序计算每个节点的累积概率应用区块头进行SHA256哈希算法获得随机数RN=StrToInt(SHA256(blockhead))mol N,其中N为区块个数;根据累计概率,最终确定当前共识轮中主节点的序号。共识节点i的累积概率满足
Figure BDA0002222141480000136
Figure BDA0002222141480000135
其中ε为0-1区间内的常数。
(2)动态升降机制:
(2a)DHBFT在动态升降机制中提出Change协议:
当共识节点检测到某节点j是作恶状态,意味着节点的惩罚周期是无限的。然后,非故障共识节点(如节点i)将多播消息切换到投票结果最高的其他共识节点和候选节点。change报文形式为<CHANGE,h,t,j,k,i>σi,其中h为当前块的高度,t为报文的有效时间,一般为一轮协商一致的时间,j为作恶节点的序列号,k为投票结果最高的候选节点的序列号。
当候选节点k接收到change消息时,验证签名和消息的有效性。如果候选节点k收集到2f+1个change消息,则生成并多播change-ack消息给共识节点。change-ack消息为<CHANGE-ACK,h,t,j,k>σk。当共识节点接收到2f+1个change-ack消息时,验证签名是否正确,消息时间是否超时,并将变更确认消息与从其他共识节点接收到的有效变更消息进行比较。
如果它们都有效,序列号相同,一致性节点向候选节点和普通节点广播change-reply消息。change-reply为<CHANGE-REPLY,h,j,k,i>σi。然后,系统中的所有节点更新其共识节点列表C0NL以及候选节点列表C1NL,这意味着候选节点k成功加入共识集。
change-reply消息广播后,共识节点将election消息<ELECTION,h,t,n>广播给普通节点和候选节点,选择获得投票数高的普通节点加入候选集,其中t是选举结束时间,n是需要选择的节点数。
(2b)DHBFT在动态升降机制中提出Join协议:
普通节点接收到共识节点的有效的election消息后,可以向其他普通节点发送投票邀请。有三种投票选择,包括“支持”、“反对”和“弃权”。在每次选举中,节点只能支持(反对)一个节点,或弃权。选举结束后,普通节点计算自己的投票结果,统计公式如下:
Figure BDA0002222141480000141
Figure BDA0002222141480000142
在上述公式中,Crediti为节点i本身的信用值,Creditj为节点j投票的信用值,Votej为节点j投票的结果。对应于“支持”、“反对”和“弃权”的值分别为1、-1和0。选举结束时,获得投票的普通节点j将多播pre-join消息
Figure BDA0002222141480000143
给候选节点,其中
Figure BDA0002222141480000144
t与选举消息相同,V是节点的投票结果,是一组包含有效投票消息的集合,以证明投票结果r是有效的。当候选节点接收到pre-join消息时,将通过投票结果对普通节点进行排序。然后,它们互相多播join消息<JOIN,h,t,L,J>σi,其中L是投票结果最高的前n个节点的信息列表,J是一组预连接消息以证明连接节点列表是正确的。
当投票结果最高的候选节点收到2f+1个具有有效签名的join消息时,它会验证join消息中的L和J以更新加入节点列表和pre-join消息集。然后,投票结果最高的候选节点多播join-ack消息<JOIN-ACK,h,t,L′,J′>σi给其他候选节点,其中L′和J′是更新后的加入节点信息列表及pre-join消息集。当候选节点接收到join-ack消息时,验证签名是否有效,其中的join节点是投票结果最高的n个节点。如果其有效并且正确,候选节点向加入的节点发送join-reply消息<JOIN-REPLY,h,t,L,W>σi,其中W包含交易池“写”交易,并将join-success消息广播给共识节点和普通节点,以更新其候选节点列表C1NL和普通节点列表ONL。

Claims (2)

1.一种基于信用的动态分层拜占庭容错共识方法,其特征在于,具体如下:
(1)请求阶段:客户端直接发送交易请求<REQUEST,tx,s,[ver],cjcj给候选节点或者通过普通节点,其中,tx是交易信息,s是交易操作类型,[ver]是此项交易依赖的版本号,cj是客户端序列号,<>σcj是客户端签名;
(2)交易发送阶段:当候选节点接收到交易请求时,验证交易是否有效,并判断交易的类型;候选节点广播有效的“读”操作类型交易到其他候选节点,执行并返回应答消息<REPLY,tx,s,[ver],r,cji给客户端,其中r是读操作执行结果,<>σi是候选节点签名;如果客户端收集f+1个具有相同结果的有效应答消息,客户端将确认此结果,其中f是系统能够容忍的错误节点的最大数量;如果交易是“写”操作类型,由候选节点广播有效的带有当前时间戳t的交易信息<TRANSACTION,tx,t,cji给共识节点;
(3)当共识节点接收到交易消息时,验证交易消息中候选节点签名的有效性;如果签名有效,则将交易信息存储在本地交易池中,否则将丢弃交易信息;当交易数量达到系统中设定的阈值或时间间隔达时间阈值时,主节点将交易按时间顺序排序并打包到一个新区块中;
(4)预准备阶段:主节点生成并广播一个包含区块的预准备消息到其他共识节点;预准备消息<<PRE-PREPARE,h,d,p>σp,B>中,B为新区块,h为新区块高度,d为B的摘要,p为主节点序号,PRE-PREPARE标识该消息是预准备消息,<>σp是主节点签名;
(5)如果共识节点i收到预准备消息,则验证主节点身份和区块的有效性;如果有效,共识节点i记录预准备消息中的摘要d在SLi[p]中,SLi[]为共识节点i保存预准备消息与准备消息中区块摘要的数组;然后,预执行块中的所有交易以验证交易逻辑的合法性,验证版本依赖是否满足,验证是否存在重复交易,如果交易版本依赖满足且不存在重复交易,则将准备消息<PREPARE,h,d,i>σi广播到其他共识节点,进入准备阶段,其中i是共识节点的编号,<>σi是共识节点的签名;
(6)准备阶段:共识节点i接收准备消息并将准备消息存储到本地;然后,共识节点i记录从共识节点j接收的准备消息中的区块摘要到SLi[j]中;当共识节点i接收到2f+1个准备消息时,共识节点i进入提交阶段并广播带有状态列表的提交消息给其他共识节点;提交消息如下<<COMMIT,h,d,i>σi,<SLii>,其中,SLi存储了共识节点i收到的预准备消息和准备消息中的区块摘要信息;
(7)提交阶段:当共识节点i接收到提交消息时,验证提交信息中的h、d是否相同,以及消息签名的有效性;如果共识节点i接收到2f+1个有效的提交消息,共识节点i共识状态变成commit-local状态;然后,共识节点i向候选节点和普通节点广播新区块,进入持久化存储阶段;
(8)持久化存储阶段:在验证区块的有效性后,所有共识节点将新区块附加到其本地链中,并在新区块中进行交易处理;
(9)在一轮共识结束时,所有共识节点均基于信用-惩罚机制根据从其他共识节点收到的状态列表更新信用值,并根据自适应的主节点选举方案选举新的主节点;若检测出共识节点为拜占庭节点,将触发动态升降机制,用候选集合中的候选节点代替共识集合中的节点;在新一轮共识开始之前,共识节点和候选节点清除本地交易池中已经共识的交易请求和日志中的交易消息。
2.根据权利要求1所述的一种基于信用的动态分层拜占庭容错共识方法,其特征在于,所述的步骤(9),具体实现过程如下:
(1)信任-惩罚机制奖励可靠节点并惩罚错误节点,以确保信用值较高的节点成为主节点的可能性更大:
(1a)所有的共识节点在达到准备状态或这一轮共识超时的时候,必须对其他共识节点广播SL;共识节点相互进行比较以检测所有异常节点;定义三种状态的共识节点:良性、缺席和作恶;良性状态指主节点生成有效的块,并最终达成共识或副本多播一致的消息或与多数一致;缺席状态指主节点并未生成新的块,或副本因为崩溃或其他原因而未多播消息;作恶状态是指主节点多播不一致的消息给副本或副本多播不一致的消息或不同意多数;
(1b)根据共识节点状态更新共识节点的信用值:信用值是共识节点可信度的度量,C(i)是共识节点i的信用值,0≤C(i)≤1,最高信用值为1,新共识节点的信用值被初始化为Cinit=0.5;定义C(i,r-1)为节点i在r-1轮共识期间的信用值,则C(i,r)表示为:
当i是主节点时,
Figure FDA0002222141470000031
当i是副本时,
Figure FDA0002222141470000032
εp和εb是主节点和副本的信任值增长值,ReDp和ReDb是主节点和副本的信任值减少值;其中,0<εbp<0.1,0<ReDb<ReDp<0.27,可根据实际情况动态调整;如果共识节点的当前状态是良性的,则信用价值将增加;当节点状态为缺席时,将降低节点的信用值,并惩罚其在共识回合中不允许成为主节点;如果节点状态是作恶,或者在惩罚期为缺席状态,则该节点信用值将被清除为零;
(1c)提出惩罚期的概念来惩罚缺席节点:定义一轮共识的时间阈值是τ,那么共识节点i必须经历惩罚期时长至少为
Figure FDA0002222141470000033
在此期间不能成为主节点;通过调整θi,以区分对不同节点的惩罚;θi的值与共识节点i在r-1轮共识中的表现有关,计算θi的公式是:其中α>1是惩罚度因子,α越小,θi越大;根据节点的状态,得到不同的惩罚时间:
如果节点状态是良性的,则
Figure FDA0002222141470000042
此节点不需要进入惩罚期,并有资格在随后的共识过程中成为主节点;
如果节点状态为缺席,则
Figure FDA0002222141470000043
此节点的惩罚期为
Figure FDA00022221414700000411
此节点在惩罚期不能成为主节点;
如果节点状态是作恶,则此节点的惩罚周期是无限的;此节点将被排除在共识集合之外,并且在候选集中投票结果最高的节点通过更换协议加入共识集合;
(1d)自适应的主节点选取机制:通过
Figure FDA0002222141470000045
计算良性节点当选主节点的概率,其中
Figure FDA0002222141470000046
Cmax为r轮中最大的信任值,
Figure FDA0002222141470000047
为r轮中平均信任值;然后,按照概率值从低到高的顺序计算每个节点的累积概率
Figure FDA0002222141470000048
应用区块头进行SHA256哈希算法获得随机数RN=StrToInt(SHA256(blockhead))molN,其中N为区块个数;根据累计概率,最终确定当前共识轮中主节点的序号;共识节点i的累积概率满足
Figure FDA0002222141470000049
其中ε为0-1区间内的常数;
(2)动态升降机制:
(2a)在动态升降机制中提出Change协议:
当共识节点检测到某节点j是作恶状态,认为节点的惩罚周期是无限的;然后,非故障共识节点将多播消息切换到投票结果最高的其他共识节点和候选节点;change报文形式为<CHANGE,h,t,j,k,i>σi,其中h为当前块的高度,t为报文的有效时间,有效时间为一轮协商一致的时间,j为作恶节点的序列号,k为投票结果最高的候选节点的序列号;
当候选节点k接收到change消息时,验证签名和消息的有效性;如果候选节点k收集到2f+1个change消息,则生成并多播change-ack消息给共识节点;change-ack消息为<CHANGE-ACK,h,t,j,k>σk;当共识节点接收到2f+1个change-ack消息时,验证签名是否正确,消息时间是否超时,并将变更确认消息与从其他共识节点接收到的有效变更消息进行比较;
如果都有效,序列号相同,则一致性节点向候选节点和普通节点广播change-reply消息,change-reply为<CHANGE-REPLY,h,j,k,i>σi;然后,系统中的所有节点更新其共识节点列表C0NL以及候选节点列表C1NL,候选节点k成功加入共识集;
change-reply消息广播后,共识节点将election消息<ELECTION,h,t,n>广播给普通节点和候选节点,选择获得投票数高的普通节点加入候选集,其中t是选举结束时间,n是需要选择的节点数;
(2b)在动态升降机制中提出Join协议:
普通节点接收到共识节点的有效的election消息后,向其他普通节点发送投票邀请;有三种投票选择,包括“支持”、“反对”和“弃权”;在每次选举中,普通节点只能支持或反对一个节点,或弃权;选举结束后,普通节点计算自己的投票结果,统计公式如下:
Figure FDA0002222141470000051
其中,Crediti为节点i本身的信用值,Creditj为节点j投票的信用值,Votej为节点j投票的结果;对应于“支持”、“反对”和“弃权”的值分别为1、-1和0;选举结束时,获得投票的普通节点j将多播pre-join消息<PRE-JOIN,h,t,r,V,j>σj给候选节点,其中h,t与选举消息相同,V是节点的投票结果,是一组包含有效投票消息的集合,以证明投票结果r是有效的;当候选节点接收到pre-join消息时,将通过投票结果对普通节点进行排序;然后,各节点互相多播join消息<JOIN,h,t,L,J>σi,其中L是投票结果最高的前n个节点的信息列表;J是一个集合,包括一组PRE-JOIN消息,以证明这n个加入节点的信息列表是正确的;
当投票结果最高的候选节点收到2f+1个具有有效签名的join消息时,会验证join消息中的L和J以更新加入节点列表和pre-join消息集;然后,投票结果最高的候选节点多播join-ack消息<JOIN-ACK,h,t,L′,J′>σi给其他候选节点,其中L′和J′是更新后的加入节点信息列表及pre-join消息集;当候选节点接收到join-ack消息时,验证签名是否有效,其中的join节点是投票结果最高的n个节点;如果其有效并且正确,候选节点向加入的节点发送join-reply消息<JOIN-REPLY,h,t,L,W>σi,其中W包含交易池中的“写”交易,并将join-success消息<JOIN-SUCCESS,h,t,L>σi广播给共识节点和普通节点,以更新其候选节点列表C1NL和普通节点列表ONL。
CN201910938171.1A 2019-09-30 2019-09-30 一种基于信用的动态分层拜占庭容错共识方法 Active CN110677485B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910938171.1A CN110677485B (zh) 2019-09-30 2019-09-30 一种基于信用的动态分层拜占庭容错共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910938171.1A CN110677485B (zh) 2019-09-30 2019-09-30 一种基于信用的动态分层拜占庭容错共识方法

Publications (2)

Publication Number Publication Date
CN110677485A true CN110677485A (zh) 2020-01-10
CN110677485B CN110677485B (zh) 2020-11-13

Family

ID=69080396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910938171.1A Active CN110677485B (zh) 2019-09-30 2019-09-30 一种基于信用的动态分层拜占庭容错共识方法

Country Status (1)

Country Link
CN (1) CN110677485B (zh)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111369244A (zh) * 2020-01-14 2020-07-03 许昌北邮万联网络技术有限公司 一种实用拜占庭容错共识方法及装置
CN111461793A (zh) * 2020-04-27 2020-07-28 吉林省桥王智能科技有限公司 基于活跃度概率选择的积分链共识方法
CN111586168A (zh) * 2020-05-06 2020-08-25 恒宝股份有限公司 水线高度的更改设置方法
CN111741061A (zh) * 2020-05-12 2020-10-02 成都芯域矩阵科技有限公司 一种基于区块链技术的电子设备广域管理系统
CN111786818A (zh) * 2020-06-16 2020-10-16 杭州溪塔科技有限公司 一种区块链共识节点状态监控方法和装置
CN111865608A (zh) * 2020-07-02 2020-10-30 南京邮电大学 一种应用于联盟链的共识机制运行方法
CN112118321A (zh) * 2020-09-24 2020-12-22 北京工业大学 一种工业区块链的实用拜占庭容错共识机制优化系统
CN112187765A (zh) * 2020-09-23 2021-01-05 深圳前海微众银行股份有限公司 一种区块链中选择目标节点的方法及装置
CN112330238A (zh) * 2020-08-06 2021-02-05 北京工业大学 基于食品供应链主体信用的改进实用拜占庭共识方法
CN112422621A (zh) * 2020-09-28 2021-02-26 国网信息通信产业集团有限公司北京分公司 基于pbft区块链技术的多站融合电力数据共识方法和装置
CN112487491A (zh) * 2020-10-31 2021-03-12 远光软件股份有限公司 一种区块链系统的控制方法及相关装置
CN112714177A (zh) * 2020-12-24 2021-04-27 天津科技大学 一种具有线性消息复杂度的pbft改进算法
CN112769936A (zh) * 2021-01-11 2021-05-07 电子科技大学 一种基于投票与信用机制的povt共识算法
CN112991066A (zh) * 2021-04-27 2021-06-18 支付宝(杭州)信息技术有限公司 联盟链中的共识方法、装置和电子设备
CN113037504A (zh) * 2021-05-28 2021-06-25 北京邮电大学 基于分片的无授权区块链架构下的节点激励方法及系统
CN113191772A (zh) * 2021-04-12 2021-07-30 西安交通大学 一种基于分层模型的联盟链的共识方法
CN113259179A (zh) * 2021-06-18 2021-08-13 杭州云智声智能科技有限公司 一种基于节点评分的拜占庭容错共识方法与系统
CN113781218A (zh) * 2021-09-03 2021-12-10 桂林电子科技大学 基于特征信任的分组pbft共识算法
CN113992398A (zh) * 2021-10-26 2022-01-28 湖南大学 一种改进的pbft共识算法
CN114024974A (zh) * 2021-10-28 2022-02-08 上海应用技术大学 用于化工厂易燃气体监测系统的pbft算法改进方法
CN114048517A (zh) * 2022-01-14 2022-02-15 北京大学深圳研究生院 区块链的双通道共识系统和方法、计算机可读存储介质
CN114157672A (zh) * 2021-11-29 2022-03-08 北京航空航天大学 一种基于pbft的s-pbft简化共识协议运行及并行优化方法
CN114416766A (zh) * 2022-03-29 2022-04-29 深圳市一航网络信息技术有限公司 实用计算能力证明共识方法、装置、电子设备及存储介质
CN114448980A (zh) * 2022-01-06 2022-05-06 上海应用技术大学 面向物联网的pbft算法的改进方法
CN114466024A (zh) * 2022-02-21 2022-05-10 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于新型PoM共识算法的分布式账本系统及方法
CN114598475A (zh) * 2022-01-24 2022-06-07 浙江甲骨文超级码科技股份有限公司 基于fabric的拜占庭容错共识算法及系统
CN114615288A (zh) * 2022-01-18 2022-06-10 华南理工大学 一种基于量子拜占庭共识协议的新型区块链系统
CN114615002A (zh) * 2020-12-03 2022-06-10 中国移动通信集团设计院有限公司 运营商关键基础设施被控识别方法及系统
CN115022326A (zh) * 2022-06-17 2022-09-06 中国人民解放军战略支援部队信息工程大学 基于协同过滤推荐的区块链拜占庭容错共识方法
CN115051985A (zh) * 2022-04-01 2022-09-13 重庆邮电大学 一种基于动态节点的拜占庭容错共识协议的数据共识方法
CN115174565A (zh) * 2022-05-18 2022-10-11 国网河南省电力公司信息通信公司 一种基于区块链分片技术的共识方法及装置
CN115276999A (zh) * 2022-06-10 2022-11-01 大连理工大学 一种基于信任模型的自适应切换高效容错共识方法
CN117037988A (zh) * 2023-08-22 2023-11-10 广州视景医疗软件有限公司 一种基于区块链的电子病历存储方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616596A (zh) * 2018-05-09 2018-10-02 南京邮电大学 基于动态授权和网络环境感知的区块链自适应共识方法
CN109347804A (zh) * 2018-09-19 2019-02-15 电子科技大学 一种用于区块链的拜占庭容错共识优化方法
US20190075022A1 (en) * 2016-10-28 2019-03-07 International Business Machines Corporation Changing an existing blockchain trust configuration
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
CN109767199A (zh) * 2018-12-10 2019-05-17 西安电子科技大学 基于信誉的pbft共识系统及方法、区块链数据处理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190075022A1 (en) * 2016-10-28 2019-03-07 International Business Machines Corporation Changing an existing blockchain trust configuration
CN108616596A (zh) * 2018-05-09 2018-10-02 南京邮电大学 基于动态授权和网络环境感知的区块链自适应共识方法
CN109347804A (zh) * 2018-09-19 2019-02-15 电子科技大学 一种用于区块链的拜占庭容错共识优化方法
KR101975822B1 (ko) * 2018-10-26 2019-05-08 (주)리그시스템 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법
CN109767199A (zh) * 2018-12-10 2019-05-17 西安电子科技大学 基于信誉的pbft共识系统及方法、区块链数据处理系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XU HAO ; LONG YU ; LIU ZHIQIANG ; LIU ZHEN ; GU DAWU: ""Dynamic Practical Byzantine Fault Tolerance"", 《2018 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY (CNS)》 *
刘肖飞: "" 基于动态授权的拜占庭容错共识算法的区块链性能改进研究"", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111369244A (zh) * 2020-01-14 2020-07-03 许昌北邮万联网络技术有限公司 一种实用拜占庭容错共识方法及装置
CN111461793A (zh) * 2020-04-27 2020-07-28 吉林省桥王智能科技有限公司 基于活跃度概率选择的积分链共识方法
CN111461793B (zh) * 2020-04-27 2023-10-10 吉林省桥王智能科技有限公司 基于活跃度概率选择的积分链共识方法
CN111586168A (zh) * 2020-05-06 2020-08-25 恒宝股份有限公司 水线高度的更改设置方法
CN111741061A (zh) * 2020-05-12 2020-10-02 成都芯域矩阵科技有限公司 一种基于区块链技术的电子设备广域管理系统
CN111741061B (zh) * 2020-05-12 2023-03-28 深圳市正能信息技术有限公司 一种基于区块链技术的电子设备广域管理系统
CN111786818A (zh) * 2020-06-16 2020-10-16 杭州溪塔科技有限公司 一种区块链共识节点状态监控方法和装置
CN111786818B (zh) * 2020-06-16 2023-04-18 杭州溪塔科技有限公司 一种区块链共识节点状态监控方法和装置
US11968106B2 (en) 2020-06-16 2024-04-23 Hangzhou Rivtower Technology Co., Ltd Method and apparatus for monitoring state of blockchain consensus node
CN111865608B (zh) * 2020-07-02 2022-08-26 南京邮电大学 一种应用于联盟链的共识机制运行方法
CN111865608A (zh) * 2020-07-02 2020-10-30 南京邮电大学 一种应用于联盟链的共识机制运行方法
CN112330238A (zh) * 2020-08-06 2021-02-05 北京工业大学 基于食品供应链主体信用的改进实用拜占庭共识方法
CN112187765A (zh) * 2020-09-23 2021-01-05 深圳前海微众银行股份有限公司 一种区块链中选择目标节点的方法及装置
CN112187765B (zh) * 2020-09-23 2023-04-07 深圳前海微众银行股份有限公司 一种区块链中选择目标节点的方法及装置
WO2022063013A1 (zh) * 2020-09-23 2022-03-31 深圳前海微众银行股份有限公司 一种区块链中选择目标节点的方法及装置
CN112118321A (zh) * 2020-09-24 2020-12-22 北京工业大学 一种工业区块链的实用拜占庭容错共识机制优化系统
CN112118321B (zh) * 2020-09-24 2023-06-06 北京工业大学 一种工业区块链的实用拜占庭容错共识机制优化系统
CN112422621A (zh) * 2020-09-28 2021-02-26 国网信息通信产业集团有限公司北京分公司 基于pbft区块链技术的多站融合电力数据共识方法和装置
CN112487491A (zh) * 2020-10-31 2021-03-12 远光软件股份有限公司 一种区块链系统的控制方法及相关装置
CN114615002B (zh) * 2020-12-03 2024-02-27 中国移动通信集团设计院有限公司 运营商关键基础设施被控识别方法及系统
CN114615002A (zh) * 2020-12-03 2022-06-10 中国移动通信集团设计院有限公司 运营商关键基础设施被控识别方法及系统
CN112714177B (zh) * 2020-12-24 2022-11-29 天津科技大学 一种具有线性消息复杂度的pbft改进算法
CN112714177A (zh) * 2020-12-24 2021-04-27 天津科技大学 一种具有线性消息复杂度的pbft改进算法
CN112769936A (zh) * 2021-01-11 2021-05-07 电子科技大学 一种基于投票与信用机制的povt共识算法
CN113191772B (zh) * 2021-04-12 2023-06-20 西安交通大学 一种基于分层模型的联盟链的共识方法
CN113191772A (zh) * 2021-04-12 2021-07-30 西安交通大学 一种基于分层模型的联盟链的共识方法
CN112991066A (zh) * 2021-04-27 2021-06-18 支付宝(杭州)信息技术有限公司 联盟链中的共识方法、装置和电子设备
CN113037504A (zh) * 2021-05-28 2021-06-25 北京邮电大学 基于分片的无授权区块链架构下的节点激励方法及系统
CN113259179A (zh) * 2021-06-18 2021-08-13 杭州云智声智能科技有限公司 一种基于节点评分的拜占庭容错共识方法与系统
CN113259179B (zh) * 2021-06-18 2021-10-19 杭州云智声智能科技有限公司 一种基于节点评分的拜占庭容错共识方法与系统
CN113781218A (zh) * 2021-09-03 2021-12-10 桂林电子科技大学 基于特征信任的分组pbft共识算法
CN113992398A (zh) * 2021-10-26 2022-01-28 湖南大学 一种改进的pbft共识算法
CN114024974B (zh) * 2021-10-28 2024-03-29 上海应用技术大学 用于化工厂易燃气体监测系统的pbft算法改进方法
CN114024974A (zh) * 2021-10-28 2022-02-08 上海应用技术大学 用于化工厂易燃气体监测系统的pbft算法改进方法
CN114157672A (zh) * 2021-11-29 2022-03-08 北京航空航天大学 一种基于pbft的s-pbft简化共识协议运行及并行优化方法
CN114157672B (zh) * 2021-11-29 2022-10-28 北京航空航天大学 一种基于pbft的s-pbft简化共识协议运行及并行优化方法
CN114448980A (zh) * 2022-01-06 2022-05-06 上海应用技术大学 面向物联网的pbft算法的改进方法
CN114448980B (zh) * 2022-01-06 2023-09-01 上海应用技术大学 面向物联网的pbft算法的改进方法
CN114048517A (zh) * 2022-01-14 2022-02-15 北京大学深圳研究生院 区块链的双通道共识系统和方法、计算机可读存储介质
CN114048517B (zh) * 2022-01-14 2022-05-20 北京大学深圳研究生院 区块链的双通道共识系统和方法、计算机可读存储介质
CN114615288B (zh) * 2022-01-18 2023-03-21 华南理工大学 一种基于量子拜占庭共识协议的新型区块链系统
CN114615288A (zh) * 2022-01-18 2022-06-10 华南理工大学 一种基于量子拜占庭共识协议的新型区块链系统
CN114598475B (zh) * 2022-01-24 2022-11-01 浙江甲骨文超级码科技股份有限公司 基于fabric的拜占庭容错共识方法及系统
CN114598475A (zh) * 2022-01-24 2022-06-07 浙江甲骨文超级码科技股份有限公司 基于fabric的拜占庭容错共识算法及系统
CN114466024A (zh) * 2022-02-21 2022-05-10 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于新型PoM共识算法的分布式账本系统及方法
CN114466024B (zh) * 2022-02-21 2024-02-13 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于新型PoM共识算法的分布式账本系统及方法
CN114416766A (zh) * 2022-03-29 2022-04-29 深圳市一航网络信息技术有限公司 实用计算能力证明共识方法、装置、电子设备及存储介质
CN115051985A (zh) * 2022-04-01 2022-09-13 重庆邮电大学 一种基于动态节点的拜占庭容错共识协议的数据共识方法
CN115051985B (zh) * 2022-04-01 2024-01-12 深圳瑞泰信资讯有限公司 一种基于动态节点的拜占庭容错共识协议的数据共识方法
CN115174565B (zh) * 2022-05-18 2023-08-15 国网河南省电力公司信息通信公司 一种基于区块链分片技术的共识方法及装置
CN115174565A (zh) * 2022-05-18 2022-10-11 国网河南省电力公司信息通信公司 一种基于区块链分片技术的共识方法及装置
CN115276999B (zh) * 2022-06-10 2024-03-22 大连理工大学 一种基于信任模型的自适应切换高效容错共识方法
CN115276999A (zh) * 2022-06-10 2022-11-01 大连理工大学 一种基于信任模型的自适应切换高效容错共识方法
CN115022326A (zh) * 2022-06-17 2022-09-06 中国人民解放军战略支援部队信息工程大学 基于协同过滤推荐的区块链拜占庭容错共识方法
CN115022326B (zh) * 2022-06-17 2023-05-16 中国人民解放军战略支援部队信息工程大学 基于协同过滤推荐的区块链拜占庭容错共识方法
CN117037988A (zh) * 2023-08-22 2023-11-10 广州视景医疗软件有限公司 一种基于区块链的电子病历存储方法及装置
CN117037988B (zh) * 2023-08-22 2024-05-17 广州视景医疗软件有限公司 一种基于区块链的电子病历存储方法及装置

Also Published As

Publication number Publication date
CN110677485B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN110677485B (zh) 一种基于信用的动态分层拜占庭容错共识方法
CN111355810B (zh) 一种基于信誉与投票机制的改进pbft共识方法
CN110784346B (zh) 一种基于信誉值的pbft共识系统及方法
CN112039964B (zh) 一种基于区块链的节点信誉共识方法
CN111106942A (zh) 一种基于ap-pbft算法的区块链信用机制
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
US20050132154A1 (en) Reliable leader election in storage area network
CN113570357B (zh) 一种动态分层的高效pbft算法
CN111010278B (zh) 一种基于DPoS高容错分层共识方法
CN113660125B (zh) 一种基于随机可信委员会的共识方法及装置
CN114157672B (zh) 一种基于pbft的s-pbft简化共识协议运行及并行优化方法
Ganesh et al. Broadcast extensions with optimal communication and round complexity
CN112636905A (zh) 基于多角色的可扩展共识机制的系统及方法
CN112019380B (zh) 一种基于权益激励的结合Raft和PBFT算法的区块链共识方法
CN113014635A (zh) 区块链系统的节点类型划分方法、装置及区块链系统
CN113781218A (zh) 基于特征信任的分组pbft共识算法
CN115065468A (zh) 一种基于分组信誉值的pbft共识优化方法
CN117439998A (zh) 一种面向物联网的联盟链共识协议优化方法
CN116633942A (zh) 一种高速响应客户端的拜占庭容错共识方法
CN115841382A (zh) 一种虚拟电厂交易区块链及其信用评价方法及其共识机制
CN117812084A (zh) 一种基于UTXO的Raft共识算法改进方法
CN110555764A (zh) 一种去中心化环境下区块链达成一致性的方法及系统
CN115883578A (zh) 一种基于区块链技术的5g电力网络节点信任管理方法
Jiménez-Peris et al. A low-latency non-blocking commit service
CN114301598A (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