Submitted:
26 July 2023
Posted:
27 July 2023
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Design of SP-PBFT Consensus Algorithm
2.1. Algorithm Idea
2.2. Algorithm Notation
2.3. Description of Consensus Process
2.3.1. Optimistic Mode
2.3.2. Pessimistic Mode
2.4. Node Evaluation Mechanism
| Algorithm 1 Node Reputation Value Initialization |
| Input: rTime , aReport , aTrade , Credit , C, times , R , S; 1: Begin 2: set R = {Ri| 0≤i≤|R|-1} 3: for Ri ∈R 4: Ri. rTime =0; 5: Ri. aReport =0; 6: Ri. aTrade =0; 7: Ri. Credit =0; 8: Value= aReport + aTrade + Credit - rTime; 9: end for 10: set S = {Si| 0≤i≤|S|-1} 11: for Si∈S 12: Si. rTime=0; 13: Si. aReport=0; 14: Si. aTrade=0; 15: Si. Credit =0; 16: Value= aReport + aTrade +Credit- rTime; 17: end for 18: set C=0; 19: set times=0; 20: end Output :R ,S, Value ,V, times; |
| Algorithm 2 Consensus Node Selection |
| Input: rTime , aReport ,aTrade , Credit , C , times , R , S ; 1: Begin 2: for Ri∈R 3: Value= aReport + aTrade + Credit – rTime ; 4: end for 5: if(Ri.Value<C)||(Ri==S&&Ri∉R) // Determine whether the reputation value of Ri node exceeds the consensus node reputation value threshold 6: set temp=Ri; 7: set Ri=S.max; 8: S.max =temp; 9: times=times+1; 10: for S.max∈S // Place the eliminated consensus nodes in the candidate node set and sort them by reputation value 11: if(S[i]<S[i-1]) 12: S [0] =S[i]; 13: for ( j=i-1 ; S [0]<S[j];--j) 14: S[j+1] =S[j]; 15: S[j+1] =S [0]; 16: end for 17: end if 18: end for 19: end if 20: end Output: R , S , Value , times; |
2.5. Fibonacci Grouping
2.5.1. Consensus Node Selection
2.5.2. Master Node Selection
3. Analysis of Theoretical and Experimental Results
3.1. Theoretical Analysis
3.1.1. Security Analysis
3.1.2. Consensus Efficiency Analysis
- (1)
- The consensus protocol is optimized by using the idea of speculation. When the system has no delay, only the optimistic mode is executed to reduce the communication complexity.
- (2)
- Secondly, a node evaluation mechanism is proposed to calculate the reputation value according to the historical behavior of the node, so that the consensus nodes are well-behaved nodes and the probability of view switching is reduced.
- (3)
- The Fibonacci group consensus is proposed, and only half of the nodes in each group are selected to participate in the consensus, which reduces the number of nodes participating in the consensus and fundamentally improves the efficiency of consensus.
3.2. Analysis of Experimental Results
3.2.1. Experimental Environment
3.2.2. Throughput
3.2.3. Time Delay Analysis
3.2.4. Fault Tolerance
3.2.5. Communication Complexity
3.3. Comparison of Related Consensus Algorithms
4. Conclusions and Outlook
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Yao Shuang, Zhang Dawei, Li Yong, Wang Wei. Overview of research on privacy protection technology of blockchain transaction content. Journal of Cryptography, 2022,9 (04): 596-618.
- Xiao Yao, Feng Yong, Li Yingna, etc. Blockchain transaction data privacy protection scheme based on Homomorphic encryption. Journal of Cryptography, 2022,9 (06): 1053-1066.
- Han Yufang. Research on the Application of Computer Software Technology in the Big data Era. Electronic Technology and Software Engineering, 2023, No.244 (02): 47-51. [CrossRef]
- Zhang Yuchao. Application of Computer Network and Cloud Computing Technology. Integrated Circuit Application, 2023,40 (02): 44-46.
- Guo Xiaoyu, Liu Weibin, Qian Yu. China's Artificial Intelligence Industry and State of the art. Quality and Certification, 2023, No.198 (04): 46-48.
- Jin Shixiong, Zhang Xiaodan, Ge Jingguo, et al. A Review of Blockchain Consensus Algorithms. Journal of Information Security, 2021,6 (02): 85-100.
- Lamport, L. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 1978, 21(7): 558-565. [CrossRef]
- Lamport, L. The Part-time Parliament. ACM Transactions on Computer Systems, 1998, 16(2): 133-169. [CrossRef]
- Pires M, Ravi S, Rodrigues R. Generalized Paxos Made Byzantine (and less Complex). Lecture Notes in Computer Science. Cham: Springer International Publishing, 2017: 203-218. [CrossRef]
- Kafka official website. https://kafka.apache.org/documentation/. Jan. 2019. [28] Ongaro D, Ousterhout J. K. In search of an understandable consensus algorithm. The usenix annual technical conference, 2014: 305-320.
- Lamport L, Shostak R, Pease M. The Byzantine generals problem. ACM Trans on Programming Languages and Systems, 1982,4 ( 3) : 382-401.
- Sukhwani H,Martínez J M,Chang Xiaolin,et al. Performance modeling of PBFT consensus process for permissioned blockchain network ( Hyperledger Fabric)/Proc of the 36th Symposium on Reliable Distributed Systems. Piscataway,NJ: IEEE Press,2017: 253-255..
- Ongaro D, Ousterhout J. K. In search of an understandable consensus algorithm. The usenix annual technical conference, 2014: 305-320.
- Dwork C, Naor M. Pricing via Processing or Combatting Junk Mail[M]. Advances in Cryptology CRYPTO 92. Berlin, Heidelberg: Springer Berlin Heidelberg, : 139-147.
- Back, A. Hashcash - A Denial of Service Counter-Measure. http://www.hashcash.org/papers/hashcash.pdf. Jan. 2019.
- King, S. PPCoin: Peer-to-Peer Crypto-Currency with Proof-of Stake. https://peercoin.net/assets/paper/peercoin-paper.pdf. Nov. 2014.
- Tendermint: Consensus without mining. https://tendermint.com/ static/docs/tendermint.pdf. May. 2019. [38] Miller A, Xia Y, Croman K, et al. The Honey Badger of BFT Protocols.The 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016: 31-42.
- Miller A, Xia Y, Croman K, et al. The Honey Badger of BFT Protocols.The 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016: 31-42.
- Tangaroa: a byzantine fault tolerant raft. http://www.scs.stanford. edu/14aucs244b/labs/projects/copeland zhong.pdf. May. 2019.
- Zhu Xiaowu, Wei Wenshi. Consensus and Bifurcation of Blockchain: Analysis of the Impact of The DAO Case on Ethereum Bifurcation and Its Enlightenment. Management Review, 2021,33 (11): 324-340.
- Wang Sen, Li Zhihuai, Jia Zhipeng. Improved PBFT consensus algorithm for randomly selecting main nodes. Computer Application and Software, 2022, 39 (10): 299-306.
- Fang Yi, Deng Jianqiu, Jungle Tiger, etc. An improved PBFT blockchain consensus algorithm based on ring signature. Computer engineering, 2019, 45 (11): 32-36.
- Zhang Meng, Wang Baocheng. Improving Byzantine fault tolerance consensus algorithm based on recommended trust model. Computer Application Research, 2023,40 (03): 667-670.
- Ren Xiyu, Tong Xiangrong, Zhang Wei. PBFT consensus algorithm based on trust evaluation model. Journal of Shanxi University (Natural Science Edition), 2023,46 (01): 108-118.
- Qin Weijie. PBFT Consensus Algorithm Based on Node Partition Clustering. Information Technology and Informatization, 2023, No.274 (01): 65-69.
- Feng Liao, Ding Yan, Liu Kunlin, et al. Progress in Blockchain BFT Consensus Algorithm Research. Computer Science, 2022,49 (04): 329-339.
- Xiao Bingbing, Li Zheng, Li Xiaoruo, etc. Consensus algorithm based on the importance of Fibonacci grouping. Computer and Digital Engineering, 2021,49 (12): 2509-2513+2525.
- Zhao Lijin, Wang Xinsheng, Xia Chunzhong. Research on PBFT consensus mechanism based on trust model. Computer Application and Software, 2022, 39 (07): 304-309.
- Feng Xia, Cui Kaiping, Xie Qingqing, et al. A Distributed Anonymous Authentication Scheme Based on Blockchain in VANET. Journal of Communications, 2022,43 (09): 134-147.
- Wu Teng, Huang Kai, Zhou Linlin, etc. Research on blockchain consistency algorithm with state legitimacy verification. Computer engineering, 2018,44 (01): 160-164.
- FOX G. Peer-to-peer Networks. Computing in Science & Engineering, 2001, 3(3): 75-77.
- APPEL A W. Verification of a Cryptographic Primitive: SHA-256. Proceedings of the Society for Information and Biliology, 2015, 37(2):7.1-7.31.









| Consensus Algorithm | Classification | Characteristic | Advantage |
|---|---|---|---|
| Speculative consensus algorithm | Optimistic mode | Node behavior does not apply any protective measures to resist malicious node attacks without delay and with the main node secure | Quickly reach consensus and reduce communication complexity |
| Pessimistic mode | When there is a delay in node behavior or when the main node is a malicious node, protective measures are added to the algorithm to resist malicious node attacks | Being able to identify Byzantine nodes in the system and improve the security of the consensus process |
| Consensus Algorithm | Comparison of Consensus Algorithms | |||
|---|---|---|---|---|
| Suitable for Dynamic Networks | Speculation | Reduce the Number of Consensus Nodes | Communication Complexity | |
| PBFT | × | × | × | O(n2) |
| T-PBFT | √ | × | × | <O(n2) |
| RPBFT | √ | × | × | O(n) |
| SP-PBFT | √ | √ | √ | Optimistic mode O (n) or Pessimistic mode O (n2) |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).