区块链

一种面向联盟链优化的PBFT共识算法

展开
  • 烟台大学 计算机与控制工程学院, 山东 烟台 264000

收稿日期: 2022-10-26

  网络出版日期: 2023-08-02

基金资助

国家自然科学基金(No. 61801414)资助

A PBFT Consensus Algorithm for Consortium Chain Optimization

Expand
  • College of Computer and Control Engineering, Yantai University, Yantai 264000, Shandong, China

Received date: 2022-10-26

  Online published: 2023-08-02

摘要

针对在联盟链中实用拜占庭容错(practical Byzantine fault tolerance,PBFT)算法所存在的通信开销过大、节点信誉度无法保证、算法无法动态地增删节点等问题,提出了基于决策树改进的PBFT(decision tree Byzantine fault tolerance,DTBFT)算法。首先,针对联盟链的应用场景,简化了PBFT算法的一致性协议,降低了通信开销;其次,考虑到系统安全性的问题,引入信誉积分机制,增加决策树分类算法,在每轮共识完成后,统计节点行为,对节点分类,使得系统可以动态地剔除拜占庭节点,提高系统的安全性;最后,为了防止拜占庭节点当选主节点,视图频繁切换,导致系统运行效率低的问题,改进了视图切换协议,将主节点的选取范围缩小到节点信誉好的高级节点,保证主节点的可信度。实验表明,DTBFT算法在吞吐量、算法安全性等方面较PBFT算法具有一定的提升。

本文引用格式

王微渊, 毕远伟, 陈霄汉, 李传彪 . 一种面向联盟链优化的PBFT共识算法[J]. 应用科学学报, 2023 , 41(4) : 577 -589 . DOI: 10.3969/j.issn.0255-8297.2023.04.003

Abstract

This paper proposes a decision tree Byzantine fault tolerance (DTBFT) algorithm to address the problems of communication overhead, unguaranteed node reputation, and inability to dynamically add or delete nodes in the PBFT algorithm for consortium chains. Firstly, according to the application scenario of the alliance chain, the consensus protocol of the PBFT algorithm is simplified, and the communication overhead is reduced. Secondly, a reputation score mechanism and a decision tree classification algorithm are introduced to improve security of the system. Finally, the selection range of master nodes is narrowed to high-level nodes with good node reputation to prevent frequent view switches. Experiments show that the DTBFT algorithm enhances throughput and algorithm security compared with PBFT.

参考文献

[1] Nakamoto S. Bitcoin:a peer-to-peer electronic cash system[EB/OL] [2022-10-26]. https://bitcoin.org/en/bitcoin-paper.
[2] 袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4):14. Yuan Y, Wang F Y. Current situation and prospect of blockchain technology development[J]. Journal of Automation, 2016, 42(4):14. (in Chinese)
[3] Schwartz D, Youngs N, Britto A. The Ripple protocol consensus algorithm[EB/OL].[2022-10-26]. https://ripple.com/files/rippleconsensuswhitepaper.pdf.
[4] Androylaki E, Manevich Y, Muralidharan S, et al. Hyperledger Fabric:a distributed operating system for permissioned blockchains[C]//EuroSys'18:Proceedings of the Thirteenth EuroSys Conference, 2018:30.
[5] Mazieres D. The stellar consensus protocol:a federated model for internet level consensus[EB/OL].[2022-10-26] https://www.stellar.org/papers/stellar-consensus-protocol.pdf.
[6] 郑敏, 王虹, 刘洪, 等. 区块链共识算法研究综述[J]. 信息网络安全, 2019(7):8-24. Zheng M, Wang H, Liu H, et al. A review of blockchain consensus algorithms research[J]. Information Network Security, 2019(7):8-24. (in Chinese)
[7] Castro M, Liskov B. Practical Byzantine fault tolerance[M]. New York:ACM, 1999.
[8] 朱海, 金瑜. DS-PBFT:一种基于距离的面向区块链的共识算法[J]. 小型微型计算机系统, 2022, 43(3):506-513. Zhu H, Jin Y. DS-PBFT:a blockchai-oriented consensus algorithm based on distance[J]. Small Microcomputer System, 2022, 43(3):506-513. (in Chinese)
[9] 吴晓彤, 柳平增. 基于备选投票机制的低时延PBFT改进研究[J]. 计算机工程, 2021, 47(7):10. Wu X T, Liu P Z. Research on low-latency PBFT improvement based on alternative voting mechanism[J]. Computer Engineering, 2021, 47(7):10. (in Chinese)
[10] 季钰翔, 黄建华, 王喆, 等. 基于信任度匹配的改进PBFT共识算法[J]. 计算机科学, 2021, 48(2):303-310. Ji Y X, Huang J H, Wang Z, et al. Improved PBFT consensus algorithm based on trust matching[J]. Computer Science, 2021, 48(2):303-310. (in Chinese)
[11] 胡美春, 田大钢. 一种改进的C4.5决策树算法[J]. 软件导刊, 2015, 14(7):3. Hu M C, Tian D D. An improved C4.5 decision tree algorithm[J]. Software Guide, 2015, 14(7):3. (in Chinese)
[12] Lamport L, Shostak R, Pease M. The Byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982, 4(3):382-401.
[13] Lamport L. Paxos made simple[J]. ACM SIGACT News, 2001, 32(4):18-20.
[14] Oki B M, Liskov B H. Viewstamped replication:a new primary copy method to support highly available distributed systems[C]//7th ACM Symposium, 1988:8-17.
[15] Fox A, Brewer E A. Harvest, yield, and scalable tolerant systems[C]//Workshop on Hot Topics in Operating Systems. IEEE, 1999:798396.
文章导航

/