[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN116455685A - 一种在广播网络下的pbft改进共识方法 - Google Patents

一种在广播网络下的pbft改进共识方法 Download PDF

Info

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
Application number
CN202310462894.5A
Other languages
English (en)
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202310462894.5A priority Critical patent/CN116455685A/zh
Publication of CN116455685A publication Critical patent/CN116455685A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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
    • H04L63/0442Network 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
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • 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/40Network 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改进共识方法
技术领域
本发明涉及共识算法技术领域,尤其涉及一种在广播网络下的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改进共识方法,其特征在于,每个所述共识节点发出的消息需要包含用该共识节点的私钥对该消息的签名,以及该共识节点的编号,接收节点可以对该消息用发送节点的公钥进行验签,若验签通过,则接收该消息;否则直接丢弃该消息。
CN202310462894.5A 2023-04-26 2023-04-26 一种在广播网络下的pbft改进共识方法 Pending CN116455685A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116915796A (zh) * 2023-09-14 2023-10-20 杭州趣链科技有限公司 集群视图分叉后的自主恢复方法、装置以及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
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