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.展开更多
基金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.