Excellent Practical Byzantine Fault Tolerance
Huanrong Tang, Yaojing Sun, Jianquan Ouyang
Abstract
Huanrong Tang, Yaojing Sun, Jianquan Ouyang
Abstract
With the rapid development of blockchain technology, more and more people are paying attention to the consensus mechanism of blockchain. Practical Byzantine Fault Tolerance (PBFT), as the first efficient consensus algorithm solving the Byzantine Generals Problem, plays an important role. But PBFT also has its problems. First, it runs in a completely closed environment, and any node can't join or exit without rebooting the system. Second, the communication complexity in the network is as high as O(n2), which makes the algorithm only applicable to small-scale networks. For these problems, this paper proposes an Optimized consensus algorithm, Excellent Practical Byzantine Fault Tolerance (EPBFT), in which nodes can dynamically participate in the network by combining a view change protocol with a node's add or quit request. Besides, in each round of consensus, the algorithm will randomly select a coordination node. Through the cooperation of the primary and the coordination node, we reduce the network communication complexity to O(n). Besides, we have added a reputation credit mechanism and a wrong node removal protocol to the algorithm for clearing the faulty nodes in time and improving the robustness of the system. Finally, we design experiments to compare the performance of the PBFT and EPBFT algorithms. Through experimental, we found that compared with the PBFT algorithm, the EPBFT algorithm has a lower delay, communication complexity, better scalability, and more practical.
OpenAlex reports 9 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
With the rapid development of blockchain technology, more and more people are paying attention to the consensus mechanism of blockchain. Practical Byzantine Fault Tolerance (PBFT), as the first efficient consensus algorithm solving the Byzantine Generals Problem, plays an important role. But PBFT also has its problems. First, it runs in a completely closed environment, and any node can't join or exit without rebooting the system. Second, the communication complexity in the network is as high as O(n2), which makes the algorithm only applicable to small-scale networks. For these problems, this paper proposes an Optimized consensus algorithm, Excellent Practical Byzantine Fault Tolerance (EPBFT), in which nodes can dynamically participate in the network by combining a view change protocol with a node's add or quit request. Besides, in each round of consensus, the algorithm will randomly select a coordination node. Through the cooperation of the primary and the coordination node, we reduce the network communication complexity to O(n). Besides, we have added a reputation credit mechanism and a wrong node removal protocol to the algorithm for clearing the faulty nodes in time and improving the robustness of the system. Finally, we design experiments to compare the performance of the PBFT and EPBFT algorithms. Through experimental, we found that compared with the PBFT algorithm, the EPBFT algorithm has a lower delay, communication complexity, better scalability, and more practical.
Key concepts: Byzantine fault tolerance, Computer science, Scalability, Quantum Byzantine agreement, Distributed computing, Fault tolerance, Node (physics), Robustness (evolution)