计算机应用 ›› 2019, Vol. 39 ›› Issue (7): 2148-2155.DOI: 10.11772/j.issn.1001-9081.2018112343

• 应用前沿、交叉与综合 • 上一篇    下一篇

区块链实用拜占庭容错共识算法的改进

甘俊, 李强, 陈子豪, 张超   

  1. 四川大学 计算机学院, 成都 610065
  • 收稿日期:2018-11-26 修回日期:2019-01-12 出版日期:2019-07-10 发布日期:2019-07-15
  • 通讯作者: 李强
  • 作者简介:甘俊(1997-),男,四川内江人,硕士研究生,CCF会员,主要研究方向:区块链;李强(1963-),男,四川成都人,副教授,博士,主要研究方向:移动云计算、大数据、区块链;陈子豪(1995-),男,四川成都人,硕士研究生,主要研究方向:区块链;张超(1993-),男,山东日照人,硕士研究生,主要研究方向:区块链。
  • 基金资助:

    四川省科技厅重点项目(2018GZ0105,2018GZ0104)。

Improvement of blockchain practical Byzantine fault tolerance consensus algorithm

GAN Jun, LI Qiang, CHEN Zihao, ZHANG Chao   

  1. College of Computer Science, Sichuan University, Chengdu Sichuan 610065, China
  • Received:2018-11-26 Revised:2019-01-12 Online:2019-07-10 Published:2019-07-15
  • Supported by:

    This work is partially supported by the Key Project of Science and Technology Department of Sichuan Province (2018GZ0105, 2018GZ0104).

摘要:

针对应用于联盟链的实用拜占庭容错(PBFT)共识算法网络结构静态、主节点选取随意和通信开销较大的问题,提出了一种改进的实用拜占庭容错(EPBFT)共识算法。首先,给共识节点设置一系列活动状态使得节点通过状态转换在系统中拥有完整生命周期,由此节点可以动态地加入和退出,系统拥有动态的网络结构。其次,对PBFT的主节点选取方式加以改进,增加以最长链为选举原则的主节点选举过程。在主节点选举完成之后,通过数据同步和主节点验证过程进一步保证主节点的可信性。最后,优化PBFT算法的共识流程以提高共识效率,使得EPBFT算法的通信开销在视图变更较少发生的情况下降低为PBFT算法的1/2。实验结果表明,EPBFT算法具有较好的有效性和实用性。

关键词: 实用拜占庭容错, 联盟链, 主节点, 选举

Abstract:

Since Practical Byzantine Fault Tolerance (PBFT) consensus algorithm applied to the alliance chain has the problems of static network structure, random selection of master node and large communication overhead, an Evolution of Practical Byzantine Fault Tolerance (EPBFT) consensus algorithm was proposed. Firstly, a series of activity states were set for consensus nodes, making the nodes have complete life cycle in the system through state transition, so that the nodes were able to dynamically join and exit while the system has a dynamic network structure. Secondly, the selection method of master node of PBFT was improved with adding the election process of master node with the longest chain as the election principle. After the election of master node, the reliability of master node was further ensured through data synchronization and master node verification process. Finally, the consensus process of PBFT algorithm was optimized to improve the consensus efficiency, thus the communication overhead of EPBFT algorithm was reduced to 1/2 of that of PBFT algorithm with little view changes. The experimental results show that EPBFT algorithm has good effectiveness and practicability.

Key words: Practical Byzantine Fault Tolerance (PBFT), alliance chain, master node, election

中图分类号: