计算机科学 ›› 2023, Vol. 50 ›› Issue (6A): 220300064-6.doi: 10.11896/jsjkx.220300064
黄保华, 彭丽, 赵伟宏, 陈宁江
HUANG Baohua, PENG Li, ZHAO Weihong, CHEN Ningjiang
摘要: 针对联盟链中广泛应用的实用拜占庭容错共识算法(Practical Byzantine Fault Tolerance,PBFT)主节点选取方式固定和通信成本高等问题进行了改进,提出了一种基于可验证随机函数(Verifiable Random Function,VRF)的拜占庭容错共识算法(Selection-based Byzantine Fault Tolerance,SBFT)。首先,在每轮共识后动态评测节点行为并计算节点贡献值,根据节点贡献值选取参与共识的节点。其次,结合节点贡献值和可验证随机函数进行密码抽签随机选取主节点,在减少非诚实节点成为主节点的概率的同时,使选取的主节点具有不可预测性。最后,改进了PBFT的一致性协议,将PBFT的网状通信网络拓扑变成星形通信网络拓扑,并将视图切换流程融入正常共识流程中。仿真实验结果表明,相比PBFT算法,所提SBFT算法具有更高的吞吐量、更低的共识时延和更高的算法效率。
中图分类号:
[1]PEASE M,SHOSTAK R,LAMPORT L.Reaching agreement in the presence of faults[J].Journal of the ACM(JACM),1980,27(2):228-234. [2]LAMPORT L,SHOSTAK R,PEASE M.The Byzantine gene-rals problem[J].ACM Transactions on Prograomming and System,1982,4(3):382-401. [3]LAMPORT L.The Part-Time Parliament[J].ACM Transac-tions on Computer Systems,1998,16(2):133-169. [4]DIEGO O,JOHN O.In search of an understandable consensus algorithm[C]//Proceedings of the 2014 USENIX Annual Technical Conference(USENIX ATC 2014).2014:305-319. [5]CASTRO M,LISKOV B.Practical Byzantine Fault Tolerance[C]//Proceedings of the Third Symposium on Operating Systems Design and Implementation.1999:1-14. [6]NAKAMOTO S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].[2020-06-10].https://bitcoin.org/bitcoin.pdf. [7]KING S,NADAL S.PPCoin:Peer-to-Peer Crypto-Currencywith Proof-of-Stake[EB/OL].[2020-04-10].https://www.researchgate.net/publication/265116876_PPCoin_Peer-to-Peer_Crypto-Currency_with_Proof-of-Stake. [8]SCHUH F,LARIMER D.Bitshares 2.0:Financial smart con-tract platform[EB/OL].[2020-04-10].https://www.weusecoins.com/assets/pdf/library/Bitshares%20Financial%20Plat-form.pdf. [9]LI W,FENG C,ZHANG L,et al.A Scalable Multi-Layer PBFT Consensus for Blockchain[J].IEEE Transactions on Parallel and Distributed Systems,2021,32(5):1146-1160. [10]LI Y,QIAO L,LV Z.An optimized byzantine fault tolerance algorithm for consortium blockchain[J].Peer-to-Peer Networking and Applications,2021,14(5):2826-2839. [11]CHEN Z H,LI Q.Improved PBFT Consensus Mechanism based on K-medoids[J].Computer Science,2019,46(12):101-107. [12]ABRAHAM I,GUETA G,MALKHI D.Hot-stuff the linear,optimal-resilience,one-message BFT devil[J].arXiv:1803.05069,2018. [13]GUETA G G,ABRAHAM I,GROSSMAN S,et al.SBFT:A Scalable and Decentralized Trust Infrastructure[C]//2019 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks(DSN).2019:568-580. [14]SCHWARTZ D,YOUNGS N,BRITTO A.The Ripple Protocol Consensus Algorithm[EB/OL].[2020-06-10].https://ripple.com/files/ripple_consensus_whitepaper.pdf. [15]SHENG GAO T Y.T-PBFT An EigenTrust-based practical Byzantine fault tolerance consensus algorithm[J].China Communications,2019,16(12);111-123. [16]TONG W,DONG X,ZHENG J.Trust-PBFT:A PeerTrust-Based Practical Byzantine Consensus Algorithm[C]//2019 International Conference on Networking and Network Applications(NaNA).2019:344-349. [17]MICALI S,RABIN M,VADHAN S.Verifiable random func-tions[C]//Proceedings of the 40th Annual Symposium on Foundations of Computer Science.1999:120-130. [18]LEUNG D,SUHL A,GILAD Y,et al.Vault:Fast Bootstrapping for the Algorand Cryptocurrency[C]//Proceedings of the Network and Distributed Systems Security(NDSS) Symposium.2019:1-15. [19]GILAD Y,HEMO R,MICALI S,et al.Algorand:Scaling Byzantine Agreements for Cryptocurrencies[C]//Proceedings of the Twenty-Sixth ACM Symposium on Operating Systems Principles.2017:51-68. [20]Ontology Project.Consenses mechanism[EB/OL].[2020-06-14].https://docs.ont.io/ontology-elements/consensus-mechanism. [21]WU Y,SONG P,WANG F.Hybrid Consensus Algorithm Optimization:A Mathematical Method Based on POS and PBFT and Its Application in Blockchain[J].Mathematical Problems in Engineering,2020,2020:7270624. [22]ZHAN Y,WANG B,LU R,et al.DRBFT:Delegated randomization Byzantine fault tolerance consensus protocol for blockchains[J].Information Sciences,2021,559:8-21. [23]HANKE T,MOVAHEDI M,WILLIAMS D.DFINITY Technology Overview Series,Consensus System[J].arXiv:1805.04548,2018. [24]KWON J.Tendermint:Consensus without mining[EB/OL].[2020-06-14].https://tendermint.com/static/docs/tendermint.pdf. |
|