CN115174090B - 区块链共识方法、装置、计算机设备及可读存储介质 - Google Patents

区块链共识方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN115174090B
CN115174090B CN202210549682.6A CN202210549682A CN115174090B CN 115174090 B CN115174090 B CN 115174090B CN 202210549682 A CN202210549682 A CN 202210549682A CN 115174090 B CN115174090 B CN 115174090B
Authority
CN
China
Prior art keywords
blockchain
block chain
consensus
epoch
replica node
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
Application number
CN202210549682.6A
Other languages
English (en)
Other versions
CN115174090A (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.)
Tsinghua University
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Tsinghua University
Digital Currency Institute of the Peoples Bank of China
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 Tsinghua University, Digital Currency Institute of the Peoples Bank of China filed Critical Tsinghua University
Priority to CN202210549682.6A priority Critical patent/CN115174090B/zh
Publication of CN115174090A publication Critical patent/CN115174090A/zh
Priority to PCT/CN2023/075125 priority patent/WO2023221567A1/zh
Application granted granted Critical
Publication of CN115174090B publication Critical patent/CN115174090B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • 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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/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/3263Cryptographic 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 (9)

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任一所述方法。
CN202210549682.6A 2022-05-20 2022-05-20 区块链共识方法、装置、计算机设备及可读存储介质 Active CN115174090B (zh)

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 CN115174090A (zh) 2022-10-11
CN115174090B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174090B (zh) * 2022-05-20 2023-04-25 清华大学 区块链共识方法、装置、计算机设备及可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819749A (zh) * 2017-10-26 2018-03-20 平安科技(深圳)有限公司 基于以太坊的区块链系统和交易数据处理方法
US20210256016A1 (en) * 2018-06-25 2021-08-19 Commonwealth Scientific And Industrial Research Organisation Blockchain system and method
US11334561B2 (en) * 2019-07-24 2022-05-17 Vmware, Inc. Flexible byzantine fault tolerant protocol using message delay upper bound for client commit decision
CN111327414A (zh) * 2020-01-20 2020-06-23 布比(北京)网络技术有限公司 一种区块链共识方法、系统及计算机存储介质、电子设备
CN111522800B (zh) * 2020-07-03 2020-10-30 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的区块链共识方法、节点及系统
CN112101942B (zh) * 2020-09-18 2022-10-04 腾讯科技(深圳)有限公司 基于区块链的交易请求处理方法、系统、装置及设备
CN113783935B (zh) * 2021-08-12 2022-04-01 清华大学 一种拜占庭容错方法及装置
CN113610531B (zh) * 2021-10-09 2021-12-14 支付宝(杭州)信息技术有限公司 一种共识方法、区块链系统和共识节点
CN115174090B (zh) * 2022-05-20 2023-04-25 清华大学 区块链共识方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN115174090A (zh) 2022-10-11
WO2023221567A1 (zh) 2023-11-23

Similar Documents

Publication Publication Date Title
Mostéfaoui et al. Signature-free asynchronous Byzantine consensus with t< n/3 and O (n2) messages
CN101958804B (zh) 提升告警处理效率的方法、服务器及系统
CN105160570A (zh) 一种可水平扩展的并发在线交易处理方法
CN115174090B (zh) 区块链共识方法、装置、计算机设备及可读存储介质
CN113645044B (zh) 一种共识方法、区块链系统和共识节点
CN109670954A (zh) 基于区块链的交易处理方法
CN113630257B (zh) 一种共识方法、区块链系统和共识节点
CN113761071B (zh) 一种共识方法、区块链系统和共识节点
CN113610531B (zh) 一种共识方法、区块链系统和共识节点
CN112348518A (zh) 一种区块链交易证明的方法及装置
CN114726517A (zh) 一种区块链上产生随机数种子的方法、系统和共识节点
Garanina et al. Distributed Termination Detection by Counting Agent.
Xu et al. Dynamic backup workers for parallel machine learning
CN102841822B (zh) 对jobTracker主机进行宕机保护的方法和系统
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
Felber et al. Probabilistic atomic broadcast
CN110955461A (zh) 计算任务的处理方法、装置、系统、服务器和存储介质
CN110532069A (zh) 一种分布式事务提交方法及装置
CN114463008A (zh) 基于并行计算模型的区块链交易执行方法及装置
CN110502337A (zh) 针对Hadoop MapReduce中混洗阶段的优化系统及方法
CN113254253B (zh) 一种数据处理方法、系统及设备
CN112615773B (zh) 一种消息处理方法及系统
WO2022068597A1 (zh) 一种区块共识转化的方法及装置
Fernández et al. Minimal system conditions to implement unreliable failure detectors
Li et al. Orchestrating safe streaming computations with precise control

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