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 algorit...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.展开更多
The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to ...The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to support massive network nodes, the common participation over all nodes in the consensus mechanism would lead to increased communication complexity, and the arbitrary selection of master nodes would also lead to inefficient consensus. This paper offered a PBFT consensus method (Role Division-based Practical Byzantine Fault Tolerance, RD-PBFT) to address the above problems based on node role division. First, the nodes in the system voted with each other to divide the high reputation group and low reputation group, and determined the starting reputation value of the nodes. Then, the mobile node in the group was divided into roles according to the high reputation value, and a total of three roles were divided into consensus node, backup node, and supervisory node to reduce the number of nodes involved in the consensus process and reduced the complexity of communication. In addition, an adaptive method was used to select the master nodes in the consensus process, and an integer value was introduced to ensure the unpredictability and equality of the master node selection. Experimentally, it was verified that the algorithm has lower communication complexity and better decentralization characteristics compared with the PBFT consensus algorithm, which improved the efficiency of consensus.展开更多
基金This research was supported by Key Projects of the Ministry of Science and Technology of the People’s Republic of China(2018AAA0102301)Project of Hunan Provincial Science and Technology Department(2017SK2405)CERNET Innovation Project(NGII20170715),(NGII20180902).
文摘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.
文摘The PBFT (Practical Byzantine Fault Tolerance, PBFT) consensus algorithm, which addressed the issue of malicious nodes sending error messages to disrupt the system operation in distributed systems, was challenging to support massive network nodes, the common participation over all nodes in the consensus mechanism would lead to increased communication complexity, and the arbitrary selection of master nodes would also lead to inefficient consensus. This paper offered a PBFT consensus method (Role Division-based Practical Byzantine Fault Tolerance, RD-PBFT) to address the above problems based on node role division. First, the nodes in the system voted with each other to divide the high reputation group and low reputation group, and determined the starting reputation value of the nodes. Then, the mobile node in the group was divided into roles according to the high reputation value, and a total of three roles were divided into consensus node, backup node, and supervisory node to reduce the number of nodes involved in the consensus process and reduced the complexity of communication. In addition, an adaptive method was used to select the master nodes in the consensus process, and an integer value was introduced to ensure the unpredictability and equality of the master node selection. Experimentally, it was verified that the algorithm has lower communication complexity and better decentralization characteristics compared with the PBFT consensus algorithm, which improved the efficiency of consensus.