结合BLS签名的Raft集群实用拜占庭容错算法
Raft Cluster Practical Byzantine Fault Tolerance Algorithm Combined with BLS Signature
摘要: 针对联盟链中运用的实用拜占庭容错(Practical Byzantine Fault Algorithm, PBFT)共识算法通信复杂度高,无法支持大规模网络问题,提出一种结合BLS (Boneh-Lynn-Shacham)聚合签名的Raft集群实用拜占庭容错共识(Aggregate-Signature Raft Byzantine Fault Tolerance, ARBFT)算法。首先,对网络节点进行分组,组内采用Raft共识机制选出领导者,每个组内的领导者组成网络委员会;其次网络委员会内部采用改进的PBFT机制进行共识,改进了节点之间的交互方式,在prepare阶段各个副本节点单点发送信息及签名给主节点验证,在Commit阶段由主节点收集签名并验证,结合BLS签名将验证通过的多个签名聚合成一个聚合签名,将该聚合签名以及其它必要信息广播给其他所有副本节点验证,在验证通过后主节点和副本节点再进行组内共识。ARBFT共识算法将网络的通信复杂度降低为O(N/K)+O(K) ,在多节点的情况下,通过实验对比经典PBFT和RBFT (Raft cluster Byzantine fault tolerance)共识算法,ARBFT共识算法在共识时延、通信开销、吞吐量等方面具有更好的性能。
Abstract: Aiming at the high communication complexity of the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm used in the alliance chain and unable to support large-scale network problems, a Raft cluster practical Byzantine fault-tolerant consensus (Aggregate-Signature Raft Byzantine Fault Tolerance, ARBFT) algorithm. First, the network nodes are grouped, the group adopts the Raft consensus mechanism to select leaders, and the leaders in each group form a network committee; secondly, the network committee adopts an improved PBFT mechanism for consensus, which improves the interaction between nodes. In the prepare phase, each replica node sends information and signatures to the master node for verification at a single point. In the Commit phase, the master node collects and verifies the signatures. Combined with the BLS signature, the multiple signatures that have passed the verification are aggregated into an aggregate signature. Other necessary information is broadcast to all other replica nodes for verification, and the master node and replica nodes will conduct consensus within the group after the verification is passed. The ARBFT consensus algorithm reduces the communication complexity of the network to O(N/K)+O(K). In the case of multiple nodes, through experiments and comparisons between the classic PBFT and RBFT (Raft cluster Byzantine fault tolerance) consensus algorithms, the ARBFT consensus algorithm has better performance in terms of consensus delay, communication overhead, and throughput.
文章引用:黄刚. 结合BLS签名的Raft集群实用拜占庭容错算法[J]. 计算机科学与应用, 2022, 12(7): 1728-1736. https://doi.org/10.12677/CSA.2022.127173

参考文献

[1] Di Pierro, M. (2017) What Is the Blockchain? Computing in Science& Engineering, 19, 92-95. [Google Scholar] [CrossRef
[2] Nakamoto, S. (2008) Bitcoin: A Peer-to-Peer Electronic Cash System. http://www.bitcoin.org/bit-coin.pdf
[3] 刘懿中, 刘建伟, 喻辉. 区块链共识机制研究: 典型方案对比[J]. 中兴通信技术, 2018, 24(6): 2-7.
[4] 黄步添, 蔡亮. 区块链解密: 构建基于信用的下一代互联网[M]. 北京: 清华大学出版社, 2018: 43.
[5] Castro, M. and Liskov, B. (1999) Practical Byzantine Fault Tolerance. Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, 22-25 February 1999, 173-186.
[6] Androulaki, E., Barger, A., Bortnikov, V., et al. (2018) Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. Proceedings of the Thirteenth EuroSys Conference, Porto, 23-26 April 2018, Ar-ticle No. 30. [Google Scholar] [CrossRef
[7] 黄冬艳, 李浪, 陈斌, 等. RBFT: 基于Raft集群的拜占庭容错共识机制[J]. 通信学报, 2021, 42(3): 209-219.
[8] Ongaro, D. and Ousterhout, J. (2014) In Search of an Under-standable Consensus Algorithm. Proceedings of USENIX ATC’14: 2014 USENIX Annual Technical Conference, Phila-delphia, 19-20 June 2014, 305-320.
[9] Wang, R., Zhang, L., Xu, Q., et al. (2019) K-Bucket Based Raft-Like Consen-sus Algorithm for Permissioned Blockchain. 2019 IEEE 25th International Conference on Parallel and Distributed Sys-tems, Tianjin, 4-6 December 2019, 996-999. [Google Scholar] [CrossRef
[10] Aublin, P.L., Mokhtar, S.B. and Quéma, V. (2013) RBFT: Redundant Byzantine Fault Tolerance. Proceedings of International Con-ference on Distributed Computing Systems, Philadelphia, 8-11 July 2013, 297-306. [Google Scholar] [CrossRef
[11] Zhan, H. and Zhao, W. (2021) Concurrent Byzantine Fault Tolerance for Software-Transaction-Memory Based Applications. International Journal of Future Computer and Communication, 1, 47-50. [Google Scholar] [CrossRef
[12] Gao, S., Yu, T., Zhu, J., et al. (2019) T-PBFT: An Eigen Trust-Based Practical Byzantine Fault Tolerance Consensus Algorithm. China Communications, 16, 111-123. [Google Scholar] [CrossRef
[13] Kurosawa, K. (2017) Advances in Cryptology. ASIACRYPT 2007: 13th International Conference on the Theory and Application of Cryptology and Information Security, Kuching, 2-6 De-cember 2007, 4833-4839. [Google Scholar] [CrossRef
[14] Luu, L., Narayanan, V., Zheng, C., et al. A Secure Sharding Pro-tocol for Open Blockchains. Proceedings of the 2016 ACM SIGSAC Conference, New York, 24-28 October 2016, 17-30.[CrossRef
[15] Hyunkyung, Y., Jongchoul, Y. and Sunme, K. (2018) The Block-chain for Domain Based Static Sharding. 2018 17th IEEE International Conference on Trust, Security and Privacy in Computing and Communications/12th IEEE International Conference on Big Data Science and Engineering, New York, 1-3 August 2018, 1689-1692.
[16] Li, Q., Sun, Z., He, R. and Tan, T. (2017) Deep Supervised Discrete Hashing. 31st Conference on Neural Information Processing Systems, Long Beach, 4-9 December 2017, 2482-2491.
[17] 陈佳伟, 冼祥斌, 杨振国, 刘文印. 结合BLS聚合签名改进实用拜占庭容错共识算法[J]. 计算机应用研究, 2021, 38(7): 1952-1955+1962.