摘要
自2008年比特币问世后,区块链逐渐成为学术界的研究热点,共识算法作为区块链的关键技术,受到了越来越多研究者的重视。由于区块链运行环境复杂多变,容易在系统中引入拜占庭节点,因此区块链拜占庭容错共识算法是必须要攻克的难关。文中系统地总结了区块链拜占庭容错共识算法的研究进展,以期为未来共识算法的创新提供参考。首先,梳理了现有的区块链拜占庭容错共识算法的四大派别,引出了BFT共识算法;其次,回顾了经典BFT共识算法PBFT中的几个重要临界值及其正确性证明;再次,提出了BFT共识算法具有去中心化、效能、安全性和容错率ntg四大优化目标;然后,基于共识轮次、共识节点个数、底层硬件、通信模式或加密算法、出错概率等维度,归纳出BFT共识算法的5种优化思路;最后,对10种经典BFT共识算法进行了详细分析与性能对比。
Since the advent of Bitcoin in 2008,blockchain has gradually become a research hotspot in academia.As the key technology of blockchain,consensus algorithm has also attracted more attention from researchers.It’s easy to introduce Byzantine fault nodes in blockchain system because of its complex and variable runtime,so the blockchain Byzantine fault tolerant consensus algorithm is a difficulty that must be overcome.This paper systematically summarizes the research progress of the blockchain Byzantine fault tolerant consensus algorithm,in order to provide a reference for the innovation of consensus algorithms in the future.Firstly,sorting out the four major factions of the existing blockchain Byzantine fault tolerant consensus algorithms and introducing the BFT consensus algorithm.Secondly,reviewing several important values in the classic PBFT algorithm and its correctness proof.Thirdly,putting forward the four optimization goals of the BFT consensus algorithm:decentralization,efficiency,fault tolerance rate and security.Then,based on the dimensions of consensus rounds,number of consensus nodes,underlying hardware,communication mode or encryption algorithm,probability of fault nodes,five optimization ideas of BFT consensus algorithm are summarized.Finally,analysising 10 classic BFT consensus algorithms in detail and making performance comparison.
作者
冯了了
丁滟
刘坤林
马科林
常俊胜
FENG Liao-liao;DING Yan;LIU Kun-lin;MA Ke-lin;CHANG Jun-sheng(School of Computer Science,National University of Defense Technology,Changsha 410073,China)
出处
《计算机科学》
CSCD
北大核心
2022年第4期329-339,共11页
Computer Science
基金
国家自然科学基金(U19A2060,61502510)。
关键词
BFT
PBFT
优化
拜占庭容错
共识算法
区块链
分布式系统
BFT
PBFT
Optimization
Byzantine fault tolerant
Consensus algorithm
Blockchain
Distributed system