A survey of Blockchain consensus algorithms: mechanism, design and applications

  • PDF / 330,571 Bytes
  • 15 Pages / 595 x 842 pts (A4) Page_size
  • 100 Downloads / 298 Views

DOWNLOAD

REPORT


. REVIEW .

February 2021, Vol. 64 121101:1–121101:15 https://doi.org/10.1007/s11432-019-2790-1

A survey of Blockchain consensus algorithms: mechanism, design and applications Xiang FU1,2* , Huaimin WANG1,2* & Peichang SHI1,2 1 College of Computer, National University of Defense Technology, Changsha 410073, China; Key Laboratory of Software Engineering for Complex Systems, National University of Defense Technology, Changsha 410073, China

2

Received 3 October 2019/Revised 18 November 2019/Accepted 5 February 2020/Published online 18 November 2020

Abstract In 2008, Blockchain was introduced to the world as the underlying technology of the Bitcoin system. After more than a decade of development, various Blockchain systems have been proposed by both academia and industry. This paper focuses on the consensus algorithm, which is one of the core technologies of Blockchain. In this paper, we propose a unified consensus algorithm process model that is suitable for Blockchains based on both the chain and directed acyclic graph (DAG) structure. Subsequently, we analyze various mainstream Blockchain consensus algorithms and classify them according to their design in different phases of the process model. Additionally, we present an evaluation framework of Blockchain consensus algorithms and then discuss the security design principles that enable resistance from different attacks. Finally, we provide some suggestions for selecting consensus algorithms in different Blockchain application scenarios. Keywords

Blockchain, consensus algorithm, Byzantine fault-tolerant, process model, design principles

Citation Fu X, Wang H M, Shi P C, et al. A survey of Blockchain consensus algorithms: mechanism, design, and applications. Sci China Inf Sci, 2021, 64(2): 121101, https://doi.org/10.1007/s11432-019-2790-1

1

Background of Blockchain

In 2008, Blockchain was introduced to the world as the underlying technology of the Bitcoin system. In the founding paper on Bitcoin, “Bitcoin: a peer-to-peer electronic cash system” [1], Blockchain was described as a data structure using asymmetric encryption algorithms and hash functions to ensure that data tampering and forgery are impossible [2, 3]. The data-blocks in Blockchain represent transfer transactions between users in chronological order. In crypto-currencies such as Bitcoin and Ethereum [4], Blockchain is a decentralized distributed ledger enabling the free transfer of end-to-end digital assets without involving any central role or third party. Due to its basic characteristics such as decentralization, tamper-proof and traceability, Blockchain can also serve as a distributed network protocol enabling a trust relationship between different participants who do not know each other. After more than ten years of development, the Blockchain technology is not only used in the field of crypto-currency but also increasingly applied in other fields such as the Internet of Things, healthcare, and education [5–8]. Providing the variety of scenarios where the Blockchain technology can be applied, t