An applied investigation of Consensus Algorithms Used in Blockchain Networks

Document Type : Review article

Authors

Allameh Tabatabai University

Abstract

Today, Blockchain technology is seen as a revolutionary technology in the business environment, and the peak of its prosperity was the introduction of Bitcoin in 2008. Blockchain networks allow centralized databases and general ledgers to be replaced, protected, and distributed databases to network members recognized as network verifiers. The most important part of the Blockchain network structure is the consensus algorithm, which determines how a new block between all nodes in the verifying network is agreed to be appended. In other words, consensus algorithms decide rules and protocols that define which block and by which member to connect to the main chain, and prevent parallel and conflicting structures. Consensus algorithms can be divided into two principal classes. The first category is proof-based consensus algorithms, which allow the nodes that enter the verifying network to demonstrate that they are more eligible and better than the others to do the new block that is to be added. The second group is consensus algorithms focused on voting, allowing nodes in the network to share their results from checking a transaction or a new block before making the final decision. In this paper, we discuss consensus algorithms that have been researched and are currently being applied in some well-known Blockchain applications, while discussing and comparing key features in various aspects.

Keywords


 
[1] کاظم پوریان، سعید، شهبازی، محمد، تقوا، محمدرضا. (1399). امن‌سازی رایانش مرزی از طریق زنجیره بلوکی. سیاست نامه علم و فناوری، 10(1)، 9-10.
[2] Abeyratne, S. A., and Monfared, R. P. (2016). Blockchain ready manufacturing supply chain using distributed ledger. International Journal of Research in Engineering and Technology, 05(09), 1-10.
 
[3] Alsunaidi S., J., Alhaidari, F. A., (2019). A Survey of Consensus Algorithms for Blockchain Technology, International Conference on Computer and Information Sciences (ICCIS), DOI: 10.1109/ICCISci.2019.8716424.
 
[4] Armknecht, F., Karame, G. O., Mandal, A., Youssef, F., and Zenner, E. (2015). Ripple: Overview and outlook, International Conference on Trust and Trustworthy Computing, Springer, 163–180.
 
[5] Attaran M, Gunasekaran, A. (2019). Applications of Blockchain Technology in Business: Challenges and Opportunities. https://doi.org/10.1007/978-3-030-27798-7
 
[6] Bach, L.M., Mihaljevic, B., and Zagar, M. (2018). Comparative analysis of blockchain consensus algorithms, 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, 1545-1550.
 
[7] Bentov, I., Lee, C., Mizrahi, A., and Rosenfeld, M. (2014). Proof of activity: extending bitcoin's proof of work via proof of stake. ACM SIGMETRICS Performance Evaluation Review, 42(3), 34-37.
 
[8] Bessani, A., Sousa, J., and Alchieri, E. E. P. (2014). State machine replication for the masses with BFT-SMART, Proceedings of 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Atlanta, GA, 355-362.
 
[9] Bradbury, D. (2013). The problem with Bitcoin, Computer Fraud & Security, 11, 5–8.
 
[10] Cachin, C. (2016), Architecture of the hyperledger blockchain fabric. Proceedings of ACM Workshop onDistributed Cryptocurrencies and Consensus Ledgers, Chicago, IL.
 
[11] Castro, M., Liskov, B. (1999). Practical byzantine fault tolerance. OSDI '99: Proceedings of the third symposium on Operating systems design and implementation, 99, 173–186.
 
[12] Cohn, J. M., Finn, P. G., Nair, S. P., Panikkar, S. B., and Pureswaran, V. S. (2017). Autonomous decentralized peer-to-peer telemetry, International Business Machines Corp.
 
[13] Croman, K., Decker, C., Eyal, I., Gencer, A. E., & Juels E. A. A., (2016). On scaling decentralized blockchains. ICFCDS16, Christ Church, Barbados, pp. 106–125.
 
[14] Dziembowski, S., Faust, S., Kolmogorov, V., and Pietrzak, K. (2015). Proofs of space” in Advances in Cryptology–CRYPTO, Heidelberg: Springer, 585-605.
 
[15] EOS. IO. (2018). EOS.IO Technical White Paper v2, https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md, 2018.
 
[16] Ethereum [Online]. Available: https://www.ethereum.org.
 
[17]. Ethereum Wiki, Problems. (2017a). [Online]. Available: https://github.com/ethereum/wiki/wiki/Problems
 
[18]. Florian, T., & Bjorn, S. (2016). Bitcoin and beyond: a technical survey on decentralized digital currencies. IEEE Communications Surveys & Tutorials, vol. 18, no. 3, pp. 2084–2123.
 
 [19] Feng, Q., He, D., Zeadally, S., Khan, M. K., Kumar, N. (2019). A survey on privacy protection in blockchain system. Journal of Network and Computer Applications, 126(15), 45-58.
 
 
[20] Haber, S., and W. S. Stornetta, S. (1991). How to time-stamp a digital document. Journal of Cryptology, 3(2), 99-111.
 
 [21] Kiayias, A., Russell, A., David, B., and Oliynykov, R. (2017). Ouroboros: A provably secure proof-of-stake blockchain protocol. Annual International Cryptology Conference, Springer, 357–388.
 
 [22] King, S., and Nadal, S. (2012). PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake.
 
[23] Lamport, L. (2001). Paxos made simple. ACM SIGACT News, 32(4), 18-25.
 
[24] Lamport, L., Shostak, R. E., and Marshall, C. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems, 4(3).
 
[25] Larimer, D. (2018). Delegated proof-of-stake (dpos), Bitshare whitepaper.
 
[26] Li, X., Jiang, P., Chen, T., Luo, X., and Wen, Q. (2018). A survey on the security of blockchain systems. Future Generation Computer Systems, https://doi.org/10.1016/j.future.2017.08.020
 
[27] Mazieres, D. (2015). The Stellar Consensus Protocol: a federated model for internet-level consensus [Online]. Available: https://www.stellar.org/papers/stellar-consensus-protocol.pdf.
 
[28] Milutinovic, M., He, W., Wu, H., and Kanwa, M. (2016). Proof of luck: an efficient Blockchain consensus protocol. Proceedings of the 1st Workshop on System Software for Trusted Execution, New York, NY.
 
[29] Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.
 
[30] Nem technical reference. Available: https://nem:io/wp-content/themes/nem/files/NEM techRef:pdf.
 
[31] Nguyen, G. T., and Kim, K. (2018). A Survey about Consensus Algorithms Used in Blockchain. Journal of Information Process Systems, 14(1), 101-128.
 
[32] Nxt wiki, (2016). Whitepaper: Nxt, [Online]. Available: https://nxtwiki.org/wiki/Whitepaper:Nxt.        
 
[33] P4Titan. (2014). Slimcoin: a peer-to-peer crypto-currency with proof-of-burn [Online]. Available: http://www.doc.ic.ac.uk/~ids/realdotdot/crypto_papers_etc_worth_reading/proof_of_burn/slimcoin_whitepaper.pdf.
 
[34] Poon, J., Dryja, T. (2016). The bitcoin lightning network: Scalable off-chain instant payments [White paper].
 
[35] Poon, J., Buterin, V. (2017). Plasma: Scalable autonomous smart contracts [White paper].
 
[36] Popov, S. (2016). A probabilistic analysis of the Nxt forging algorithm, Ledger, 1,69-83.
 
[37] QuorumChain Consensus [Online]. Available: https://github.com/jpmorganchase/quorum/wiki/QuorumChain-Consensus.
 
[38] Robert, E. (2017). Digital signatures, [Online]. Available: http://cs.stanford.edu/people/eroberts/courses/soco/projects/public-key-cryptography/dig_sig.html.
 
[39] Schwartz, D., Youngs, N., Britto, A. (2014). The ripple protocol consensus algorithm [Online]. Available: https://ripple.com/files/ripple_consensus_whitepaper.pdf.
 
[40] Sompolinsky, Y., and Zohar, Z. (2013). Accelerating Bitcoin's transaction processing: fast money grows on trees not chains, [Online]. Available: https://eprint.iacr.org/2013/881.pdf.
 
.
 
[41] Yang, R., Yu, F. R., Si, P., Yang, Z., & Zhang, Y. (2019). Integrated blockchain and edge computing Systems: A Survey, Some Research Issues and Challenges. IEEE Communications Surveys & Tutorials, vol. 21, no. 2, pp. 1508–1532.
 
[42] Yu, F. R. (2019). A service-oriented blockchain system with virtualization. Transactions on blockchain technology and Applications, vol. 1, no. 1, pp. 1–10.
 
[43] Yu, F. R., Liu, J., He, Y., Si, P., & Zhang, Y. (2018). Virtualization for distributed ledger technology (vdlt). IEEE Access, vol. 6, pp. 25019–25028.
 
[44] Vukolic, M. (2015). The quest for scalable blockchain fabric: Proof-of-work vs. BFT replication. International Workshop on Open Problems in Network Security, Zurich, Switzerland.
 
[45] Wu, M., Wang, K., Cai, X., Guo, S., M. Guo, M., and Rong, C.  (2019). A Comprehensive Survey of Blockchain: From Theory to IoT Applications and Beyond, IEEE Internet of Things Journal, 6(5), 8114-8154.
 
[46] Zhang, S., Lee, J. H. (2019), Analysis of the main consensus protocols of blockchain, ICT Express.