As a decentralized, tamper-proof distributed ledger, the performance of blockchain is fundamentally affected by the efficiency of consensus mechanisms. Practical Byzantine fault tolerance (PBFT) algorithm randomly selects master nodes through view-switching, leading to problems of security vulnerabilities and low consensus efficiency in the case of large number of nodes. In response to the two problems, a PBFT improvement scheme based on reputation voting is proposed. The reliability of nodes is evaluated according to node division mechanism, where high reputation nodes are dynamically selected to participate in the consensus, and a malicious node is assigned with lower probability of becoming a consensus node, accordingly increasing the security of the system. By switching the role of nodes according to node state transfer mechanism, the scheme can maintain the correct operation of the system and improve the stability of the system. Experiments on the proposed and the traditional PBFT schemes show that the proposed one can reduce Byzantine nodes and communication overhead in long-term consensus processes, and improve the fault tolerance rate and the data throughput of transaction.
TU Yuanchao, CHEN Yuling, LI Tao, REN Xiaojun, QING Xinyi
. Improved PBFT Scheme Based on Reputation Voting[J]. Journal of Applied Sciences, 2021
, 39(1)
: 79
-89
.
DOI: 10.3969/j.issn.0255-8297.2021.01.007
[1] Nakamoto S. Bitcoin:a peer-to-peer electronic cash system[EB/OL].[2020-11-08]. https://bitcoin.org/bitcoin.pdf.
[2] 袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4):481-494. Yuan Y, Wang F Y. Development status and prospects of block chain technology[J]. Acta Automatica Sinica, 2016, 42(4):481-494. (in Chinese)
[3] Zheng Z, Xie S, Dai H, et al. An overview of blockchain technology:architecture, consensus, and future trends[C]//International Congress on Big Data, 2017:557-564.
[4] 刘懿中, 刘建伟, 张宗洋, 等. 区块链共识机制研究综述[J]. 密码学报, 2019, 6(4):395-432. Liu Y Z, Liu J W, Zhang Z Y, et al. Overview on blockchain consensus mechanisms[J]. Journal of Cryptologic Research, 2019, 6(4):395-432. (in Chinese)
[5] Jakobsson M, Juels A. Proofs of work and bread pudding protocols[C]//Communications and Multimedia Security, 1999:258-272.
[6] Castro M, Liskov B. Practical Byzantine fault tolerance[C]//Proceedings of the Third Symposium on Operating Systems Design and Implementation, 1999:173-186.
[7] Larimer D. Delegated proof-of-stake consensus[EB/OL].[2020-11-10]. https://bitshares.org/technology/delegated-proof-of-stake-consensus.
[8] Ongaro D, Ousterhout J. In search of an understandable consensus algorithm[C]//Usenix Annual Technical Conference, 2014:305-320.
[9] 张伯阳, 张晓, 李阿妮, 等. 云存储系统可扩展性评测研究[J]. 计算机应用研究, 2017, 34(7):19571961. Zhang B Y, Zhang X, Li A N, et al. Research on scalability evaluation in cloud storage system[J]. Application Research of Computers, 2017, 34(7):1957-1961. (in Chinese)
[10] Bazzi R A. Synchronous Byzantine quorum systems[J]. Distributed Computing, 2000, 13(1):45-52.
[11] Miller A, Xia Y, Croman K, et al. The honey badger of BFT protocols[C]//ACM SIGSAC on Computer and Communications Security, 2016:31-42.
[12] Liu S, Viotti P, Cachin C, et al. XFT:practical fault tolerance beyond crashes[M]//Operating Systems Design and Implementation, 2016:485-500.
[13] Abraham I, Malkhi D, Spiegelman A, et al. Validated asynchronous Byzantine agreement with optimal resilience and asymptotically optimal time and word communication[EB/OL].[2020-11-10]. http://arxiv.org/abs/1811.01332.pdf.
[14] Zheng H, Guo W, Xiong N, et al. A kernel-based compressive sensing approach for mobile data gathering in wireless sensor network systems[J]. Systems Man and Cybernetics, 2018, 48(12):2315-2327.
[15] Liu Y, Ma M, Liu X, et al. Design and analysis of probing route to defense sink-hole attacks for Internet of things security[J]. IEEE Transactions on Network Science and Engineering, 2020, 7(1):356-372.
[16] Brewer E A. Towards robust distributed systems (abstract)[C]//Proceedings of the nineteenth annual ACM symposium on Principles of Distributed Computing. New York:Association for Computing Machinery, 2000.
[17] Gilbert S, Lynch N. Brewer's conjecture and the feasibility of consistent, available, partitiontolerant Web services[J]. ACM SIGACT News, 2002, 33(2):51-59.
[18] Reiter M K. A secure group membership protocol[C]//Proceedings of the IEEE Symposium on Research in Security and Privacy, 1994:176-189.
[19] 甘俊, 李强, 陈子豪, 等. 区块链实用拜占庭容错共识算法的改进[J]. 计算机应用, 2019, 39(7):2148-2155. Gan J, Li Q, Chen Z H, et al. Improvement of blockchain practical Byzantine fault tolerance consensus algorithm[J]. Journal of Computer Applications, 2019, 39(7):2148-2155. (in Chinese)
[20] 刘肖飞. 基于动态授权的拜占庭容错共识算法的区块链性能改进研究[D]. 杭州:浙江大学, 2017.