CN115174090A - 区块链共识方法及装置 - Google Patents
区块链共识方法及装置 Download PDFInfo
- Publication number
- CN115174090A CN115174090A CN202210549682.6A CN202210549682A CN115174090A CN 115174090 A CN115174090 A CN 115174090A CN 202210549682 A CN202210549682 A CN 202210549682A CN 115174090 A CN115174090 A CN 115174090A
- Authority
- CN
- China
- Prior art keywords
- block chain
- epoch
- consensus
- node
- blockchain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- OLBCVFGFOZPWHH-UHFFFAOYSA-N propofol Chemical compound CC(C)C1=CC=CC(C(C)C)=C1O OLBCVFGFOZPWHH-UHFFFAOYSA-N 0.000 description 2
- 229960004134 propofol Drugs 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
-
- 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/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种区块链共识方法及装置,其中方法包括:对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在当前时期epoch广播的提议消息后进入下一时期epoch;对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。本发明可以有效提高共识效率和交易吞吐量。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及区块链共识方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
共识问题是容错分布式计算中最基本的问题之一。共识的实现使得分布式系统中的全部进程可以就某一共同的值达成一致。BFT共识问题是由Lamport,Shostak,与Pease在拜占庭错误的背景下正式提出的,经过学界、工业界数十年的研究,被广泛应用于分布式系统中。近几年随着区块链技术的兴起,BFT协议被认为是联盟链的标准模型。
经典的拜占庭容错(BFT)状态机复制(SMR)协议依赖于一个稳定的领导者来实现驱动协议,其他副本对领导者提出的提议进行投票,直到视图发生更改。假设共识系统共包含n=3f+1个节点,现有的BFT协议中,无论需要几轮投票来达成共识,针对某个区块,领导人都需要收集至少2f+1个来自不同副本的投票来形成针对该区块的证书(certificate),存在共识效率低、交易吞吐量低的问题。
因此,亟需一种可以克服上述问题的区块链共识方案。
发明内容
本发明实施例提供一种区块链共识方法,用以进行区块链共识,提高共识效率和交易吞吐量,该方法包括:
对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
本发明实施例提供一种区块链共识装置,用以进行区块链共识,提高共识效率和交易吞吐量,该装置包括:
交易传输模块,用于对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
节点共识模块,用于对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链共识方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链共识方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述区块链共识方法。
本发明实施例通过对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。本发明实施例中交易并行传输不再成为共识效率瓶颈,对于异步网络中的每个区块链副本节点,在当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后形成该区块链副本节点在当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在当前时期epoch广播的提议消息后进入下一时期epoch,进而对于异步网络中的每个区块链副本节点在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后进行区块链共识,也即使用一个BFT共识实例就可以对来自2f+1个区块链副本节点打包的交易完成共识,有效提高共识效率和交易吞吐量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中区块链共识方法示意图;
图2为本发明实施例中交易传输部分示意图;
图3为本发明实施例中交易传输部分伪代码示意图;
图4为本发明实施例中节点共识部分示意图;
图5为本发明实施例中节点共识部分伪代码示意图;
图6为本发明实施例中区块链共识装置结构图;
图7是本发明实施例的计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如前所述,现有的BFT协议中,无论需要几轮投票来达成共识,针对某个区块,领导人都需要收集至少2f+1个来自不同副本的投票来形成针对该区块的证书,存在共识效率低、交易吞吐量低的问题。
为了进行区块链共识,提高共识效率和交易吞吐量,本发明实施例提供一种区块链共识方法,如图1所示,该方法可以包括:
步骤101、对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
步骤102、对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
由图1所示可以得知,本发明实施例通过对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。本发明实施例中交易并行传输不再成为共识效率瓶颈,对于异步网络中的每个区块链副本节点,在当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后形成该区块链副本节点在当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在当前时期epoch广播的提议消息后进入下一时期epoch,进而对于异步网络中的每个区块链副本节点在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后进行区块链共识,也即使用一个BFT共识实例就可以对来自2f+1个区块链副本节点打包的交易完成共识,有效提高共识效率和交易吞吐量。
发明人发现,可以利用弱证书(仅包含f+1个投票)构建高效的BFT框架(Star)。Star将批量交易传输与共识实例实现一致性的过程完全分离,使得交易并行传输不再成为共识系统的效率瓶颈。在交易传输阶段,Star允许流线式交易传输。在共识阶段,Star仅使用一个BFT共识实例就可以并行对来自n-f个副本打包的交易完成共识,大大提高了共识效率。与其他该类共识框架相比,Star实现了更低的通信复杂度和消息复杂度(O(n2))。BFT网络模型可分为:同步网络、半异步网络、异步网络。STAR是不同网络环境下都可以使用的一个共识框架。
下面对每个步骤进行详细分析。
在步骤101中,对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点。
在一个实施例中,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,包括:
在该区块链副本节点对应的当前时期epoch采用预设共识协议交易广播模式广播该区块链副本节点对应的提议消息,其中所述共识协议交易广播模式包括链式模式和非链式模式;
若共识协议交易广播模式为链式模式,则所述区块链副本节点对应的提议消息中还携带该区块链副本节点在前一时期epoch对应的弱证书,所述区块链副本节点在当前时期epoch对应的弱证书携带在下一时期epoch广播的提议消息中;
若共识协议交易广播模式为非链式模式,则在形成该区块链副本节点在当前时期epoch对应的弱证书后立即进行广播。
在一个实施例中,所述当前时期epoch从待决交易队列中选取的提议信息,包括:
该区块链副本节点在对应的当前时期epoch采用随机选择算法与先进先出FIFO算法的结合选择算法从待决交易队列中选取的提议信息。
在一个实施例中,区块链共识方法还包括:
对于异步网络中的每个区块链副本节点,在接收到其他区块链副本节点广播的提议消息时,向所述其他区块链副本节点发送提议消息对应的签名投票信息。
下面给出一个具体实施例,说明本发明交易传输部分的工作流程。
图2为本发明实施例中交易传输部分示意图,如图2所示,交易传输针对每个时期epoch进行,交易传输过程是完全并行的,可以在异步网络下工作。在每个时期epoch中,全部副本都可以打包交易提出自己的提议,收集f+1投票形成弱证书,并将弱证书进行广播。对每个副本,这个过程被称为一次弱一致广播(wCBC)。每个时期epoch由n个并行的wCBC实例组成。每个时期epoch中,当副本收到2f+1个来自不同副本的提议及对自己提出提议的弱证书后,进入下一个时期epoch,继续提出新的交易提议。在此基础上,我们的协议支持流线式交易处理,即将每个时期epoch的弱证书广播与下一时期epoch的提议广播两个过程进行结合。
图3为本发明实施例中交易传输部分伪代码示意图,如图3所示,每个副本pi(i∈[0...n-1])运行initepoch(e)开启新时期epoch e。副本pi对待决交易队列Q运行选择select算法,从Q中选择一组事务作为提议,即代码中的b。为确保协议活性,选择select算法将随机选择与经典的先进先出(FIFO)算法进行结合。随后pi广播<proposal,b,wqc>消息,将其提议进行广播。其中wqc是在时期epoch e-1形成的弱证书(wQC),如果在非链式模式下工作,那么wqc为⊥。在收到<proposal,bj,wqcj>后,每个副本首先验证wqcj是有效的wQC,发送对b的签名投票给pj,将b存到proposals中,并将wqcj存到W[e-1]中。pi则需要等待f+1个对b的投票,组成wQC,并存储为wqc。然后在收到n-f个当前时期epoch的建议后,pi进入下一个时期epoch,即时期epoche+1。
在步骤102中,对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
在一个实施例中,对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识,包括:
异步网络中的每个区块链副本节点将接收到的2f+1个区块链副本节点广播同一时期epoch的弱证书作为共识协议的输入进行区块链共识,其中所述共识协议中采用a-broadcast和a-deliver事件描述所述区块链共识过程的原语;
对达成共识的弱证书采用obtain算法获得对应的提议信息,并根据所述提议信息进行交易。
具体实施时,需要等待收到同一个时期epoch中形成的2f+1个弱证书后,针对这些证书进行共识。即,副本存储变量le,收到时期le中形成的2f+1个弱证书后,副本针对这这些证书进行共识,并更新le为le+1。
下面给出一个具体实施例,说明本发明节点共识部分的工作流程。
图4为本发明实施例中节点共识部分示意图,如图4所示,每一个时期epoch中,共识阶段只有一个共识实例。共识协议运行中不需要发送具体交易数据,仅以每个副本收到的n-f个当前时期epoch形成的弱证书作为输入,共识协议可以保证能够对至少n-f个副本打包的共识提议达成共识。该共识实例可以使用任何共识(半同步、异步),本发明实施例提供了一种PBFT的变种协议,使用a-broadcast及a-deliver两个事件描述该共识进程中的原语,分别对应共识的触发(节点开始提出提案)以及结束(节点达成共识)。
图5为本发明实施例中节点共识部分伪代码示意图,如图5所示,共识阶段按照时期epoch进行,每个时期epoch中只使用一个BFT实例对n-f个wQC达成一致。我们可以在这一过程中使用任何BFT协议。将从异步网络中选取的2f+1个区块链副本节点在当前时期epoch形成的弱证书作为共识协议的输入进行区块链共识,其中共识协议中采用a-broadcast和a-deliver事件描述区块链共识过程的原语,然后对达成共识的弱证书采用obtain算法获得对应的提议信息并根据提议信息进行交易。其中,obtain算法接受共识过程中达成共识的一组wQC组成的消息m作为输入,并输出这些弱证书对应的提议包含的全部交易。在图5中,使用原子广播中的a-broadcast和a-deliver原语。每个副本pi需要保存当前时期epoch值le。pi监听其队列W(也即,交易传输过程中得到的弱证书),并检查W[le]是否包含n-f个弱证书。如果是这样,副本将运行a-broadcast(W[le])。其中,如果基于的BFT协议是基于领导者的BFT协议,则只有领导者广播W[le]。当a-deliver原语终止时,对达成a-deliver共识的全部弱证书,每个副本会通过obtain算法获得全部对应的提议,将提议中包含的全部交易以确定性的顺序进行执行。
本发明实施例共识框架包含的交易传输和节点共识两部分的优势在于:
(1)在交易传输阶段将批量交易传输与共识实例实现一致性的过程完全分离,使得交易并行传输不再成为共识系统的效率瓶颈,同时允许交易的流线式发送。
(2)在共识阶段仅使用一个BFT共识实例就可以并行对来自n-f个副本打包的交易完成共识,大大提高了共识效率。
(3)与现有的共识协议进行结合,从而获得新的更高效、网络适应性更高的协议。以PBFT共识为例,使用Star框架进行实例化后,实现了比现有的BFT协议高至少一个数量级的交易吞吐量。
基于同一发明构思,本发明实施例还提供了一种区块链共识装置,如下面的实施例所述。由于这些解决问题的原理与区块链共识方法相似,因此区块链共识装置的实施可以参见方法的实施,重复之处不再赘述。
图6为本发明实施例中区块链共识装置的结构图,如图6所示,该区块链共识装置包括:
交易传输模块601,用于对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
节点共识模块602,用于根据从异步网络中选取的2f+1个区块链副本节点在当前时期epoch形成的弱证书,进行区块链共识。
一个实施例中,所述交易传输模块601进一步用于:
在该区块链副本节点对应的当前时期epoch采用预设共识协议交易广播模式广播该区块链副本节点对应的提议消息,其中所述共识协议交易广播模式包括链式模式和非链式模式;
若共识协议交易广播模式为链式模式,则所述区块链副本节点对应的提议消息中还携带该区块链副本节点在前一时期epoch对应的弱证书,所述区块链副本节点在当前时期epoch对应的弱证书携带在下一时期epoch广播的提议消息中;
若共识协议交易广播模式为非链式模式,则在形成该区块链副本节点在当前时期epoch对应的弱证书后立即进行广播。
基于前述发明构思,如图7所示,本发明实施例还提供一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现上述区块链共识方法。
基于前述发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链共识方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述区块链共识方法。
本发明实施例通过对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。本发明实施例中交易并行传输不再成为共识效率瓶颈,对于异步网络中的每个区块链副本节点,在当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后形成该区块链副本节点在当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在当前时期epoch广播的提议消息后进入下一时期epoch,进而对于异步网络中的每个区块链副本节点在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后进行区块链共识,也即使用一个BFT共识实例就可以对来自2f+1个区块链副本节点打包的交易完成共识,有效提高共识效率和交易吞吐量。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种区块链共识方法,其特征在于,包括:
对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
2.如权利要求1所述的区块链共识方法,其特征在于,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,包括:
在该区块链副本节点对应的当前时期epoch采用预设共识协议交易广播模式广播该区块链副本节点对应的提议消息,其中所述共识协议交易广播模式包括链式模式和非链式模式;
若共识协议交易广播模式为链式模式,则所述区块链副本节点对应的提议消息中还携带该区块链副本节点在前一时期epoch对应的弱证书,所述区块链副本节点在当前时期epoch对应的弱证书携带在下一时期epoch广播的提议消息中;
若共识协议交易广播模式为非链式模式,则在形成该区块链副本节点在当前时期epoch对应的弱证书后立即进行广播。
3.如权利要求1所述的区块链共识方法,其特征在于,所述当前时期epoch从待决交易队列中选取的提议信息,包括:
该区块链副本节点在对应的当前时期epoch采用随机选择算法与先进先出FIFO算法的结合选择算法从待决交易队列中选取的提议信息。
4.如权利要求1所述的区块链共识方法,其特征在于,还包括:
对于异步网络中的每个区块链副本节点,在接收到其他区块链副本节点广播的提议消息时,向所述其他区块链副本节点发送提议消息对应的签名投票信息。
5.如权利要求1所述的区块链共识方法,其特征在于,对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识,包括:
异步网络中的每个区块链副本节点将接收到的2f+1个区块链副本节点广播同一时期epoch的弱证书作为共识协议的输入进行区块链共识,其中所述共识协议中采用a-broadcast和a-deliver事件描述所述区块链共识过程的原语;
对达成共识的弱证书采用obtain算法获得对应的提议信息,并根据所述提议信息进行交易。
6.一种区块链共识装置,其特征在于,包括:
交易传输模块,用于对于异步网络中的每个区块链副本节点,在该区块链副本节点对应的当前时期epoch广播该区块链副本节点对应的提议消息,在收集到f+1个区块链副本节点根据提议消息反馈的签名投票信息后,形成该区块链副本节点在所述当前时期epoch对应的弱证书,在收集到2f+1个区块链副本节点在所述当前时期epoch广播的提议消息后进入下一时期epoch,其中,该区块链副本节点对应的提议消息中携带所述当前时期epoch从待决交易队列中选取的提议信息,区块链包含3f+1个区块链副本节点;
节点共识模块,用于对于异步网络中的每个区块链副本节点,在接收到2f+1个区块链副本节点广播同一时期epoch的弱证书后,进行区块链共识。
7.如权利要求6所述的区块链共识装置,其特征在于,所述交易传输模块进一步用于:
在该区块链副本节点对应的当前时期epoch采用预设共识协议交易广播模式广播该区块链副本节点对应的提议消息,其中所述共识协议交易广播模式包括链式模式和非链式模式;
若共识协议交易广播模式为链式模式,则所述区块链副本节点对应的提议消息中还携带该区块链副本节点在前一时期epoch对应的弱证书,所述区块链副本节点在当前时期epoch对应的弱证书携带在下一时期epoch广播的提议消息中;
若共识协议交易广播模式为非链式模式,则在形成该区块链副本节点在当前时期epoch对应的弱证书后立即进行广播。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549682.6A CN115174090B (zh) | 2022-05-20 | 2022-05-20 | 区块链共识方法、装置、计算机设备及可读存储介质 |
PCT/CN2023/075125 WO2023221567A1 (zh) | 2022-05-20 | 2023-02-09 | 一种区块链共识方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549682.6A CN115174090B (zh) | 2022-05-20 | 2022-05-20 | 区块链共识方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174090A true CN115174090A (zh) | 2022-10-11 |
CN115174090B CN115174090B (zh) | 2023-04-25 |
Family
ID=83483678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210549682.6A Active CN115174090B (zh) | 2022-05-20 | 2022-05-20 | 区块链共识方法、装置、计算机设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115174090B (zh) |
WO (1) | WO2023221567A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221567A1 (zh) * | 2022-05-20 | 2023-11-23 | 清华大学 | 一种区块链共识方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118300773B (zh) * | 2024-06-03 | 2024-10-01 | 南京信息工程大学 | 中继链中基于交易签名模糊聚类分析的异步共识方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
CN112101942A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 基于区块链的交易请求处理方法、系统、装置及设备 |
US20210026842A1 (en) * | 2019-07-24 | 2021-01-28 | Vmware, Inc. | Flexible byzantine fault tolerant protocol using message delay upper bound for client commit decision |
US20210314216A1 (en) * | 2020-07-03 | 2021-10-07 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain consensus method, node, and system based on honey badger byzantine fault tolerance consensus mechanism |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12093247B2 (en) * | 2018-06-25 | 2024-09-17 | Redbelly Blockchain Holdings Pty Ltd | Blockchain system and method |
CN111327414A (zh) * | 2020-01-20 | 2020-06-23 | 布比(北京)网络技术有限公司 | 一种区块链共识方法、系统及计算机存储介质、电子设备 |
CN113783935B (zh) * | 2021-08-12 | 2022-04-01 | 清华大学 | 一种拜占庭容错方法及装置 |
CN113610531B (zh) * | 2021-10-09 | 2021-12-14 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统和共识节点 |
CN115174090B (zh) * | 2022-05-20 | 2023-04-25 | 清华大学 | 区块链共识方法、装置、计算机设备及可读存储介质 |
-
2022
- 2022-05-20 CN CN202210549682.6A patent/CN115174090B/zh active Active
-
2023
- 2023-02-09 WO PCT/CN2023/075125 patent/WO2023221567A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
US20210026842A1 (en) * | 2019-07-24 | 2021-01-28 | Vmware, Inc. | Flexible byzantine fault tolerant protocol using message delay upper bound for client commit decision |
US20210314216A1 (en) * | 2020-07-03 | 2021-10-07 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain consensus method, node, and system based on honey badger byzantine fault tolerance consensus mechanism |
CN112101942A (zh) * | 2020-09-18 | 2020-12-18 | 腾讯科技(深圳)有限公司 | 基于区块链的交易请求处理方法、系统、装置及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221567A1 (zh) * | 2022-05-20 | 2023-11-23 | 清华大学 | 一种区块链共识方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023221567A1 (zh) | 2023-11-23 |
CN115174090B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727731B (zh) | 区块链网络中加入节点的方法和区块链系统 | |
Elser et al. | An evaluation study of bigdata frameworks for graph processing | |
CN115174090A (zh) | 区块链共识方法及装置 | |
Fekete et al. | Specifying and using a partitionable group communication service | |
Amir et al. | Steward: Scaling byzantine fault-tolerant replication to wide area networks | |
CN114584312B (zh) | 一种共识方法、区块链系统和共识节点 | |
CN113630257B (zh) | 一种共识方法、区块链系统和共识节点 | |
CN113630258B (zh) | 一种共识方法、区块链系统和共识节点 | |
CN113610531B (zh) | 一种共识方法、区块链系统和共识节点 | |
CN113761071B (zh) | 一种共识方法、区块链系统和共识节点 | |
Crain et al. | DBFT: Efficient byzantine consensus with a weak coordinator and its application to consortium blockchains | |
WO2023193783A1 (zh) | 区块链共识方法及区块链副本装置 | |
CN114726517A (zh) | 一种区块链上产生随机数种子的方法、系统和共识节点 | |
CN112348518A (zh) | 一种区块链交易证明的方法及装置 | |
CN113630259B (zh) | 一种共识方法、区块链系统和共识节点 | |
Jayanti et al. | Every problem has a weakest failure detector | |
CN112825525B (zh) | 用于处理事务的方法和装置 | |
Meiklejohn et al. | Selective hearing: An approach to distributed, eventually consistent edge computation | |
CN114463008A (zh) | 基于并行计算模型的区块链交易执行方法及装置 | |
Hood et al. | Partitionable asynchronous cryptocurrency blockchain | |
Suliyanti et al. | Evaluation of an Actor Model-based Consensus Algorithm on Neo Blockchain | |
CN111083221A (zh) | 一种交易验证方法及装置 | |
Chen et al. | PGS-BFT: A Pipeline-Based Graph Structure Byzantine Fault Tolerance Consensus Algorithm | |
Wan et al. | Zebra: A cluster-aware blockchain consensus algorithm | |
CN116846916B (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 |