A Review of Consensus Protocols in Permissioned Blockchains
Source: By:Author(s)
DOI: https://doi.org/10.30564/jcsr.v3i2.2921
Abstract:Consensus protocols are used for the distributed management of large databases in an environment without trust among participants. The choice of a specific protocol depends on the purpose and characteristics of the system itself. The subjects of the paper are consensus protocols in permissioned blockchains. The objective of this paper is to identify functional advantages and disadvantages of observed protocol. The analysis covers a total of six consensus protocols for permissioned blockchains. The following characteristics were compared: security, trust among participants, throughput and scalability. The results show that no protocol shows absolute dominance in all aspects of the comparison. Paxos and Raft are intended for systems in which there is no suspicion of unreliable users, but only the problem of a temporary shutdown. Practical Byzantine Fault Tolerance is intended for systems with a small number of nodes. Federated Byzantine Fault Tolerance shows better scalability and is more suitable for large systems, but can withstand a smaller number of malicious nodes. Proof-of-authority can withstand the largest number of malicious nodes without interfering with the functioning of the system. When choosing a consensus protocol for a blockchain application, one should take into account priority characteristics.
References:[1] Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. 2008. [2] Zheng, Z., Xie, S., Dai, H.N., Chen, X. & Wang, H. An overview of blockchain technology: architecture, consensus and future trends , IEEE 6th international congress on Big data, Honolulu, HI, 2017: 557- 564. https://doi.org/10.1109/BigDataCongress.2017.85 [3] Belotti, M., Božić, N., Pujolle, G. & Secci,S. A vademecum on blockchain technologies: when, which, and how, IEEE Communication, Surveys & Tutorials, 2019, 21(4): 3796-3838. [4] Oliveira, M.T., Reis, L.H.A., Medeiros, D.S.V., Carrano, R.C., Olabarriaga, S.D. & Mattos, D.M.F. Blockchain reputation-based consensus: A scalable and resilient mechanism for distributed mistrusting applications, Computer Networks, 2020,179: 107367. https://doi.org/10.1016/j.comnet.2020.107367 [5] Szabo, N. Formalizing and Securing Relationships on Public Networks. First Monday, 1997, 2(9). https://doi.org/10.5210/fm.v2i9.548 [6] Lamport, L. Time, Clocks and the Ordering of Events in a Distributed System. Communications of the ACM, 1978, 21(7): 558-565. [7] Schneider, F. Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Computing Surveys, 1990, 22(4): 299-319. [8] Bamakan, S.M.H., Motavali, A. & Bondarti, A.B. A survey of blockchain consensus algorithms performance evaluation criteria, Expert Systems with Applications, 2020, 154: 113385. https://doi.org/10.1016/j.eswa.2020.113385 [9] Ismail, L. & Materwala, H. A Review of Blockchain Architecture and Consensus Protocols: Use Cases, Challenges, and Solutions, Symmetry 2019, 2019, 11: 1198. https://doi.org/10.3390/sym11101198 [10] Zheng, Z., Xie, S., Dai, H.N. & Wang, H. Blockchain challenges and opportunities: A survey. International Journal of Web and Grid Services, 2018, 14(4): 352-375. [11] Lin, I.C. & Liao, T.C. A survey of blockchain security issues and challenges, International Journal of Network Security, 2017, 19(5): 653-659. https://doi.org/10.6633/IJNS.201709.19(5).01 [12] Wang, X., Zha, X., Ni, W., Liu, R.P., Guo, Y.J., Niu, X. & Zheng, K.. Survey on blockchain for internet of things, Computer Communication, 2019, 136: 10- 29. https://doi.org/10.1016/j.comcom.2019.01.006 [13] Lamport, L., Shostak, R., & Pease, M. The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems, 1982, 4(3): 382- 401. https://doi.org/10.1145/357172.357176 [14] Castro, M., Liskov, B. Practical Byzantine Fault Tolerance and Proactive Recovery. ACM Transactions on Computer Systems, 2002, 20 (4): 398-461. https://doi.org/10.1145/571637.571640 [15] Coelho, I. M., Coelho, V. N., Araujo, R. P., Yong, Q. W. & Rhodes, B. D. Challenges of PBFT-Inspired Consensus for Blockchain and Enhancements over Neo dBFT. Future Internet, 2020, 12(8): 129. https://doi.org/10.3390/fi12080129 [16] Manoppo, M. Delegated Byzantine Fault Tolerance Consensus Mechanism, Medium, 2018, June 15. [17] Yoo, J., Jung, Y., Shin, D., Bae, M. & Jee, E. Formal Modeling and Verification of a Federated Byzantine Agreement Algorithm for Blockchain Platforms, 2019 IEEE International Workshop on Blockchain Oriented Software Engineerin, 2019. [18] Schwartz, D., Youngs, N. & Britto, A. The Ripple Protocol Consensus Algorithm, 2018, retrieved from: https://ripple.com/files/ripple_consensus_whitepaper.pdf [19] Lamport, L. The part-time parliament, ACM Transactions on Computer Systems. 1998, 16(2): 133-169. https://doi.org/10.1145/279227.279229 [20] García-Pérez Á., Gotsman A., Meshman Y. & Sergey I. Paxos Consensus, Deconstructed and Abstracted. In: Ahmed A. (ed.) Programming Languages and Systems. ESOP 2018. Lecture Notes in Computer Science, 2018, 10801: 912-939, https://doi.org/10.1007/978-3-319-89884-1_32 [21] Lamport, L. Paxos made simple, ACM SIGACT News. 2001, 32(4): 51-58. [22] Ongaro, D. & Ousterhout, J. In Search of an Understandable Consensus Algorithm. Proceedings of the 2014 USENIX Annual Technical Conference (USENIX ATC 14), Philadelphia, PA, USA, 2014, 305-319. [23] Howard, H. & Mortier, R. Paxos vs Raft: Have we reached consensus on distributed consensus? , 7th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC ’20), April 27, 2020, Heraklion, Greece, 2020, https://doi.org/10.1145/3380787.3393681 [24] Polge, J., Robert, J. & Le Traon, Y. Permissioned blockchain frameworks in the industry: A comparison, ICT Express, in press, 2020, https://doi.org/10.1016/j.icte.2020.09.002 [25] Nasir, Q., Qasse, I.A., Abu Talib, M. & Nassif, A.B. Performance analysis of hyperledger fabric platforms, Security and Communication Networks, 2018, vol. 2018. https://doi.org/10.1155/2018/3976093 [26] Xian, M. NEO White paper, 2018. [27] McCaleb, J., Crain, B.F., Couture, S. & Roy, M. Soundcloud, 2017, retrieved from https://soundcloud.com/epicenterbitcoin/eb-128 [28] Jalalzai, M.M., Busch, C. & Richard, G.G. Proteus: A scalable bft consensus protocol for blockchains, 2019 IEEE International Conference on Blockchain, 2019, 308-313.