计算机工程与应用 ›› 2022, Vol. 58 ›› Issue (3): 135-142.DOI: 10.3778/j.issn.1002-8331.2009-0092

• 网络、通信与安全 • 上一篇    下一篇

联盟链中实用拜占庭容错算法的改进

方燚飚,周创明,李松,宋亚飞,高娜,刘唐   

  1. 1.空军工程大学 研究生院,西安 710038
    2.空军工程大学 防空反导学院,西安 710038
    3.中国人民解放军 31436部队
  • 出版日期:2022-02-01 发布日期:2022-01-28

Improvement of Practical Byzantine Fault Algorithm in Alliance Blockchain

FANG Yibiao, ZHOU Chuangming, LI Song, SONG Yafei, GAO Na, LIU Tang   

  1. 1.Graduate School, Air Force Engineering University, Xi’an 710038, China
    2.School of Air and Missile Defense, Air Force Engineering University, Xi’an 710038, China
    3.Unit 31436 of PLA, China
  • Online:2022-02-01 Published:2022-01-28

摘要: 针对实用拜占庭容错算法(PBFT)中存在的通信开销大、算法效率低等问题,结合联盟链特点,提出了一种改进的PBFT算法(score-PBFT,S-PBFT)。引入节点评分机制,将节点划分为共识节点、候选节点和预备节点三种类型,并根据节点行为对节点进行动态调整,最大程度上保证共识节点的可靠性。改进了主节点的选举方式,以节点初始积分及其行为作为选举依据,来提高算法稳定性。优化一致性协议执行流程,减少共识过程参与节点数,降低算法复杂度,提高算法的效率。结果表明,相较于PBFT算法,S-PBFT算法在共识时延、通信开销、吞吐量和共识节点可靠性等方面均具有更好的性能。

关键词: 实用拜占庭容错算法, 区块链, 共识算法, 联盟链

Abstract: Since practical Byzantine fault tolerance(PBFT) has the problems of high communication overhead and low algorithm, an improved PBFT algorithm(score-PBFT, S-PBFT) is proposed combined with the characteristics of the alliance chain. The nodes are divided into three types:consensus nodes, candidate nodes and preliminary nodes through the node scoring mechanism. And according to the node behavior, the nodes are dynamically adjusted to ensure the reliability of the consensus node to the greatest extent. The election method of the master node is improved. The initial points of nodes and their behaviors are used as the basis for the election of the master node, which improves the stability of the algorithm. The algorithm consistency protocol is optimized and the number of participating nodes in the consensus process is reduced. Thus, the complexity of the algorithm is reduced and the efficiency of the algorithm is improved. The result shows that compared to the PBFT algorithm, the S-PBFT algorithm has better performance in terms of consensus delay, communication overhead, throughput and the reliability of consensus node.

Key words: practical Byzantine fault tolerance, blockchain, consensus algorithm, alliance chain