Abstract
Blockchain is a distributed system that maintains a public ledger using consensus protocols. The practical byzantine fault tolerance (PBFT) protocol is vital in consortium blockchains. However, there are still problems with system centralization, consensus inefficiency, high communication complexity, and other issues in PBFT and its improved algorithms. These restrict its widespread application in realistic environments. In this work, we propose a grouping-classification practical byzantine fault tolerance (GC-PBFT) improvement algorithm based on credit. First, we construct a credit model to dynamically evaluate the credit of nodes and rank them in descending order. Second, a grouping-classification model is built to divide nodes into three subgroups. Then, primary node, supervisory node, and consensus node are selected from these subgroups randomly, ensuring that the node roles are constantly updated to improve the security and fairness of the system. Additionally, the consensus process is simplified to improve the efficiency of the consensus and reduce communication complexity. Finally, experiments show that compared with PBFT and its improved algorithms, the GC-PBFT algorithm reduces communication complexity from \(O(N^2)\) to O(N). In addition, active and honest nodes can obtain higher credit, which lowers the possibility of malicious nodes being selected as consensus nodes, leading to higher consensus efficiency and better decentralization characteristics for the system.

















Similar content being viewed by others
Data and materials availability
The raw/processed data required to reproduce these findings cannot be shared as the data also form part of an ongoing study. The data supporting this study’s results are available on request from the author via e-mail to: Yilin Li [13235055799@163.com].
References
Huang H, Chen X, Wu Q, Huang X, Shen J (2018) Bitcoin-based fair payments for outsourcing computations of fog devices. Futur Gener Comput Syst 78(2):850–858
Jiang W, Wu X, Song M, Qin J, Jia Z (2023) Improved PBFT algorithm based on comprehensive evaluation model. Appl Sci 13(2):1117
Wang J, Li S, Ji W, Li D, Song B (2023) A composite blockchain associated event traceability method for financial activities. Peer-to-Peer Netw Appl 16(4):1696–1715
Wang Y, Wang W, Zeng Y, Yang T (2023) GradingShard: a new sharding protocol to improve blockchain throughput. Peer-to-Peer Netw Appl 16(3):1327–1339
Jakobsson M, Juels A (1999) Proofs of work and bread pudding protocols (extended abstract). Secur Inf Netw 23:258–272
King S, Nadal S (2012) PPCoin: peer-to-peer crypto-currency with proof-of-stake. self-published paper 19(1)
Lin Y, Wang Z, Hu G, Cao C, Li L (2023) An improved model on the vague sets-based DPoS’s voting phase in blockchain. IEEE Trans Netw Sci Eng 10:4010–4019
Ongaro D, Ousterhout JK (2014) In search of an understandable consensus algorithm. draft of October
Castro M, Liskov B (1999) Practical byzantine fault tolerance. ACM
Haytham Q, Jelena M, Vojislav BM, Chang X (2023) A two-stage PBFT architecture with trust and reward incentive mechanism. IEEE Internet Things J 10:11440–11452
Wang P, Wang X, Shen Y, Wang J, Xiong X (2023) PBFT optimization algorithm based on community contributions. Math Biosci Eng 20:10200–10222
Pawan H, Maddikunta PKR (2023) Secure PBFT consensus-based lightweight blockchain for healthcare application. Appl Sci 13:3757
Liu J, Feng W, Zhang Y, He F (2023) Improvement of PBFT algorithm based on CART. Electronics 12:1460
Lei K, Zhang Q, Xu L, Qi Z (2018) Reputation-based byzantine fault-tolerance for consortium blockchain. In: ICPADS 2018, pp 604–611
Wang Y, Cai S, Lin C, Chen Z, Wang T, Gao Z, Zhou C (2019) Study of blockchains’s consensus mechanism based on credit(article). IEEE Access 7:10224–10231
Gao S, Yu T, Zhu J, Cai W (2019) T-PBFT: an EigenTrust-based practical byzantine fault tolerance consensus algorithm. China Commun 16(12):111–123
Du N, Liang Z, Huang Y, Guo Z, Wang S (2020) Performance optimisation method of PBFT consensus for supply chain integration SVM. In: 2020 7th international conference on dependable systems and their applications (DSA)
Almakki R, AlSuwaidan L, Khan S, Baig AR, Basee S, Singh M (2022) Fault tolerance byzantine algorithm for lower overhead blockchain. Secur Commun Netw. https://doi.org/10.1155/2022/1855238
Micali S (2016) Algorand: The efficient and democratic ledger
Huang Q, An Q, Su H (2017) Study and realization of an improved PBFT algorithm as an Ethereum consensus mechanism. Comput Appl Softw 34(10):7
Fan X (2018) Scalable practical byzantine fault tolerance with short-lived signature schemes
Chen Z, Li Q (2019) Improved PBFT consensus mechanism based on k-medoids. Comput Sci 46(12):101–107
Chen J, Xian X, Yang Z, Liu W (2021) Improved practical byzantine fault tolerant consensus algorithm combined with BLS aggregating signature. Appl Res Comput 38(7):5
Gao N, Zhou C, Yang C, Song L, He W (2021) Improved PBFT algorithm based on network self clustering. Appl Res Comput 38(11):7
Xu X, Zhu D, Yang X, Wang S, Qi L, Dou W (2021) Concurrent practical byzantine fault tolerance for integration of blockchain and supply chain. ACM Trans Internet Technol 21(1):1–17
Wang J, Li Q (2023) Improved practical byzantine fault tolerance consensus algorithm based on raft algorithm. J Comput Appl 43(1):122–129
Zhuang Q, Liu Y, Chen L, Ai Z (2019) Proof of reputation: a reputation-based consensus protocol for blockchain based systems, 131–138
Wang H, Guo K, Pan Q (2019) Byzantine fault tolerance consensus algorithm based on voting mechanism. J Comput Appl 39(6):1766
Bugday A, Ozsoy A, Oztaner SM, Sever H (2019) Creating consensus group using online learning based reputation in blockchain networks. Pervasive Mob Comput 59:101056
Li F, Liu K, Liu J, Fan Y, Wang S (2020) DHBFT: Dynamic hierarchical byzantine fault-tolerant consensus mechanism based on credit. In: Aisa-pacific web and web-age information management joint conference on web and big data
Tu Y, Chen Y, Li T, Ren X, Qing X (2021) Improved PBFT scheme based on reputation voting. J Appl Sci 39(1):79–89
Deng X, Li K, Wang Z, Liu H (2022) A novel consensus algorithm based on segmented DAG and BP neural network for consortium blockchain. Secur Commun Netw. https://doi.org/10.1155/2022/1060765
Ren X, Zhang L (2022) Improved multi-primary-node consensus mechanism based on practical byzantine fault tolerance. J Comput Appl 42(5):1500
Chen R, Wang L, Zhu R (2022) PBFT consensus algorithm based on reputation value voting and random number election. Comput Eng 48(6):42–4956
Liu S, Zhang R, Liu C, Xu C, Zhou J, Wang J (2022) Improvement of the PBFT algorithm based on grouping and reputation value voting. Int J Digit Crime Forensics 14(3):1–15
Wang Y, Zhong M, Cheng T (2022) Research on PBFT consensus algorithm for grouping based on feature trust. Sci Rep 12(1):12515
Micali S, Rabin M, Vadhan S (1999) Verifiable random functions. IEEE Comput Soc
Funding
This work was supported by the National Social Science Fund of China (No.21XTQ015), the Natural Science Foundation of Fujian Province of China under Grant (Nos. 2023J01920, 2020J01905, 2020J01814), and the presidential research fund of Minnan Normal University (No. KJ18024).
Author information
Authors and Affiliations
Contributions
Yilin Li involved in conceptualization and writing the original draft. Hui Huang involved in methodology and writing—review and editing. Amei Lan involved in curating the software and conducting formal analysis. Zhengjie Huang involved in supervision.
Corresponding author
Ethics declarations
Conflict interest
The authors declare that no commercial or related interests conflict with any of the submitted work.
Ethical Approval
Not applicable.
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
Li, Y., Huang, H., Lan, A. et al. A practical byzantine fault tolerance improvement algorithm based on credit grouping-classification. J Supercomput 80, 20270–20301 (2024). https://doi.org/10.1007/s11227-024-06199-2
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-024-06199-2