Abstract
To address the limitations of the Raft consensus algorithm, such as the lack of support for Byzantine fault tolerance, performance bottleneck of the leader single node, and high leader election delay, an improved Byzantine fault tolerance consensus algorithm called RaBFT based on Raft is proposed. The distribution process of log messages is optimized by utilizing the secret sharing technique to make it Byzantine fault tolerance, and the role of the committee is introduced to share the communication pressure of the leader, thereby resolving the performance bottleneck issue of the leader single node. The leader election algorithm based on a dynamic committee improves the speed of leader election and reduces the time required for leader election. The experimental results show that RaBFT algorithm has a significant improvement in throughput and consensus delay in the log replication phase, and has a lower leader election delay, RaBFT algorithm can improve the efficiency and performance of the system, it is a safe and efficient consensus algorithm.












Similar content being viewed by others
Data availability
No datasets were generated or analyzed during the current study.
References
Du Z, Qu Z, Fu Y, Huang M, Liu L (2023) Multi-strategy-based leader election mechanism for the raft algorithm. Concurr Comput Pract Exp 35(22):7734
Fox A, Brewer EA (1999) Harvest, yield, and scalable tolerant systems. In: Proceedings of the Seventh Workshop on Hot Topics in Operating Systems, pp. 174–178. IEEE
Bonawitz K, Eichner H, Grieskamp W, Huba D, Ingerman A, Ivanov V, Kiddon C, Konečnỳ J, Mazzocchi S, McMahan B et al (2019) Towards federated learning at scale: system design. Proc Mach Learn Syst 1:374–388
Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. ACM SIGACT News 33(2):51–59
Lamport L (2001) Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), 51–58
Ongaro D, Ousterhout J (2014) In search of an understandable consensus algorithm. In: 2014 USENIX Annual Technical Conference (USENIX ATC 14), pp. 305–319
Tian S, Bai F, Shen T, Zhang C, Gong B (2024) Vssb-raft: a secure and efficient zero trust consensus algorithm for blockchain. ACM Trans Sensor Netw 20(2):1–22
Fu W, Wei X, Tong S (2021) An improved blockchain consensus algorithm based on raft. Arab J Sci Eng 46(9):8137–8149
Stadler M (1996) Publicly verifiable secret sharing. In: International Conference on the Theory and Applications of Cryptographic Techniques, pp. 190–199. Springer
Xie T, Liu X (2022) A raft algorithm with byzantine fault-tolerant performance. In: Proceedings of the 5th International Conference on Information Science and Systems, pp. 95–99
Huang D, Li L, Chen B, Wang B (2021) Rbft: a new byzantine fault-tolerant consensus mechanism based on raft cluster. J Commun 42(3):209–219
Liu J, Li W, Karame GO, Asokan N (2018) Scalable byzantine consensus via hardware-assisted secret sharing. IEEE Trans Comput 68(1):139–151
Guo H, Li W, Nejad M (2022) A hierarchical and location-aware consensus protocol for IoT-blockchain applications. IEEE Trans Netw Serv Manage 19(3):2972–2986
Yi H, Lin W, Huang X, Cai X, Chi R, Nie Z (2021) Energy trading IoT system based on blockchain. Swarm Evol Comput 64:100891
Gul MJJ, Paul A, Rho S, Kim M (2020) Blockchain based healthcare system with artificial intelligence. In: 2020 International Conference on Computational Science and Computational Intelligence (CSCI), pp. 740–741. IEEE
Kuo T-T, Kim H-E, Ohno-Machado L (2017) Blockchain distributed ledger technologies for biomedical and health care applications. J Am Med Inform Assoc 24(6):1211–1220
Yang X, Li M, Yu H, Wang M, Xu D, Sun C (2021) A trusted blockchain-based traceability system for fruit and vegetable agricultural products. IEEE Access 9:36282–36293
Hassan NU, Yuen C (2019) Blockchain technologies for smart energy systems: fundamentals, challenges, and solutions. IEEE Ind Electron Mag 13(4):106–118
Larsson L, Tärneberg W, Klein C, Elmroth E, Kihl M (2020) Impact of etcd deployment on Kubernetes, Istio, and application performance. Softw Pract Exp 50(10):1986–2007
Paksula M (2010) Persisting objects in redis key-value database. University of Helsinki, Department of Computer Science. 27
Alquraan A, Takruri H, Alfatafta M, Al-Kiswany S (2018) An analysis of \(\{\)network-partitioning\(\}\) failures in cloud systems. In: 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18), pp. 51–68
Tan D, Hu J, Wang J (2019) 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
Wu Y, Wu Y, Liu Y, Shi T (2022) The research of the optimized solutions to raft consensus algorithm based on a weighted pagerank algorithm. In: 2022 Asia Conference on Algorithms, Computing and Machine Learning (CACML), pp. 784–789. IEEE
Rong B, Zheng Z (2022) Frcr: Raft consensus scheme based on semi asynchronous federal reconstruction. IEEE Trans Netw Serv Manage 19(4):3822–3834
Wang R, Zhang L, Xu Q, Zhou H (2019) 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
Tian S, Liu Y, Zhang Y, Zhao Y (2021) A byzantine fault-tolerant raft algorithm combined with schnorr signature. In: 2021 15th International Conference on Ubiquitous Information Management and Communication (IMCOM), pp. 1–5. IEEE
Wang Y, Li S, Xu L, Xu L (2021) Improved raft consensus algorithm in high real-time and highly adversarial environment. In: Web Information Systems and Applications: 18th International Conference, WISA 2021, Kaifeng, China, September 24–26, 2021, Proceedings 18, pp. 718–726. Springer
Dai K (2017) Design of optimized log replication distributed consensus algorithm olr-raft based on raft. Master’s thesis, Huazhong University of Science and Technology
Wang J, LI Q (2023) Improved practical byzantine fault tolerance consensus algorithm based on raft algorithm. J Comput Appl 43(1):122
Shamir A (1979) How to share a secret. Commun ACM 22(11):612–613
Zamani M, Movahedi M, Raykova M (2018) Rapidchain: scaling blockchain via full sharding. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, pp. 931–948
Huang D, Li L, Chen B, Wang B (2021) Rbft: a new byzantine fault-tolerant consensus mechanism based on raft cluster. J Commun 42(3):209–219
Singh S, Hosen AS, Yoon B (2021) Blockchain security attacks, challenges, and solutions for the future distributed IoT network. IEEE Access 9:13938–13959
Castro M, Liskov B et al (1999) Practical byzantine fault tolerance. OsDI 99:173–186
Bamakan SMH, Motavali A, Bondarti AB (2020) A survey of blockchain consensus algorithms performance evaluation criteria. Expert Syst Appl 154:113385
Zhang X, Miao X, Xue M et al (2022) A reputation-based approach using consortium blockchain for cyber threat intelligence sharing. Secur Commun Netw 2022:7760509
Author information
Authors and Affiliations
Contributions
All authors contributed to the conceptualization and design of the study. FB and FL were responsible for conducting the literature review and data analysis and led the development of the experiments and the writing of the manuscript. TS and KZ provided significant support in technical discussions and were actively involved in writing and revising the manuscript. XZ and CZ provided invaluable technical insights into the study and ensured the quality of the manuscript.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare no Conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Bai, F., Li, F., Shen, T. et al. RaBFT: an improved Byzantine fault tolerance consensus algorithm based on raft. J Supercomput 80, 21533–21560 (2024). https://doi.org/10.1007/s11227-024-06284-6
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-024-06284-6