Abstract
To address the problem of performance degradation caused by the blockchain backup mechanism as well as the high throughput and low latency requirements characteristic of blockchain applications, this paper optimizes the Raft consensus algorithm for the Hyperledger Fabric platform in terms of both log replication and leader election. In the log replication phase, the improvement of log replication based on apportionment idea aims to reduce the communication complexity of leader node by involving peer node in distributing log information. In the leader election phase, the improvement of leader election based on vote change mechanism changes the vote affiliation of peer node based on a comparison of votes from candidate nodes, aims to reach consensus in a round of election and reduces the election time. Through the performance test of the blockchain, it is demonstrated that the improved AdRaft algorithm improves 5.8% in throughput and reduces 1.3% in latency over the original Raft algorithm.
Similar content being viewed by others
References
Lamport, L.; Shostak, R.; Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Castro, M.; Liskov, B.: Practical Byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20(4), 398–461 (2002)
Narayanan, A.; Bonneau, J.; Felten, E., et al.: Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, p. 27–30. Princeton University Press, Princeton, NJ (2016)
Sheikh, H.; Meer, A.R.; Rizwan, F.: Smart contract development, adoption and challenges: the powered blockchain. Int Res J Adv Eng Sci 4(2), 321–324 (2019)
The ZILLIQA Technical Whitepaper[EB/OL]. https://docs.zilliqa.com/whitepaper.pdf
Gilad, Y.; Hemo, R.; Micali, S., et al.: Algorand: scaling byzantine agreements for cryptocurrencies. In: 2017 ACM SIGOPS 26th Symposium on Operating Systems Principles, pp. 51–68. ACM, Shanghai (2017)
Li, C.; Li, P.; Zhou, D., et al.: Scaling nakamoto consensus to thousands of transactions per second. Comput. Sci. (2018)
Wang, J.; Wang, H.: Monoxide: scale out blockchains with asynchronous consensus zones. In: 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI), pp. 95–112. Boston, MA, United States (2019)
James, A.; Myers, D.S.; Barbara, L., et al. HQ replication: a hybrid quorum protocol for byzantine fault tolerance. In: SOSP' 07: Proceedings of the 21st ACM symposium on Operating systems principles. New York, USA. 2006: 177–190.
Ramakrishna, K.; Lorenzo, A.; Mike, D., et al.: Zyzzyva: speculative byzantine fault tolerance. ACM Trans. Comput. Syst. 27(4), 45–58 (2009)
Liu, J.; Li, W.; Karame, G., et al.: Scalable byzantine consensus via hardware-assisted secret sharing. IEEE Trans Comput 68(1), 139–151 (2018)
Baird, L.: The Swirlds hashgraph consensus algorithm: fair fast byzantine fault tolerance[EB/OL]. http://www.swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf
Andrew M., Xia Yu, Kyle C., et al. The honey badger of BFT protocols. In: CCS '16: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 31–42. ACM, Vienna (2016)
Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)
Junqueira, F.P.; Reed, B.C.; Serafini, M.: Zab: high-performance broadcast for primary-backup systems. In: IEEE/IFIP 41st International Conference on Dependable Systems and Networks (DSN), pp. 245–256. IEEE Press, Hong Kong, China (2011)
Burrows, M.: The Chubby lock service for loosely-coupled distributed systems. In: 7th Symposium on Operating Systems Design and Implementation (OSDI '06), pp. 335–350. USENIX Association, Seattle (2006).
Ongaro, D; Ousterhout, J.: In search of an understandable consensus algorithm. In: USENIX Annual Technical Conference. [s.l.], pp. 305–319. USENIX (2014)
Wang, Z.; Li, T.; et al.: CRaft: an erasure-coding-supported version of raft for reducing storage cost and network cost. In: 18th USENIX Conference on File and Storage Technologies (FAST '20), pp. 303–344. USENIX, Santa Clara (2020)
Tan, D.; Hu, J.; Wang, J.: VBBFT-Raft: an understandable blockchain consensus protocol with high performance. In: 2019 IEEE 7th International Conference on Computer Science and Network Technology (ICCSNT), pp. 111–115. IEEE, Dalian (2019)
Wang, R.; Zhang, L.; Zhou, H.; Xu, Q.: A byzantine fault tolerance raft algorithm combines with BLS signature. J. Appl. Sci. 38(01), 93–104 (2020)
Wang, R.; Zhang, L.; Xu, Q., et al. K-bucket based raft-like consensus algorithm for permissioned blockchain. In: 2019 IEEE 25th International Conference on Parallel and Distributed Systems (ICPADS), pp. 996–999. IEEE, Tianjin (2019)
Dai, K.: Design of Optimized Log Replication Distributed Consensus Algorithm OLR-Raft Based on Raft. Huazhong University of Science and Technology, Wuhan (2017)
Zhike, W.: Research on Consistency Problem of Distributed System Based on Raft Consensus Algorithm. Xidian University, Xi’an (2019)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work was supported by Chongqing technology innovation and application development special key projects under award cstc2018jszx-cyzdX0036.
Rights and permissions
About this article
Cite this article
Fu, W., Wei, X. & Tong, S. An Improved Blockchain Consensus Algorithm Based on Raft. Arab J Sci Eng 46, 8137–8149 (2021). https://doi.org/10.1007/s13369-021-05427-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-021-05427-8