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.
Similar content being viewed by others
References
Nakamoto S. Bitcoin: a peer-to-peer electronic cash system. 2008. http://bitcoin.org/bitcoin.pdf
Zheng Z B, Xie S A, Dai H N, et al. Blockchain challenges and opportunities: a survey. Int J Web Grid Serv, 2018, 14: 352
Yuan Y, Wang F Y. Blockchain: the state of the art and future trends. Acta Autom Sin, 2016, 42: 481–494
Wood G. Ethereum: a secure decentralised generalised transaction ledger. 2014. http://gavwood.com/Paper.pdf
Yuan Y, Wang F Y. Blockchain and cryptocurrencies: model, techniques, and applications. IEEE Trans Syst Man Cybern Syst, 2018, 48: 1421–1428
Christidis K, Devetsikiotis M. Blockchains and smart contracts for the internet of things. IEEE Access, 2016, 4: 2292–2303
Sharma P K, Chen M Y, Park J H. A software defined fog node based distributed blockchain cloud architecture for IoT. IEEE Access, 2018, 6: 115–124
Chen Q, Bridges R A. Automated behavioral analysis of malware: a case study of wannacry ransomware. In: Proceedings of the 16th IEEE International Conference on Machine Learning and Applications (ICMLA), 2017. 454–460
Bencic F M, Zarko I P. Distributed ledger technology: blockchain compared to directed acyclic graph. In: Proceedings of the 38th International Conference on Distributed Computing Systems (ICDCS), 2018. 1569–1570
Chen Z D, Dong A Q, Sun H, et al. Research on private blockchain based on crowdfunding. J Inf Secur Res, 2017, 3: 227–236
Pongnumkul S, Siripanpornchana C, Thajchayapong S. Performance analysis of private blockchain platforms in varying workloads. In: Proceedings of the 26th International Conference on Computer Communication and Networks (ICCCN), 2017
Lamport L, Shostak R, Pease M. The Byzantine generals problem. ACM Trans Program Lang Syst, 1982, 4: 382–401
Perry K J, Toueg S. Distributed agreement in the presence of processor and communication faults. IEEE Trans Softw Eng, 1986, 12: 477–482
Lamport L. The part-time parliament. ACM Trans Comput Syst, 1998, 16: 133–169
Lamport L. Paxos made simple. ACM Sigact News, 2001, 32: 18–25
Ongaro D, Ousterhout J. In search of an understandable consensus algorithm. In: Proceedings of USENIX Annual Technical Conference, 2014. 305–319
Fischer M J, Lynch N A, Paterson M S. Impossibility of distributed consensus with one faulty process. J ACM, 1985, 32: 374–382
Karame G, Androulaki E, Capkun S. Two bitcoins at the price of one? Double-spending attacks on fast payments in bitcoin. 2012. https://eprint.iacr.org/2012/248.pdf
Karame G. On the security and scalability of bitcoin’s blockchain. In: Proceedings of ACM Sigsac Conference on Computer and Communications Security, 2016. 1861–1862
King S, Nadal S. Ppcoin: peer-to-peer crypto-currency with proof-of-stake. 2012. https://decred.org/research/king2012.pdf
Castro M, Liskov B. Practical byzantine fault tolerance. In: Proceedings of Symposium on Operating Systems Design and Implementation, 1999. 173–186
Bano S, Sonnino A, Al-Bassam M, et al. Consensus in the age of blockchains. 2017. ArXiv:1711.03936
Bach L, Mihaljevic B, Zagar M. Comparative analysis of blockchain consensus algorithms. In: Proceedings of the 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2018. 1545–1550
Wang W, Hoang D T, Hu P, et al. A survey on consensus mechanisms and mining strategy management in blockchain networks. IEEE Access, 2019, 7: 22328–22370
Eyal I, Gencer A E, Sirer E G, et al. Bitcoin-ng: a scalable blockchain protocol. In: Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI16), 2016. 45–59
Gilad Y, Hemo R, Micali S, et al. Algorand: scaling byzantine agreements for cryptocurrencies. In: Proceedings of the 26th Symposium on Operating Systems Principles, 2017. 51–68
Zhang Z W. A byzantine fault-tolerant algorithm for blockchains. 2016. https://docs.neo.org/en-us/basic/consensus/whitepaper.html
Churyumov A. Byteball: a decentralized system for storage and transfer of value. 2016. https://byteball.org/Byteball.pdf
Baird L. The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance. Swirlds Tech Reports SWIRLDS-TR-2016-01. 2016
Micali S, Rabin M, Vadhan S. Verifiable random functions. In: Proceedings of the 40th Annual Symposium on Foundations of Computer Science, 1999. 120–130
Li X Q, Jiang P, Chen T, et al. A survey on the security of blockchain systems. Future Generation Comput Syst, 2020, 107: 841–853
Fu X, Wang H M, Shi P C, et al. Jointgraph: a DAG-based efficient consensus algorithm for consortium blockchains. Softw-Pract Exper, 2019, 42: 2748
Rachmawati D, Tarigan J T, Ginting A B C. A comparative study of message digest 5(MD5) and SHA256 algorithm. J Phys-Conf Ser, 2018, 978: 012116
O’Dwyer K J, Malone D. Bitcoin mining and its energy footprint. In: Proceedings of the 25th IET Irish Signals & Systems Conference, 2014
Li C X, Li P L, Xu W, et al. Scaling nakamoto consensus to thousands of transactions per second. 2018. ArXiv:1805.03870
Larimer D. Delegated Proof-of-Stake (DPOS). Bitshare whitepaper, 2014
Milutinovic M, He W, Wu H, et al. Proof of luck: an efficient blockchain consensus protocol. In: proceedings of the 1st Workshop on System Software for Trusted Execution, 2016
Karantias K, Kiayias A, Zindros D. Proof-of-burn. In: Proceedings of International Conference on Financial Cryptography and Data Security, 2020. 523–540
Sabt M, Achemlal M, Bouabdallah A. Trusted execution environment: what it is, and what it is not. In: Proceedings of the 14th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, 2015
Fabric H. Simple BFT. 2018. https://jira.hyperledger.org/browse/FAB-378
Androulaki E, Barger A, Bortnikov V, et al. Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of European Conference on Computer Systems, 2018
Yin M F, Malkhi D, Reiter M K, et al. Hotstuff: BFT consensus with linearity and responsiveness. In: Proceedings of ACM Symposium on Principles of Distributed Computing, 2019
Stathakopoulou C, David T, Vukolić M. Mir-BFT: high-throughput BFT for blockchains. 2019. ArXiv:1906.05552
Baudet M, Ching A, Chursin A, et al. State machine replication in the libra blockchain. 2019. https://developers.libra.org/docs/assets/papers/libra-consensus-state-machine-replication-in-the-libra-blockchain/2019-09-19.pdf
Amsden Z, Arora R, Bano S, et al. The libra blockchain. 2019. https://developers.libra.org/docs/the-libra-blockchain-paper
Miller A, Xia Y, Croman K, et al. The honey badger of BFT protocols. In: Proceedings of ACM SIGSAC Conference on Computer and Communications Security, 2016. 31–42
Ben-Or M, Kelmer B, Rabin T. Asynchronous secure computations with optimal resilience. In: Proceedings of the 13th Annual ACM Symposium on Principles of distributed computing, 1994. 183–192
Fu X, Wang H M, Shi P C. Proof of previous transactions (PoPT): an efficient approach to consensus for JCLedger. IEEE Trans Syst Man Cybern Syst, 2019. doi: https://doi.org/10.1109/tsmc.2019.2913007
Popov S. The tangle. 2018. http://www.descryptions.com/Iota.pdf
Bentov I, Lee C, Mizrahi A, et al. Proof of activity: extending bitcoin’s proof of work via proof of stake. 2014. https://eprint.iacr.org/2014/452.pdf
Buchman E. Tendermint: Byzantine fault tolerance in the age of blockchains. Dissertation for Ph.D. Degree. Guelph: University of Guelph, 2016
Buterin V, Reijsbergen D, Leonardos S, et al. Incentives in Ethereum’s hybrid casper protocol. 2019. ArXiv:1903.04205
Dinh T T A, Wang J, Chen G, et al. Blockbench: a framework for analyzing private blockchains. In: Proceedings of ACM International Conference on Management of Data, 2017. 1085–1100
Nguyen G, Kim K. A survey about consensus algorithms used in blockchain. J Inf Process Syst, 2018, 14: 101–128
Chalaemwongwan N, Kurutach W. State of the art and challenges facing consensus protocols on blockchain. In: Proceedings of International Conference on Information Networking (ICOIN), 2018. 957–962
Douceur J R. The sybil attack. In: Proceedings of International Workshop on Peer to Peer Systems, 2002
Singh A, Ngan T W, Druschel P, et al. Eclipse attacks on overlay networks: threats and defenses. In: Proceedings of IEEE International Conference Computer and Communications, 2006
Kroll J A, Davey I C, Felten E W. The economics of bitcoin mining, or bitcoin in the presence of adversaries. In: Proceedings of the 12th Workshop on the Economics of Information Securit, 2013
Wang H M, Shi P C, Zhang Y M. Jointcloud: a cross-cloud cooperation architecture for integrated internet service customization. In: Proceedings of IEEE International Conference on Distributed Computing Systems, 2017. 1846–1855
Liang J, Han W L, Guo Z Q, et al. DESC: enabling secure data exchange based on smart contracts. Sci China Inf Sci, 2018, 61: 049102
Wu Y B, Fan H N, Wang X Y, et al. A regulated digital currency. Sci China Inf Sci, 2019, 62: 032109
Veronese G S, Correia M, Bessani A N, et al. Efficient Byzantine fault-tolerance. IEEE Trans Comput, 2013, 62: 16–30
Acknowledgements
This work was supported by National Key R&D Program of China (Grant No. 2016YFB1000100), National Natural Science Foundation of China (Grant No. 61772030), and GF Innovative Research Program.
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Fu, X., Wang, H. & Shi, P. A survey of Blockchain consensus algorithms: mechanism, design and applications. Sci. China Inf. Sci. 64, 121101 (2021). https://doi.org/10.1007/s11432-019-2790-1
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-019-2790-1