CN116455685A - 一种在广播网络下的pbft改进共识方法 - Google Patents
一种在广播网络下的pbft改进共识方法 Download PDFInfo
- Publication number
- CN116455685A CN116455685A CN202310462894.5A CN202310462894A CN116455685A CN 116455685 A CN116455685 A CN 116455685A CN 202310462894 A CN202310462894 A CN 202310462894A CN 116455685 A CN116455685 A CN 116455685A
- Authority
- CN
- China
- Prior art keywords
- consensus
- node
- message
- nodes
- network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000008094 contradictory effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000006872 improvement Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 9
- 230000004044 response Effects 0.000 abstract description 5
- 230000006978 adaptation Effects 0.000 abstract description 2
- 230000006399 behavior Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 208000008025 hordeolum Diseases 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/12—Applying verification of the received information
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/40—Network security protocols
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)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种在广播网络下的PBFT改进共识方法,其特征在于,基于节点网络实现:将所有共识节点接入广播网络,客户端与共识节点接入点对点网络;所述方法包括:客户端向主节点发送共识消息;主节点利用广播网络将prepare消息广播,当所有副本节点均收到prepare消息时,副本节点验证prepare消息,若验证通过则将commit消息广播给其他共识节点;当每个共识节点均收到2f+1个一致的commit消息时,分别向客户端发送reply回复;若客户端收到f+1个来自不同共识节点的一致reply回复,则认为该共识消息已成功共识。本发明结合了广播网络提供的可靠广播能力,完成PBFT共识方法在广播网络下的适配,并将PBFT共识方法的三阶段减少为两阶段,加快共识响应速度并降低共识通信开销。
Description
技术领域
本发明涉及共识算法技术领域,尤其涉及一种在广播网络下的PBFT改进共识方法。
背景技术
广播网络是一种特殊的网络,网络保证发送到网络上的消息都会被可靠广播给网络中每一个节点并保证每一个节点发送的消息最终都会按序到达。在分布式系统中,广播网络是实现可靠消息传递的重要机制之一。广播网络在分布式系统中有着广泛的应用,如分布式文件系统、分布式数据库和分布式计算等领域。
共识算法是指在分布式系统中,多个节点就某一事务达成一致的算法。在分布式系统中,节点之间的通信延迟、失效等问题会导致节点之间的数据不一致,而共识算法可以保证所有节点达成一致的状态,从而保证整个系统的一致性。共识算法在分布式系统中有着广泛的应用,如区块链、分布式数据库、分布式存储系统等领域。
共识算法目前比较主流的共识算法有两类:非BFT类和BFT类,非BFT类算法,即非拜占庭容错类算法,该类算法可以容忍节点宕机错误但不能容忍拜占庭错误,BFT类算法,即拜占庭容错类算法,该类算法可以在存在一定数量的拜占庭节点的前提下实现分布式系统的共识。
然而由于传统共识算法都是针对没有实现可靠广播的点对点的网络,这在广播网络下会有很高的消息通信和很慢的响应时间。
发明内容
针对现有的共识算法都是点对点网络,而缺少在广播网络下的共识算法的不足,本发明提供了一种在广播网络下的PBFT改进共识方法,该方法结合广播网络和PBFT的优势,实现了在广播网络下抵御拜占庭节点的功能,加快共识响应速度并降低了共识通信开销。
本发明的目的是通过如下技术方案实现的:
一种在广播网络下的PBFT改进共识方法,基于节点网络实现,所述节点网络的建立具体为:将所有共识节点接入广播网络;共识节点包括主节点和副本节点;将客户端与共识节点接入点对点网络,在该点对点网络中客户端发送的消息只能被主节点接收;
所述在广播网络下的PBFT改进共识方法包括以下步骤:
(1)所述客户端通过客户端与共识节点之间的点对点网络,向共识节点中的主节点发送共识消息;
(2)prepare阶段:所述主节点收到客户端发来的共识消息后,将所述共识消息打包为prepare消息,并利用广播网络将prepare消息广播,若所有副本节点均收到prepare消息,则进入步骤(3);若副本节点没有收到prepare消息,则判断主节点为拜占庭节点,进行视图变更;
(3)commit阶段:各个所述副本节点对收到的prepare消息进行验证,若验证通过,则通过广播网络将commit消息广播给其他共识节点;当每个共识节点均收到2f+1个来自不同共识节点的一致commit消息时,进入步骤(4);其中,f为所述节点网络中出现拜占庭行为的节点个数;
(4)每个所述共识节点向客户端发送reply回复;若所述客户端收到f+1个来自不同共识节点的一致reply回复,则认为该共识消息已成功共识。
进一步地,所述广播网络中每个共识节点发送的消息最终都能被所述广播网络中的每个共识节点接收到,并保证每个共识节点发送的消息按序到达。
进一步地,利用广播网络每个节点发送的消息能被其他节点按序接收的特性,在共识过程中的每个阶段均验证其他节点是否有发送矛盾的消息,从而限制拜占庭节点给不同节点发送不同消息的拜占庭行为。
进一步地,所述客户端和每个共识节点之间均使用非对称加密算法生成一对公私钥,通过私钥对消息进行签名,通过公钥对签名进行验签,每个共识节点的私钥只保存在该共识节点处,每个共识节点都包含其他共识节点的公钥。
进一步地,每个所述共识节点发出的消息需要包含用该共识节点的私钥对该消息的签名,以及该共识节点的编号,接收节点可以对该消息用发送节点的公钥进行验签,若验签通过,则接收该消息;否则直接丢弃该消息。
本发明的有益效果如下:
(1)本发明充分结合了广播网络和PBFT共识算法的综合优势,通过广播网络提供的可靠广播,防止了拜占庭行为中节点给不同节点发不同消息行为,将PBFT共识算法中的三阶段减少为两阶段,加快共识响应速度并降低了共识通信开销。
(2)本发明中利用广播网络中每条消息都被广播的特性,完成点对点网络下共识算法在广播网络的适配,极大降低了共识通信开销。
附图说明
图1是本发明的节点网络结构图;
图2是一种在广播网络下的PBFT改进共识方法的流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,建立节点网络具体为:由于共识节点的稳定性强,在共识节点之间配置广播网络,在该广播网络中,每个共识节点发送的消息最终都能被广播网络中的每个共识节点接收到,该广播网络保证每个共识节点发送的消息按序到达。共识节点包括主节点和副本节点。利用广播网络每个节点发送的消息能被其他节点按序接收的特性,在共识过程中的每个阶段均验证其他节点是否有发送矛盾的消息,从而限制拜占庭节点给不同节点发送不同消息的拜占庭行为。
由于客户端节点的流动性强,在客户端与共识节点之间配置现有的点对点网络,在该点对点网络中客户端发送的消息只能被共识节点的主节点接收。该改进的节点网络利用共识节点之间的通信是广播网络,而客户端与共识节点的通信是点对点的网络的特性,降低了网络通信开销。
如图2所示,在广播网络下的PBFT改进共识方法,具体包括如下步骤:
(1)客户端通过客户端与共识节点之间的点对点网络向共识节点中的主节点发送共识消息。
(2)prepare阶段:主节点收到客户端发来的共识消息后,将共识消息打包为prepare消息,并利用广播网络将prepare消息广播,若所有副本节点均收到prepare消息,则进入步骤(3);若副本节点没有收到prepare消息,则判断主节点为拜占庭节点,进行视图变更,采用轮换方式切换到下一个主节点,重复步骤(1)、(2)。
在视图变更阶段,每个节点将上一个视图中的commit消息包含在view-change消息中广播给其他节点,新的主节点将收集的view-change消息包含在new-view消息广播给其他副本节点,每个副本节点收到new-view消息后便能提交该消息,从而提高共识的响应速度。
(3)commit阶段:各个副本节点对收到的prepare消息进行验证,若验证通过则通过广播网络将commit消息广播给其他共识节点;当每个共识节点均收到2f+1个来自不同共识节点的一致commit消息时,进入步骤(4);其中,f为节点网络中出现拜占庭行为的节点个数。
(4)节点网络中每个共识节点通过客户端与共识节点之间的点对点网络向客户端发送reply回复。若节点网络中客户端收到f+1个来自节点网络中不同共识节点的一致reply回复,则可认为该共识消息已成功共识。
客户端和每个共识节点之间均使用非对称加密算法生成一对公私钥,通过私钥对消息进行签名,通过公钥对签名进行验签,每个共识节点的私钥只保存在该共识节点处,每个共识节点都包含其他共识节点的公钥。每个共识节点发出的消息需要包含用该共识节点的私钥对该消息的签名,以及该共识节点的编号,接收节点可以对该消息用发送节点的公钥进行验签,若验签通过,则接收该消息;否则直接丢弃该消息。
现有的PBFT共识算法是针对点对点网络的,因此每次发送消息都需要给每个节点发送一次,在广播网络中会增加网络中的消息通信量;本发明将PBFT共识算法应用在广播网络上,针对广播网络提供的可靠广播能力,每次节点发送消息都只需调用一次网络。
另一方面,针对广播网络虽然提供了可靠广播可以保证每个节点发出的消息最终能被所有节点按序接收,但不能保证不同节点发送消息的顺序,因此在广播网络下还是需要一种能够抵御拜占庭行为的共识算法。本发明利用广播网络下每个节点发送的消息都是广播给所有其他节点的特性,可以防止节点给不同节点发不同消息的拜占庭行为,从而将现有的PBFT共识算法中的三阶段:pre-prepare阶段、prepare阶段和commit阶段,改进为两阶段:prepare阶段和commit阶段,从而加快了共识响应速度,降低了共识通信开销。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (5)
1.一种在广播网络下的PBFT改进共识方法,其特征在于,基于节点网络实现,所述节点网络的建立具体为:将所有共识节点接入广播网络;共识节点包括主节点和副本节点;将客户端与共识节点接入点对点网络,在该点对点网络中客户端发送的消息只能被主节点接收;
所述在广播网络下的PBFT改进共识方法包括以下步骤:
(1)所述客户端通过客户端与共识节点之间的点对点网络,向共识节点中的主节点发送共识消息;
(2)prepare阶段:所述主节点收到客户端发来的共识消息后,将所述共识消息打包为prepare消息,并利用广播网络将prepare消息广播,若所有副本节点均收到prepare消息,则进入步骤(3);若副本节点没有收到prepare消息,则判断主节点为拜占庭节点,进行视图变更;
(3)commit阶段:各个所述副本节点对收到的prepare消息进行验证,若验证通过,则通过广播网络将commit消息广播给其他共识节点;当每个共识节点均收到2f+1个来自不同共识节点的一致commit消息时,进入步骤(4);其中,f为所述节点网络中出现拜占庭行为的节点个数;
(4)每个所述共识节点向客户端发送reply回复;若所述客户端收到f+1个来自不同共识节点的一致reply回复,则认为该共识消息已成功共识。
2.根据权利要求1所述的在广播网络下的PBFT改进共识方法,其特征在于,所述广播网络中每个共识节点发送的消息最终都能被所述广播网络中的每个共识节点接收到,并保证每个共识节点发送的消息按序到达。
3.根据权利要求2所述的在广播网络下的PBFT改进共识方法,其特征在于,利用广播网络每个节点发送的消息能被其他节点按序接收的特性,在共识过程中的每个阶段均验证其他节点是否有发送矛盾的消息,从而限制拜占庭节点给不同节点发送不同消息的拜占庭行为。
4.根据权利要求1所述的在广播网络下的PBFT改进共识方法,其特征在于,所述客户端和每个共识节点之间均使用非对称加密算法生成一对公私钥,通过私钥对消息进行签名,通过公钥对签名进行验签,每个共识节点的私钥只保存在该共识节点处,每个共识节点都包含其他共识节点的公钥。
5.根据权利要求4所述的在广播网络下的PBFT改进共识方法,其特征在于,每个所述共识节点发出的消息需要包含用该共识节点的私钥对该消息的签名,以及该共识节点的编号,接收节点可以对该消息用发送节点的公钥进行验签,若验签通过,则接收该消息;否则直接丢弃该消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462894.5A CN116455685A (zh) | 2023-04-26 | 2023-04-26 | 一种在广播网络下的pbft改进共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462894.5A CN116455685A (zh) | 2023-04-26 | 2023-04-26 | 一种在广播网络下的pbft改进共识方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116455685A true CN116455685A (zh) | 2023-07-18 |
Family
ID=87125491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310462894.5A Pending CN116455685A (zh) | 2023-04-26 | 2023-04-26 | 一种在广播网络下的pbft改进共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455685A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915796A (zh) * | 2023-09-14 | 2023-10-20 | 杭州趣链科技有限公司 | 集群视图分叉后的自主恢复方法、装置以及电子设备 |
-
2023
- 2023-04-26 CN CN202310462894.5A patent/CN116455685A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116915796A (zh) * | 2023-09-14 | 2023-10-20 | 杭州趣链科技有限公司 | 集群视图分叉后的自主恢复方法、装置以及电子设备 |
CN116915796B (zh) * | 2023-09-14 | 2023-12-12 | 杭州趣链科技有限公司 | 集群视图分叉后的自主恢复方法、装置以及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11496577B2 (en) | Broker-based bus protocol and multi-client architecture | |
AU2018348335B2 (en) | Performing a recovery process for a network node in a distributed system | |
Pannetrat et al. | Efficient multicast packet authentication. | |
CN113642019B (zh) | 一种双层分组拜占庭容错共识方法及系统 | |
Li et al. | An extensible consensus algorithm based on PBFT | |
CN109327548A (zh) | 一种区块链更新方法及区块链更新系统 | |
CN111342971B (zh) | 一种拜占庭共识方法和系统 | |
Tsai et al. | Design issues in permissioned blockchains for trusted computing | |
CN114338040B (zh) | 一种区块链节点的分组多链三次共识方法 | |
CN114050904B (zh) | 一种基于两层级领导节点分片结构的共识系统及方法 | |
CN114422513B (zh) | 一种基于Raft-PBFT的区块链共识方法 | |
He et al. | An improvement of consensus fault tolerant algorithm applied to alliance chain | |
CN111582843A (zh) | 一种基于聚合签名的区块链隐私交易方法 | |
US20190258610A1 (en) | Byzantine fault-tolerant algorithm with four steps | |
CN114218612A (zh) | 一种适用于联盟链高频交易场景的共识方法 | |
CN111526165B (zh) | 联盟链中的共识方法和系统 | |
CN116455685A (zh) | 一种在广播网络下的pbft改进共识方法 | |
Zhang et al. | Satellite broadcasting enabled blockchain protocol: a preliminary study | |
Roth et al. | Do not overpay for fault tolerance! | |
Pannetrat et al. | Authenticating real time packet streams and multicasts | |
CN114499874B (zh) | 一种应用于工业互联网的拜占庭容错共识优化方法 | |
CN116170155A (zh) | 基于pbft改进的联盟区块链共识方法 | |
CN112398934B (zh) | 基于区块链的信赖广播方法 | |
CN111818152B (zh) | 一种基于分布式网络的领导者选举的共识方法 | |
CN114928446A (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 |