基于PBFT共识算法的区块链改进方案
Blockchain Improvement Scheme Based on PBFT Consensus Algorithm
DOI: 10.12677/CSA.2021.113066, PDF,  被引量    国家自然科学基金支持
作者: 胡振宇, 钟林峰, 杨振国, 刘文印:广东工业大学,计算机学院,广东 广州
关键词: 区块链共识算法PBFT信用机制主节点Blockchain Consensus Algorithm PBFT Credit Mechanism Primary Node
摘要: 针对应用于联盟链的实用拜占庭容错(PBFT)共识算法存在的主节点取余方法容易导致恶意节点当选、三阶段共识流程导致高时延等问题,提出了一种改进的实用拜占庭容错(PBFT+)共识算法。首先,基于信用机制来选取主节点,引入信用层次体系对系统节点进行信用评价,共识节点的信用层次随着其产生有效区块的数量进行动态变化,节点的信用层次划分是系统对节点的评判标准,系统将选取全网信用值最高的节点作为主节点,可以保证主节点的最优性。通过备用主节点机制避免频繁发生视图变更,提高系统可用性和安全性。其次,优化PBFT共识算法的三阶段共识流程,将确认阶段中全网节点广播确认消息改进为由主节点收集确认消息,减少了通信开销。实验部分将PBFT+算法与PBFT算法进行多组对比测试,通过仿真实验结果表明,PBFT+算法有效的减少了系统资源的消耗,降低了时延。
Abstract: Aiming at the problems of the master node surplus method of the Practical Byzantine Fault Tolerance Consensus algorithm applied to the alliance blockchain, which may easily lead to the election of malicious nodes and the high latency caused by the three-stage consensus process. In this paper, we extend PBFT with credit mechanism, denoted as PBFT+. More specifically, we introduce a credit mechanism to select the primary node instead of random selection, leading into a credit hierarchy system for credit evaluation of system nodes. The credit level of consensus node changes dynamically with the number of valid blocks that it generates. The credit level division of nodes is the system criterion for judging nodes, and the system will select the node with the highest credit value of the whole network as the master node to ensure the optimality of the master node. The availability and security of the system can be improved by using the standby primary node mechanism to avoid frequent view changes. Furthermore, the three-stage consensus process of the PBFT algorithm is optimized. In the confirmation phase, the primary node collects the confirmation information instead of broadcasting the message from the entire network node, which reduces the communication overhead. In the experimental part, the PBFT+ and the PBFT algorithm are tested in multiple groups. The experimental simulation results show that the PBFT+ algorithm can effectively reduce the consumption of system resources and reduce the delay.
文章引用:胡振宇, 钟林峰, 杨振国, 刘文印. 基于PBFT共识算法的区块链改进方案[J]. 计算机科学与应用, 2021, 11(3): 643-653. https://doi.org/10.12677/CSA.2021.113066

参考文献

[1] Wang, W., Hoang, D.T., Hu, P., et al. (2019) A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks. IEEE Access, 7, 22328-22370. [Google Scholar] [CrossRef
[2] 单进勇, 高胜. 区块链理论研究进展[J]. 密码学报, 2018, 5(5): 484-500.
[3] Ferrag, M.A., Derdour, M., Mukherjee, M., et al. (2018) Blockchain Technologies for the Internet of Things: Research Issues and Challenges. IEEE Internet of Things Journal, 6, 2188-2204.
[4] 袁勇, 王飞跃. 基于区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494.
[5] 何蒲, 于戈, 张岩峰. 区块链技术与应用前瞻综述[J]. 计算机科学, 2017, 44(4): 1-7+15.
[6] 姚前, 朱烨东. 中国区块链发展报告2019[M]. 北京: 社会科学文献出版社, 2019.
[7] Al-Jaroodi, J. and Mohamed, N. (2019) Blockchain in Industries: A Survey. IEEE Access, 7, 36500-36515. [Google Scholar] [CrossRef
[8] Li, J. and Wolf, T. (2016) A One-Way Proof-of-Work Pro-tocol to Protect Controllers in Software-Defined Networks. ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Santa Clara, 17-18 March 2016. [Google Scholar] [CrossRef
[9] Kiayias, A., Russell, A., David, B., et al. (2017) Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol. In: Annual International Cryptology Conference, Springer, Cham, 357-388. [Google Scholar] [CrossRef
[10] Luo, Y., Chen, Y., Chen, Q., et al. (2018) A New Election Algorithm for DPos Consensus Mechanism in Blockchain. 2018 7th International Conference on Digital Home (ICDH) IEEE, Guilin, 30 November-1 December 2018. [Google Scholar] [CrossRef
[11] Lamport, L. (1998) The Part-Time Parliament. ACM Transactions on Computing Surveys, 16, 133-169. [Google Scholar] [CrossRef
[12] Castro, M. and Liskov, B. (1999) Practical Byzantine Fault Tolerance. OSDI, Vol. 99, 173-186
[13] Lamport, L., Shostak, R. and Pease, M. (1982) The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems (TOPLAS), 4, 382-401. [Google Scholar] [CrossRef
[14] Androutsellis-Theotokis, S., Spinellis, D., et al. (2004) A Survey of Peer-to-Peer Content Distribution Technologies. ACM Transactions on Computing Surveys, 36, 335-371. [Google Scholar] [CrossRef
[15] Liu, J., et al. (2019) Scalable Byzantine Consensus via Hard-ware-Assisted Secret Sharing. IEEE Transactions on Computers, 68, 139-151. [Google Scholar] [CrossRef
[16] 李剑锋. 基于拜占庭容错机制的区块链共识算法研究与应用[D]: [硕士学位论文]. 郑州: 郑州大学, 2018: 14-15, 31-56.
[17] Abraham, I., Gueta, G. and Malkhi, D. (2018) Hot-Stuff the Linear, Optimal Resilience, One-Message BFT Devil.
[18] Gueta, G.G., Abraham, I., Grossman, S., et al. (2018) SBFT: A Scalable Decentralized Trust Infrastructure for Blockchains.
[19] 刘肖飞. 基于动态授权的拜占庭容错共识算法的区块链性能改进研究[D]: [硕士学位论文]. 杭州: 浙江大学.