摘要
共识算法是区块链系统中最核心的部分,它直接影响着区块链系统的高效性、安全性和稳定性。针对不同的业务场景,研究者、开发者如何选择或设计一种合适的共识算法,是现阶段区块链应用落地的一大难题。文中从拜占庭将军问题出发,提出了共识算法在设计时应满足的条件。然后,将共识算法按照容错类型分为CFT类共识算法和BFT类共识算法,详细阐述了9种共识算法的基本原理,并从容错性、性能效率、去中心化程度、资源消耗和使用规模5个方面对它们进行比较,总结出它们的优缺点,以期帮助研究者、开发者选择或设计共识算法,推动区块链共识算法的应用与演进。
The consensus algorithm is the most important part of blockchain system,which directly affects the blockchain system’s efficiency,security and stability.According to different business scenarios,how researchers and developers choose or design an appropriate consensus algorithm is a big problem for the implementation of blockchain applications at the present stage.Based on the problem of Byzantine generals,this paper proposes the conditions that the consensus algorithm should meet in the design.Then,this paper divides the consensus algorithms into CFT consensus algorithm and BFT consensus algorithm according to the fault-tolerance type,describes the basic principles of the nine consensus algorithms in detail,and compares them from five aspects:fault-tolerance,performance efficiency,degree of decentralization,resource consumption and scale of use,and summarizes their advantages and disadvantages.It is expected to help researchers and developers select or design consensus algorithms and promote the application and evolution of block chain consensus algorithms.
作者
陆歌皓
谢莉红
李析禹
LU Ge-hao;XIE Li-hong;LI Xi-yu(School of Software,Yunnan University,Kunming 650500,China)
出处
《计算机科学》
CSCD
北大核心
2020年第S01期332-339,共8页
Computer Science
基金
云南省重大科技专项(2019ZE005)。
关键词
共识算法
区块链
容错
对比
优缺点
Consensus algorithm
Blockchain
Fault-tolerance
Compared
Advantages and disadvantages