Abstract
A new algorithm for practical Byzantine fault tolerance (PBFT), called score-PBFT or S-PBFT, is proposed to solve the problems of high communication overhead and low algorithm efficiency. This algorithm is based on the characteristics of the consortium chain. The scoring mechanism for nodes is added. All the nodes are broken up into consensus nodes, candidate nodes, and early nodes. To make sure the consensus nodes are as reliable as possible, the nodes are changed dynamically based on how each node is behaving. Improved: the election method for the controller node has been changed. The node's score and behaviour are used as the election basis to make the algorithm more stable. In this paper, we want to improve the consensus protocol's execution process, cut down on how many nodes are involved in the consensus process, simplify it, and make it more efficient. Results show that, when compared with the PBFT algorithm, the S-PBFT algorithm has a shorter consensus delay, less communication overhead and throughput, and better consensus node reliability.