A Practical Byzantine Fault Tolerant Algorithm Based on Credit Value and Dynamic Grouping
摘要
The Practical Byzantine Fault Tolerance (PBFT) consensus algorithm plays a pivotal role in the efficiency of blockchain networks. Despite several enhancements, optimized PBFT still grapples with issues, notably incomplete credit assessments, and uneven node groupings. While existing trust models predominantly focus on objectively evaluating nodes within the system, the subjective assessment of inter-node interactions remains relatively underexplored. Furthermore, post-grouping, the reduction in nodes within each group leads to a diminished capacity for Byzantine nodes. This poses a notable challenge to the algorithm’s effectiveness. In this paper, a practical Byzantine fault-tolerant algorithm (CDGPBFT) based on credit value and dynamic grouping is proposed to solve these problems. First, credit attributes are extended for nodes. The design of the node model introduces a dual judgment mechanism, including dynamic evaluation of node interactions and static system evaluation. Subsequently, nodes are categorized into three groups based on their credit scores: high, medium, and reserve node groups. Next, formulas are designed to enhance the master node election scheme and simplify the consensus process. Finally, a reward function based on node computational resources, network bandwidth, and storage capacity is proposed. Nodes that effectively complete the consensus process receive tokens as rewards, thus promoting accurate and rapid participation. Experimental validation shows that the enhanced algorithm has lower latency and communication overheads compared to PBFT, while also improving message throughput.