CN111342971A - 一种拜占庭共识方法和系统 - Google Patents

一种拜占庭共识方法和系统 Download PDF

Info

Publication number
CN111342971A
CN111342971A CN202010082631.8A CN202010082631A CN111342971A CN 111342971 A CN111342971 A CN 111342971A CN 202010082631 A CN202010082631 A CN 202010082631A CN 111342971 A CN111342971 A CN 111342971A
Authority
CN
China
Prior art keywords
message
phase
view
consensus
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.)
Granted
Application number
CN202010082631.8A
Other languages
English (en)
Other versions
CN111342971B (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.)
XINGTANG COMMUNICATION TECHNOLOGY CO LTD
Data communication science and technology research institute
Original Assignee
XINGTANG COMMUNICATION TECHNOLOGY CO LTD
Data communication science and technology research institute
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 XINGTANG COMMUNICATION TECHNOLOGY CO LTD, Data communication science and technology research institute filed Critical XINGTANG COMMUNICATION TECHNOLOGY CO LTD
Priority to CN202010082631.8A priority Critical patent/CN111342971B/zh
Publication of CN111342971A publication Critical patent/CN111342971A/zh
Application granted granted Critical
Publication of CN111342971B publication Critical patent/CN111342971B/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
    • 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/3271Cryptographic 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 using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • 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
    • 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

Abstract

本发明涉及一种拜占庭共识方法和系统,属于区块链技术领域,解决了现有技术中三阶段共识的性能明显逊于非拜占庭共识,以及很难平衡拜占庭共识一致性和鲜活性,所以很难在性能、容错率和网络环境中达到一个折衷的问题。拜占庭共识方法,包括提议阶段和接下来的准备阶段,其中,准备阶段包括:对消息进行第一次投票和广播;接收消息并验证其合法性;以及统计合法的第一次投票数量N1,当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。实现了三阶段共识进化为两阶段共识,且能够满足一致性和鲜活性,因此在性能、容错率和网络环境中达到一个很好的折衷。

Description

一种拜占庭共识方法和系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种拜占庭共识方法和系统。
背景技术
在区块链系统中,为了防止系统中的恶意行为、诚实节点的不响应以及网络延迟等因素,区块链系统必须采用共识算法来保证链上数据的一致性。可以说,共识是区块链系统的核心,没有共识,区块链系统将无法正常运行。在分布式系统中,共识一般分为非拜占庭共识和拜占庭共识,非拜占庭共识是指只允许节点无响应的共识,而拜占庭共识是指允许存在任意恶意行为的共识。如果不考虑节点的恶意行为,在实际应用中,非拜占庭共识足以应对;然而在跨公司、跨境甚至是跨国的分布式系统中,这种无恶意行为的假设往往是不成立的,故对拜占庭共识的研究非常重要。
目前PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)共识在联盟链中广泛使用,其共识过程需要三个阶段。PBFT虽然有非常好的容错率,但性能明显逊于Raft等非拜占庭共识。拜占庭共识满足的安全性质是一致性和鲜活性。一致性(consistency):只要存在诚实节点确认某个区块,则该区块肯定会被其他所有诚实节点确认。鲜活性(liveness):当诚实节点收到某个消息后,该消息能很快被系统所有诚实节点确认。一致性和鲜活性在分布式系统中是对立的概念。如果分布式系统只对空消息进行共识,那么一致性肯定满足,但此时有意义的消息得不到确认进而鲜活性不满足;如果分布式系统对所有消息达成共识,则鲜活性肯定满足,但消息的不一致性以及系统中节点对消息的排序不一致将导致一致性不满足。
因而现有技术中存在三阶段拜占庭共识的性能明显逊于非拜占庭共识,以及很难平衡拜占庭共识一致性和鲜活性,所以根据FLP不可能原理,在性能、容错率和网络环境中达到一个折衷是具有挑战性的技术问题。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种拜占庭共识方法和系统,用以解决现有三阶段拜占庭共识的性能明显逊于非拜占庭共识,以及很难平衡拜占庭共识一致性和鲜活性,所以根据FLP不可能原理,在性能、容错率和网络环境中达到一个折衷具有挑战性的技术问题。
一方面,本发明实施例提供了一种拜占庭共识方法,包括提议阶段和接下来的准备阶段,其中,准备阶段包括:对消息进行第一次投票和广播;接收消息并验证其合法性;以及统计合法的第一次投票数量N1,当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
上述技术方案的有益效果如下:在半同步网络环境下,当节点收到足够多的对某个消息的准备阶段投票时,该节点直接对此消息达成确认,加速达成共识,从而将拜占庭环境下的三阶段共识进化为两阶段共识,而且该拜占庭共识能够满足一致性和鲜活性,因此在性能、容错率和网络环境中达到一个折衷。
上述进一步改进方案的有益效果是:与现有技术相比较,当第一次投票数量N1大于等于3.5f+1时,就直接确认该消息而不需要接下来的确认阶段,能够提高共识速度。
基于上述方法的进一步改进,直接在准备阶段确认消息包括:将N1个第一次投票作为消息的确认凭证
Figure BDA0002380860210000021
并将接受凭证
Figure BDA0002380860210000022
设置为空集;以及将轮次s加1并重置触发器T。
基于上述方法的进一步改进,接收消息并验证其合法性包括:接收消息<prepare,s,v,h>M,其中,<prepare,s,v,h>M为准备阶段的消息;检查轮次s是否小于本地轮次;检查保存的消息
Figure BDA0002380860210000031
和准备阶段的消息中的s、v和h是否一致,其中,
Figure BDA0002380860210000032
为提议阶段的消息;以及检查准备阶段的消息中的签名的合法性,其中,当合法性通过时,存储准备阶段的消息,其中,v为视图以及h为消息集{m}的哈希值,L为出块节点,M为生成准备消息的节点。
基于上述方法的进一步改进,拜占庭共识方法还包括:当N1大于等于2.5f+1且小于3.5f+1时,将N1个第一次投票更新为消息<prepare,s,v,h>M的接受凭证
Figure BDA0002380860210000033
然后进入确认阶段,其中,<prepare,s,v,h>M为准备阶段的消息,其中,确认阶段还包括:生成消息<commit,s,v,h>M并对其进行第二次投票和广播,其中,<commit,s,v,h>M为确认阶段的消息;接收确认阶段的消息并验证合法性;统计合法的第二次投票数量N2,当N2大于等于2.5f+1时,将N2个第二次投票作为消息的确认凭证
Figure BDA0002380860210000034
并将接受凭证
Figure BDA0002380860210000035
设置为空集;以及将轮次s加1并重置触发器T,其中,v为视图,h为消息集的哈希值,以及M为生成确认阶段的消息的节点。
上述进一步改进方案的有益效果是:在N1大于等于2.5f+1且小于3.5f+1时,需要进入确认阶段,以保障该拜占庭共识方法的安全性。
基于上述方法的进一步改进,提议阶段包括:与轮次s和视图v相对应的出块者L生成消息
Figure BDA0002380860210000036
并将消息
Figure BDA0002380860210000037
和消息集{m}广播给其他节点,其中,
Figure BDA0002380860210000038
为提议阶段的消息;以及接收提议阶段的消息并验证合法性,验证合法性包括:验证提议阶段的消息的合法性;验证接受凭证
Figure BDA0002380860210000039
的合法性,其中,当接受凭证
Figure BDA00023808602100000310
合法时,保存提议阶段的消息;以及接收消息集{m}并判断消息集{m}的哈希值是否等于h,其中,当消息集{m}的哈希值等于h时,一起存储消息
Figure BDA00023808602100000311
和消息集{m},其中,h为消息集{m}的哈希值h。
基于上述方法的进一步改进,当合法的所述接受凭证
Figure BDA0002380860210000041
为非空集合时,检验轮次s与本地轮次的大小关系并进行相应的处理包括:当轮次s小于本地轮次时,不处理;当轮次s等于本地轮次时,将收到的接受凭证
Figure BDA0002380860210000042
的视图与本地接受凭证的视图进行比较,当收到的接受凭证
Figure BDA0002380860210000043
的视图更小时,不处理;当收到的接受凭证
Figure BDA0002380860210000044
的视图等于本地接受凭证的视图时,判断h是否匹配;以及当收到的接受凭证
Figure BDA0002380860210000045
的视图更大时,用收到的接受凭证
Figure BDA0002380860210000046
更新本地接受凭证;以及当轮次s大于本地轮次时,用收到的接受凭证
Figure BDA0002380860210000047
更新本地接受凭证。
基于上述方法的进一步改进,当节点M的触发器T超过3Δ且轮次s的消息没有得到确认时,进入视图转换阶段,视图转换阶段包括:生成消息
Figure BDA0002380860210000048
并发送给与轮次s和视图v+1相对应的出块者L′,其中,
Figure BDA0002380860210000049
为视图转换阶段的消息;重置触发器T;以及当出块者L′收到视图转换阶段的消息的数量大于2.5f+1以后,用轮次号最大的接受凭证
Figure BDA00023808602100000410
来更新本地接受凭证并且用确认凭证
Figure BDA00023808602100000411
来补充本地轮次至轮次s之间没有确认的消息,其中,
Figure BDA00023808602100000412
为轮次s-1的确认凭证,Δ为最大网络延迟。
上述进一步改进方案的有益效果是:当节点M的触发器T超过3Δ且轮次s的消息没有得到确认时,进入视图转换阶段,加速共识以避免共识过程长时间无响应。
拜占庭共识方法还包括在视图转换阶段之后的再提议阶段,再提议阶段包括:将至少2.5f+1个视图转换阶段的消息打包并生成消息
Figure BDA00023808602100000413
其中,
Figure BDA00023808602100000414
为再提议阶段的消息;验证再提议阶段的消息的合法性并更新本地的确认凭证
Figure BDA00023808602100000415
和接受凭证
Figure BDA00023808602100000416
以及当触发器T的计时大于2Δ并且轮次s的消息没有得到确认时,则重新开始视图转换阶段。
上述进一步改进方案的有益效果是:当节点M的触发器T超过3Δ且轮次s的消息没有得到确认时,进入视图转换阶段和再提议阶段,加速共识以避免系统长时间无响应。
另一方面,本发明实施例提供了一种拜占庭共识系统,包括:发送模块,用于对消息进行第一次投票和广播;接收模块,用于接收消息;验证模块,用于验证消息的合法性;计数模块,用于统计合法的第一次投票数量N1,以及确认模块,用于当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
与现有技术相比,本发明至少可实现如下有益效果之一:
1、在半同步网络环境下,当节点收到足够多的对某个消息的准备阶段投票时,该节点直接对此消息达成确认,加速达成共识;
2、首次将拜占庭环境下的三阶段共识进化为两阶段共识;
3、该拜占庭共识能够满足一致性和鲜活性,因此在性能、容错率和网络环境中达到一个折衷;
4、拜占庭节点较多的情况下,通过设置触发器T等条件,加速共识以避免系统长时间无响应。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为根据本发明的实施例的拜占庭共识方法的流程图;
图2为根据本发明的实施例的拜占庭共识方法的阶段结构图。
图3为根据本发明的实施例的拜占庭共识方法的提议阶段的具体流程图;
图4为根据本发明的实施例的拜占庭共识系统的结构图。
附图标记:
202-提议阶段;204-准备阶段;206-确认阶段;402-发送模块;404-接收模块;406-验证模块;408-计数模块;410-确认模块;
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种拜占庭共识方法,包括提议(propose)阶段和接下来的准备阶段(prepare)。如图1所示,准备阶段包括:步骤S102,对消息进行第一次投票和广播,具体地,区块链上的节点M在收到合法的提议阶段的消息
Figure BDA0002380860210000061
后,产生准备阶段的消息<prepare,s,v,h>M并对该准备阶段的消息进行第一次投票并将该准备阶段的消息广播给全网所有节点;步骤S104,接收消息并验证其合法性,具体地,区块链上的节点接收该准备阶段的消息并验证其合法性;以及步骤S106,区块链上的节点统计合法的第一次投票数量N1,当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f(f为大于零的整数)为拜占庭节点(区块链网络的记账共识和拜占庭将军问题是相似的。参与共识记账的每一个记账节点相当于将军,节点之间的消息传递相当于信使,某些节点可能由于各种原因而产生错误的信息并传达给其他节点。通常,这些发生故障节点被称为拜占庭节点)的个数。
与现有技术相比,本实施例提供的拜占庭共识方法,在半同步网络环境下,当节点收到足够多(大于等于3.5f+1个)的对某个消息的准备阶段第一次投票时,该节点直接对此消息进行确认,加速达成共识,从而将拜占庭环境下的三阶段共识进化为两阶段共识,而且该拜占庭共识能够满足一致性和鲜活性,因此在性能、容错率和网络环境中达到一个折衷。
下面介绍本文共识的环境假设,即参与共识节点所处的环境假设。首先介绍两个概念,最大网络延迟Δ和实际网络延迟δ。
最大网络延迟Δ:某个节点将消息广播给其他节点,则经过Δ时间之后,其他节点必定收到该消息。
实际网络延迟δ:网络的实际延迟,当节点广播消息后,在经过δ时间之后,不保证其他节点全都能收到该消息。
一般来说δ<<Δ。根据网络延迟,拜占庭共识通常分为同步共识和异步共识。同步共识容忍少于1/2的恶意节点,此时要求共识的每个阶段的消息广播能确保被所有节点接收到;而异步共识容忍少于1/3的恶意节点,此时共识的每个阶段是根据事件触发的,即当满足一定条件后从当前阶段进入下一阶段。为了减少异步共识的复杂性,简化异步共识的流程,许多学者在设计共识时假设半同步环境,即Δ是确定的,但实际运行是在异步环境中(即消息的传输延时由δ刻画),Δ的确定可以避免异步环境的拜占庭共识停滞不前。本文的共识假设是半同步的网络环境。
如图2所示,拜占庭共识方法包括:提议阶段202、准备阶段204以及可选的确认阶段206。根据节点收到的第一次投票数量来确定是否进行可选的确认阶段206,具体地,当节点收到的第一次投票数量小于4f+1并且大于等于3.5f+1时,拜占庭共识方法仅包括提议阶段202和准备阶段204而不包括可选的确认阶段206,即,在准备阶段204直接确认;当节点收到的第一次投票数量大于等于2.5f+1并且小于3.5f+1时,拜占庭共识方法包括提议阶段202、准备阶段204以及可选的确认阶段206。例如,当f为40时,当节点收到的第一次投票数量小于161并且大于等于141时,拜占庭共识方法仅包括提议阶段202和准备阶段204,也就是说,第一次投票数量在该区间内时不需要可选的确认阶段206而是在准备阶段204直接确认;当节点收到的第一次投票数量大于等于101并且小于141时,拜占庭共识方法包括提议阶段202、准备阶段204以及可选的确认阶段206。类似地,在f为44、45、46、47…的情况下,根据第一次投票数量也具有两个共识阶段或三个共识阶段。
下文中,参考图1至图3,分别对拜占庭共识方法的提议阶段、准备阶段和确认阶段进行详细描述。首先,将对拜占庭共识方法的提议阶段进行详细描述。
如图3所示,提议阶段包括:步骤S302,与轮次s(其中,s大于等于1)和视图v(其中,v大于等于1)相对应的出块者L(挖矿是一种周期性的竞争行为,根据共识算法不同,对于每个挖矿周期,从矿工中选择“优胜者”的方式也有所不同,通常我们称这些“优胜者”为当前周期“出块者”)生成消息
Figure BDA0002380860210000081
并将消息
Figure BDA0002380860210000082
和消息集{m}广播给其他节点,其中,
Figure BDA0002380860210000083
为提议阶段的消息;步骤S304,接收提议阶段的消息并验证合法性,验证合法性包括:验证提议阶段的消息的合法性;验证接受凭证
Figure BDA0002380860210000084
的合法性,其中,当接受凭证
Figure BDA0002380860210000085
合法时,保存提议阶段的消息;以及步骤S306,接收消息集{m}并判断消息集{m}的哈希值是否等于h,其中,当消息集{m}的哈希值等于h时,一起存储消息
Figure BDA0002380860210000086
和消息集{m},其中,h为消息集{m}的哈希值h。
在拜占庭共识方法中,当合法的接受凭证
Figure BDA0002380860210000087
为非空集合时,检验轮次s与本地轮次的大小关系并进行相应的处理包括:当轮次s小于本地轮次时,不处理;当轮次s等于本地轮次时,将收到的接受凭证
Figure BDA0002380860210000088
的视图与本地接受凭证的视图进行比较,当收到的接受凭证
Figure BDA0002380860210000089
的视图更小时,不处理;当收到的接受凭证
Figure BDA00023808602100000810
的视图等于本地接受凭证的视图时,判断h是否匹配;以及当收到的接受凭证
Figure BDA0002380860210000091
的视图更大时,用收到的接受凭证
Figure BDA0002380860210000092
更新本地接受凭证;以及当轮次s大于本地轮次时,用收到的接受凭证
Figure BDA0002380860210000093
更新本地接受凭证。
首先,下面以具体实例的方式对拜占庭共识方法的提议阶段进行详细描述。
设参与共识的节点个数n=4f+1,令轮次s的接受凭证
Figure BDA0002380860210000094
和确认凭证
Figure BDA0002380860210000095
初始都为空集。每个节点维护一个触发器T,当进入新视图时,T重置为零。触发器T超过某个时间后,节点进入视图转换阶段。具体的共识达成过程如下:
提议阶段:每轮开始时,由当前轮次和当前视图所唯一确定的出块者L收集消息并广播给其余节点,其余节点验证消息合法性之后,进入下一个阶段。具体过程为:
(1)令轮次s的接受凭证为
Figure BDA0002380860210000096
视图为v。当
Figure BDA0002380860210000097
为空集时,当前轮次当前视图的出块者L选择合法的消息集{m}并计算该消息集的哈希(例如用国密算法sm3对这些消息的字节流做哈希运算);否则出块者L选择
Figure BDA0002380860210000098
中蕴含的哈希值h以及该哈希值对应的消息集{m};
(2)出块者L(即,开始节点)根据当前的轮次s、视图v、接受凭证
Figure BDA0002380860210000099
以及消息集{m}对应的哈希值h构造消息并对该消息签名,得到<propose,s,v,As,h>L,然后将{m}和<propose,s,v,As,h>L广播给全网所有共识节点;
(3)节点M(区块链上除了出块者L之外的任意非拜占庭节点)在收到<propose,s,v,As,h>L后,根据轮次s和视图v确定出块者L并验证消息签名的合法性;
(4)当合法性验证通过后,验证接受凭证
Figure BDA00023808602100000910
的合法性以及合法的接受凭证
Figure BDA00023808602100000911
是否蕴含h(当
Figure BDA00023808602100000912
为空时,不用验证这一步);如果合法,则节点M记录该消息<propose,s,v,As,h>L;否则不予处理。
(5)当接受凭证
Figure BDA0002380860210000101
非空时,检验轮次s与本地轮次的大小关系,并分情况进行处理。
(a)如果轮次s小于本地轮次,则不予处理;
(b)如果等于,则比较收到接受凭证
Figure BDA0002380860210000102
蕴含的视图与本地接受凭证
Figure BDA0002380860210000103
蕴含的视图v大小:如果收到接受凭证
Figure BDA0002380860210000104
蕴含的视图更小,则不予处理;如果相等,则判断蕴含的h是否匹配—如果不匹配,则共识终止;如果收到接受凭证
Figure BDA0002380860210000105
蕴含的视图更大,则用其接受凭证
Figure BDA0002380860210000106
更新本地消息接受凭证;
(c)如果大于,则用接受凭证
Figure BDA0002380860210000107
更新本地消息接受凭证:如果在轮次s之前有消息没有得到确认(即轮次s之前存在消息没有达成共识,则此时该节点滞后于其他节点),则该节点向其他节点询问那些未被确认的消息(即那些轮次没有确认的消息需要通过询问其他节点来补充)(即广播该询问消息)。
(6)如果M收到消息集{m},则判断{m}的哈希是否等于h,如果等于则将
Figure BDA0002380860210000108
与{m}绑定(即,一起存储)。
以上是对拜占庭共识方法的提议阶段的详细描述,接下来将对拜占庭共识方法的准备阶段进行详细描述。
如图1所示,准备阶段包括:步骤S102,对消息进行第一次投票和广播,具体地,区块链上的节点M在收到合法的提议阶段的消息
Figure BDA0002380860210000109
后,产生装备阶段的消息<prepare,s,v,h>M并对该准备阶段的消息进行第一次投票并将该准备阶段的消息广播给全网所有节点;步骤S104,接收消息并验证其合法性,具体地,区块链上的节点接收该准备阶段的消息并验证其合法性;以及步骤S106,区块链上的节点统计合法的第一次投票数量N1(其中,N1为大于等于0的整数),当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
具体地,直接在准备阶段确认消息包括:将N1个第一次投票作为消息的确认凭证
Figure BDA0002380860210000111
并将接受凭证
Figure BDA0002380860210000112
设置为空集;以及将轮次s加1并重置触发器T。
具体地,接收消息并验证其合法性包括:接收消息<prepare,s,v,h>M,其中,<prepare,s,v,h>M为准备阶段的消息;检查轮次s是否小于本地轮次;检查保存的消息
Figure BDA0002380860210000113
和准备阶段的消息中的s、v和h是否一致,其中,
Figure BDA0002380860210000114
为准备阶段之前的提议阶段的消息;以及检查准备阶段的消息中的签名的合法性,其中,当合法性通过时,存储准备阶段的消息,其中,v为视图以及h为消息集{m}的哈希值,L和M为生成准备阶段的消息的节点。拜占庭共识方法还包括:当N1大于等于2.5f+1且小于3.5f+1时,将N1个第一次投票更新为消息<prepare,s,v,h>M的接受凭证
Figure BDA0002380860210000115
然后进入确认阶段,其中,<prepare,s,v,h>M为准备阶段的消息。
下文中,以具体实例的方式对拜占庭共识的准备阶段进行详细描述。
当所有检查通过后,对消息进行第一次投票并广播。当节点(即,区块链上收到消息的所有节点,下文中,统称为节点)收到至少2.5f+1个对该消息的第一次投票后,该节点修改状态并接受该消息,这至少2.5f+1个第一次投票为该消息的接受凭证
Figure BDA0002380860210000116
当节点收到至少3.5f+1个对该消息的第一次投票后,该节点直接确认该消息,这至少3.5f+1个第一次投票为该消息的确认凭证
Figure BDA0002380860210000117
此时共识只需两个阶段即可达成。
具体过程为:
(1)节点M收到合法的
Figure BDA0002380860210000118
后,产生<prepare,s,v,h>M并将其广播给全网所有节点;
(2)节点收到<prepare,s,v,h>M后,验证该消息的合法性,即检查轮次s是否小于本地轮次(如果小于则忽略该消息),检查保存的
Figure BDA0002380860210000121
和<prepare,s,v,h>M中的s,v和h是否一致,以及检查投票的合法性。当合法性通过后,将<prepare,s,v,h>M保存;
(3)当节点收到至少2.5f+1个匹配并合法的<prepare,s,v,h>M后,更新接受凭证<prepare,s,v,h>M
(4)当节点收到至少3.5f+1个匹配并合法的<prepare,s,v,h>M后,直接对h进行确认(即当前轮次对应的确认消息为h),然后构造确认凭证
Figure BDA0002380860210000122
并令
Figure BDA0002380860210000123
(即,
Figure BDA0002380860210000124
为空集);
(5)将s增加1并重置触发器T。
以上是对拜占庭共识方法的准备阶段的详细描述。下文中,将对拜占庭共识方法的确认阶段进行详细描述。
确认阶段还包括:生成消息<commit,s,v,h>M并对其进行第二次投票和广播,其中,<commit,s,v,h>M为确认阶段的消息;接收确认阶段的消息并验证合法性;统计合法的第二次投票数量N2(其中,N2为大于等于0的整数),当N2大于等于2.5f+1时,将N2个第二次投票作为消息的确认凭证
Figure BDA0002380860210000125
并将接受凭证
Figure BDA0002380860210000126
设置为空集;以及将轮次s加1并重置触发器T,其中,v为视图,h为消息集的哈希值,以及M为生成确认阶段的消息的节点。
下文中,将以具体实例的方式对确认阶段进行详细描述。
确认阶段:当所有检查通过后,对消息<prepare,s,v,h>M进行第二次投票并广播。当节点收到超过2.5f+1个合法的第二次投票后,该节点确认该消息,这至少2.5f+1个第二次投票为该消息的确认凭证。具体过程为:
(1)节点M收到至少2.5f+1个匹配并合法的<prepare,s,v,h>M后,产生<commit,s,v,h>M并将其广播给全网所有节点;
(2)节点收到<commit,s,v,h>M后,验证该消息的合法性,即检查s是否小于本节点的轮次号(如果小于则忽略该消息),检查
Figure BDA0002380860210000127
和<commit,s,v,h>M中的s,v和h是否一致,以及检查投票的合法性。当合法性通过后,将<commit,s,v,h>M保存;
(3)当节点收到超过2.5f+1个合法的<commit,s,v,h>M后,对h进行确认,然后构造已确认的消息凭证
Figure BDA0002380860210000131
并令
Figure BDA0002380860210000132
(4)将s增加1并重置触发器T。
以上是对拜占庭共识方法的确认阶段进行的详细描述。拜占庭共识方法还包括视图转换阶段和再提议阶段。具体地,如果当前轮次当前视图一直没有消息得到确认,则需要进入视图转换阶段和再提议阶段这两个阶段。下文中,将对这两个阶段进行详细描述。
当节点M的触发器T超过3Δ且轮次s的消息没有得到确认时,进入视图转换阶段,所述视图转换阶段包括:生成消息
Figure BDA0002380860210000133
并发送给与所述轮次s和视图v+1相对应的出块者L′,其中,
Figure BDA0002380860210000134
为视图转换阶段的消息;重置触发器T;以及当所述出块者L′收到所述视图转换阶段的消息的数量大于2.5f+1以后,用轮次号最大的接受凭证
Figure BDA0002380860210000135
来更新本地接受凭证并且用确认凭证
Figure BDA0002380860210000136
来补充本地轮次至所述轮次s之间没有确认的消息,其中,
Figure BDA0002380860210000137
为轮次s-1的确认凭证,Δ为最大网络延迟。
拜占庭共识方法还包括在视图转换阶段之后的再提议阶段,再提议阶段包括:将至少2.5f+1个视图转换阶段的消息打包并生成消息
Figure BDA0002380860210000138
其中,
Figure BDA0002380860210000139
为再提议阶段的消息;验证再提议阶段的消息的合法性并更新本地的确认凭证
Figure BDA00023808602100001310
和接受凭证
Figure BDA00023808602100001311
以及当触发器T的计时大于2Δ并且轮次s的消息没有得到确认时,则重新开始视图转换阶段。
下文中,以具体实例的方式对视图转换阶段和再提议阶段进行详细描述。
视图转换阶段:节点发出视图转换的请求并发送给当前轮次新视图对应的出块者。当新出块者收到至少2.5f+1个合法的视图转换请求后,更新本地状态。具体过程为:
(1)当节点M的触发器T超过3Δ且当前轮次s的消息没有得到确认时,产生消息
Figure BDA0002380860210000141
并将其发送给当前轮次s新视图v+1下的新出块者L′;
(2)将触发器T重置;
(3)新出块者L′收到超过2.5f+1个合法的
Figure BDA0002380860210000142
(即签名合法,
Figure BDA0002380860210000143
Figure BDA0002380860210000144
合法,s和v对应的出块者确实是L′)后,用轮次号最大的
Figure BDA0002380860210000145
来更新本地接受消息凭证(如果
Figure BDA0002380860210000146
有多个,选择视图最大的
Figure BDA0002380860210000147
),并且用这些确认凭证来补充本地轮次至轮次s之间没有确认的消息。
再提议阶段:新出块者将这至少2.5f+1个视图转换请求消息打包并生成再提议消息,然后广播给所有节点。收到再提议消息的所有节点更新自己的状态,然后在新的视图里继续共识。具体过程为:
(1)L′将收到的至少2.5f+1个合法的视图转换消息打包并产生消息
Figure BDA0002380860210000148
广播给全网所有节点;
(2)当节点收到
Figure BDA0002380860210000149
后,验证消息的合法性并更新本地的
Figure BDA00023808602100001410
Figure BDA00023808602100001411
其更新方式与视图转换阶段中新出块者的更新方式一致;
(3)如果节点的触发器T超过2Δ′(初始值为2Δ′),则产生新的
Figure BDA00023808602100001412
并将其发送给(s,v+2)对应的新出块者,并且重新开始视图转换过程;然后重置触发器并令Δ′:=2Δ′(初始值为Δ)。
下文中,将参照图4,对拜占庭共识系统进行描述。
拜占庭共识系统包括:发送模块402,用于对消息进行第一次投票和广播;接收模块404,用于接收消息;验证模块406,用于验证消息的合法性;计数模块408,用于统计合法的第一次投票数量N1,以及确认模块410,用于当N1大于等于3.5f+1时,直接在准备阶段确认消息而不需要接下来的确认阶段,其中,参加拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
拜占庭共识系统的其他模块还包括接受凭证模块、确认凭证模块、触发器模块、轮次设置模块、生成模块、比较模块等。拜占庭共识系统的其他模块与拜占庭共识方法相对应,因此,为了避免赘述,这里未对其进行详细描述。
本发明的实施例所提供的拜占庭共识方法和系统,具有以下技术效果:(1)在半同步网络环境下,当节点收到足够多的对某个消息的准备投票时,该节点直接在准备阶段对此消息达成确认而不需要接下来的确认阶段,加速达成共识;(2)该共识首次做到将拜占庭环境下的三阶段共识进化为两阶段共识;(3)该共识满足一致性和鲜活性。因此,能够通过将节点收到的第一次投票数量设置3.5f+1,实现性能、容错率和网络环境中达到一个折衷。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种拜占庭共识方法,包括提议阶段和接下来的准备阶段,其特征在于,所述准备阶段包括:
对消息进行第一次投票和广播;
接收所述消息并验证其合法性;以及
统计合法的第一次投票数量N1,当所述N1大于等于3.5f+1时,直接在所述准备阶段确认所述消息而不需要接下来的确认阶段,其中,参加所述拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
2.根据权利要求1所述的拜占庭共识方法,其特征在于,直接在所述准备阶段确认所述消息包括:
将所述N1个第一次投票作为所述消息的确认凭证
Figure FDA0002380860200000011
并将接受凭证
Figure FDA0002380860200000012
设置为空集;以及
将轮次s加1并重置触发器T。
3.根据权利要求1所述的拜占庭共识方法,其特征在于,接收所述消息并验证其合法性包括:
接收消息<prepare,s,v,h>M,其中,<prepare,s,v,h>M为准备阶段的消息;
检查轮次s是否小于本地轮次;
检查保存的消息
Figure FDA0002380860200000013
和所述准备阶段的消息中的s、v和h是否一致,其中,
Figure FDA0002380860200000014
为所述提议阶段的消息;以及
检查所述准备阶段的消息中的签名的合法性,其中,当所述合法性通过时,存储所述准备阶段的消息,其中,v为视图以及h为消息集{m}的哈希值,L为出块节点,M为生成准备阶段的消息的节点。
4.根据权利要求1所述的拜占庭共识方法,其特征在于,还包括:当所述N1大于等于2.5f+1且小于3.5f+1时,将N1个第一次投票更新为消息<prepare,s,v,h>M的接受凭证
Figure FDA0002380860200000015
然后进入所述确认阶段,其中,<prepare,s,v,h>M为准备阶段的消息,其中,
所述确认阶段还包括:
生成消息<commit,s,v,h>M并对其进行第二次投票和广播,其中,<commit,s,v,h>M为确认阶段的消息;
接收所述确认阶段的消息并验证合法性;
统计合法的第二次投票数量N2,当所述N2大于等于2.5f+1时,将N2个第二次投票作为所述消息的确认凭证
Figure FDA0002380860200000021
并将所述接受凭证
Figure FDA0002380860200000022
设置为空集;以及
将轮次s加1并重置触发器T,其中,v为视图,h为消息集的哈希值,以及M为生成确认阶段的消息的节点。
5.根据权利要求1所述的拜占庭共识方法,其特征在于,所述提议阶段包括:
与轮次s和视图v相对应的出块者L生成消息
Figure FDA0002380860200000023
并将所述消息
Figure FDA0002380860200000024
和消息集{m}广播给其他节点,其中,
Figure FDA0002380860200000025
为提议阶段的消息;
接收所述提议阶段的消息并验证合法性;以及
接收消息集{m}并判断所述消息集{m}的哈希值是否等于h,其中,当所述消息集{m}的哈希值等于所述h时,一起存储所述消息
Figure FDA0002380860200000026
和所述消息集{m},其中,h为所述消息集{m}的哈希值h。
6.根据权利要求5所述的拜占庭共识方法,其特征在于,验证所述合法性包括:
验证所述提议阶段的消息的合法性;
验证接受凭证
Figure FDA0002380860200000027
的合法性,其中,当所述接受凭证
Figure FDA0002380860200000028
合法时,保存所述提议阶段的消息。
7.根据权利要求6所述的拜占庭共识方法,其特征在于,当合法的所述接受凭证
Figure FDA0002380860200000029
为非空集合时,检验所述轮次s与本地轮次的大小关系并进行相应的处理包括:
当所述轮次s小于所述本地轮次时,不处理;
当所述轮次s等于所述本地轮次时,将收到的接受凭证
Figure FDA00023808602000000210
的视图与本地接受凭证的视图进行比较,
当所述收到的接受凭证
Figure FDA00023808602000000211
的视图更小时,不处理;
当所述收到的接受凭证
Figure FDA0002380860200000031
的视图等于所述本地接受凭证的视图时,判断h是否匹配;以及
当所述收到的接受凭证
Figure FDA0002380860200000032
的视图更大时,用所述收到的接受凭证
Figure FDA0002380860200000033
更新所述本地接受凭证;以及
当所述轮次s大于所述本地轮次时,用所述收到的接受凭证
Figure FDA0002380860200000034
更新所述本地接受凭证。
8.根据权利要求1所述的拜占庭共识方法,其特征在于,当节点M的触发器T超过3Δ且轮次s的消息没有得到确认时,进入视图转换阶段,所述视图转换阶段包括:
生成消息
Figure FDA0002380860200000035
并发送给与所述轮次s和视图v+1相对应的出块者L′,其中,
Figure FDA0002380860200000036
为视图转换阶段的消息;
重置触发器T;以及
当所述出块者L′收到所述视图转换阶段的消息的数量大于等于2.5f+1以后,用轮次号最大的接受凭证
Figure FDA0002380860200000037
来更新本地接受凭证并且用接收到的确认凭证来补充本地轮次至所述轮次s之间没有确认的消息,其中,
Figure FDA0002380860200000038
为轮次s-1的确认凭证,Δ为最大网络延迟。
9.根据权利要求8所述的拜占庭共识方法,其特征在于,还包括在所述视图转换阶段之后的再提议阶段,所述再提议阶段包括:
将至少2.5f+1个所述视图转换阶段的消息打包并生成消息
Figure FDA0002380860200000039
其中,
Figure FDA00023808602000000310
为再提议阶段的消息;
验证所述再提议阶段的消息的合法性并更新本地的确认凭证
Figure FDA00023808602000000311
和接受凭证
Figure FDA00023808602000000312
以及
当所述触发器T的计时大于2Δ并且所述轮次s的消息没有得到确认时,则重新开始所述视图转换阶段。
10.一种拜占庭共识系统,其特征在于,包括:
发送模块,用于对消息进行第一次投票和广播;
接收模块,用于接收所述消息;
验证模块,用于验证所述消息的合法性;
计数模块,用于统计合法的所述第一次投票数量N1;以及
所述确认模块,用于当所述N1大于等于3.5f+1时,直接在所述准备阶段确认所述消息而不需要接下来的确认阶段,其中,参加所述拜占庭共识的节点个数为4f+1,f为拜占庭节点的个数。
CN202010082631.8A 2020-02-07 2020-02-07 一种拜占庭共识方法和系统 Active CN111342971B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010082631.8A CN111342971B (zh) 2020-02-07 2020-02-07 一种拜占庭共识方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010082631.8A CN111342971B (zh) 2020-02-07 2020-02-07 一种拜占庭共识方法和系统

Publications (2)

Publication Number Publication Date
CN111342971A true CN111342971A (zh) 2020-06-26
CN111342971B CN111342971B (zh) 2023-08-08

Family

ID=71186818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010082631.8A Active CN111342971B (zh) 2020-02-07 2020-02-07 一种拜占庭共识方法和系统

Country Status (1)

Country Link
CN (1) CN111342971B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522800A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统
CN113114613A (zh) * 2020-12-29 2021-07-13 上海能链众合科技有限公司 一种区块链容错共识的流水线处理方法
CN113542285A (zh) * 2021-07-19 2021-10-22 东南大学 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
CN113660272A (zh) * 2021-08-18 2021-11-16 北京航空航天大学 抗拜占庭排序的异步共识方法及装置
EP3934166A1 (en) * 2020-07-03 2022-01-05 Alipay (Hangzhou) Information Technology Co., Ltd. Byzantine fault tolerance algorithm-based blockchain consensus method, apparatus, and system
CN114565388A (zh) * 2022-04-29 2022-05-31 腾讯科技(深圳)有限公司 共识轮次的更新方法、装置、电子设备及存储介质
CN114861233A (zh) * 2022-04-19 2022-08-05 湖南天河国云科技有限公司 一种无需可信第三方的分片异步拜占庭容错共识方法和装置
WO2023078072A1 (zh) * 2021-11-04 2023-05-11 京东科技信息技术有限公司 基于拜占庭容错的异步共识方法、装置、服务器和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445711A (zh) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
WO2019004480A1 (ja) * 2017-06-30 2019-01-03 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
CN109194493A (zh) * 2018-08-13 2019-01-11 北京邮电大学 一种信息管理系统、方法及装置
CN109600323A (zh) * 2018-11-12 2019-04-09 中山大学 一种拜占庭共识机制
CN109766673A (zh) * 2019-01-18 2019-05-17 四川大学 一种联盟式音视频版权区块链系统及音视频版权上链方法
CN109960512A (zh) * 2017-12-25 2019-07-02 中移信息技术有限公司 一种软件部署方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445711A (zh) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
WO2019004480A1 (ja) * 2017-06-30 2019-01-03 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
CN109960512A (zh) * 2017-12-25 2019-07-02 中移信息技术有限公司 一种软件部署方法及系统
CN109194493A (zh) * 2018-08-13 2019-01-11 北京邮电大学 一种信息管理系统、方法及装置
CN109600323A (zh) * 2018-11-12 2019-04-09 中山大学 一种拜占庭共识机制
CN109766673A (zh) * 2019-01-18 2019-05-17 四川大学 一种联盟式音视频版权区块链系统及音视频版权上链方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张维忠;徐步尘;高飞;: "对用电信息保护的拜占庭容错联盟链共识算法" *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303430B2 (en) 2020-07-03 2022-04-12 Alipay (Hangzhou) Information Technology Co., Ltd. Byzantine fault tolerance algorithm-based blockchain consensus method, apparatus, and system
CN111522800B (zh) * 2020-07-03 2020-10-30 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统
CN111522800A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统
EP3934166A1 (en) * 2020-07-03 2022-01-05 Alipay (Hangzhou) Information Technology Co., Ltd. Byzantine fault tolerance algorithm-based blockchain consensus method, apparatus, and system
US11271799B2 (en) 2020-07-03 2022-03-08 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain consensus method, node, and system based on honey badger byzantine fault tolerance consensus mechanism
CN113114613A (zh) * 2020-12-29 2021-07-13 上海能链众合科技有限公司 一种区块链容错共识的流水线处理方法
CN113114613B (zh) * 2020-12-29 2023-05-02 上海零数众合信息科技有限公司 一种区块链容错共识的流水线处理方法
CN113542285A (zh) * 2021-07-19 2021-10-22 东南大学 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
CN113542285B (zh) * 2021-07-19 2022-06-28 东南大学 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
CN113660272B (zh) * 2021-08-18 2022-06-21 北京航空航天大学 抗拜占庭排序的异步共识方法及装置
CN113660272A (zh) * 2021-08-18 2021-11-16 北京航空航天大学 抗拜占庭排序的异步共识方法及装置
WO2023078072A1 (zh) * 2021-11-04 2023-05-11 京东科技信息技术有限公司 基于拜占庭容错的异步共识方法、装置、服务器和介质
CN114861233A (zh) * 2022-04-19 2022-08-05 湖南天河国云科技有限公司 一种无需可信第三方的分片异步拜占庭容错共识方法和装置
CN114861233B (zh) * 2022-04-19 2023-12-19 湖南天河国云科技有限公司 一种无需可信第三方的分片异步拜占庭容错共识方法和装置
CN114565388A (zh) * 2022-04-29 2022-05-31 腾讯科技(深圳)有限公司 共识轮次的更新方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111342971B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN111342971A (zh) 一种拜占庭共识方法和系统
CN110784346B (zh) 一种基于信誉值的pbft共识系统及方法
US10833919B2 (en) Node device operation method, work status switching apparatus, node device, and medium
US20230092484A1 (en) Block chain-based block consensus method and related device
EP3848844A1 (en) Method and apparatus for data synchronization of multiple nodes, and computer device
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
JP2020512708A (ja) 分散システム、メッセージ処理方法、ノード、クライアント及び記憶媒体
CN112600678B (zh) 一种数据处理方法、装置、设备及存储介质
Li et al. An extensible consensus algorithm based on PBFT
Abraham et al. Efficient synchronous byzantine consensus
CN111683118B (zh) 基于区块链的共识方法、装置、主节点设备及从节点设备
CN111582843A (zh) 一种基于聚合签名的区块链隐私交易方法
CN113783699B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112597241A (zh) 一种基于区块链的分布式数据库存储方法及系统
Wang et al. Byzantine fault tolerant algorithm based on vote
CN109919760A (zh) 基于投票机制的拜占庭容错共识算法
He et al. An improvement of consensus fault tolerant algorithm applied to alliance chain
CN114936253A (zh) 区块链的共识方法及装置、电子设备、存储介质
CN113157450B (zh) 在区块链系统中执行区块的方法及装置
CN114140233A (zh) 分片区块链安全跨片视图转换方法及装置
CN111970370B (zh) 基于面向通信设备体系的多层区块链协议拓展系统及方法
CN112994891A (zh) 一种基于门限签名的交易请求共识方法和系统
CN116232893A (zh) 分布式系统的共识方法、装置、电子设备及存储介质
CN110555764A (zh) 一种去中心化环境下区块链达成一致性的方法及系统
CN114499874A (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