Consensus algorithms play a critical role in maintaining the consistency of blockchain data, directly affecting the system's security and stability, and are used to determine the binary consensus of whether proposals are correct. With the development of blockchain-related technologies, social choice issues such as Bitcoin scaling and main chain forks, as well as the proliferation of decentralized autonomous organization (DAO) applications based on blockchain technology, require consensus algorithms to reach consensus on a specific proposal among multiple proposals based on node preferences, thereby addressing the multi-value consensus problem. However, existing consensus algorithms, including Practical Byzantine Fault Tolerance (PBFT), do not support nodes expressing preferences. Instead, the proposal to reach consensus is directly decided by specific nodes, with other nodes merely verifying the proposal's validity, which can easily result in monopolistic or dictatorial outcomes. In response, we proposed the Aggregating Preferences with Practical Byzantine Fault Tolerance (AP-PBFT) consensus algorithm, which allows nodes to express preferences for multiple proposals. AP-PBFT ensures the validity of consensus results through a consensus output protocol, and incentivizes nodes to act honestly during the consensus process by incentive mechanism. First, AP-PBFT leverages Verifiable Random Function to select both consensus nodes and a primary node from the candidates. The primary node gathers proposals, assembles them into a proposal package, and broadcasts it to other consensus nodes. The consensus nodes independently vote to express their preferences for different proposals in the package, execute the consensus output protocol to reach local consensus, and the primary node aggregates these results to form the global consensus. Once the global consensus is finalized, AP-PBFT evaluates node behavior based on the consensus output protocol, penalizes nodes that acted maliciously, and rewards those that adhered to the protocol. Additionally, nodes can interact and adopt different strategies while executing the consensus output protocol, which can influence the consensus outcome. Therefore, we established an evolutionary game model based on hypergraph to analyze these interactions. Theoretical analysis shows that the incentive mechanism in AP-PBFT effectively encourages nodes to honestly follow the consensus output protocol, ensuring that AP-PBFT satisfies the properties of consistency, validity, and termination. Finally, the simulation results demonstrate that the AP-PBFT algorithm possesses good scalability and the capability to handle dynamic changes in nodes, surpassing some mainstream consensus algorithms in terms of transaction throughput and consensus achievement time. Moreover, AP-PBFT can incentivize honest behavior among consensus nodes, thereby enhancing the reliability of consensus and strengthening the security of the network.
Keywords: Blockchain; Consensus algorithm; Distributed system; Evolutionary game; Incentive mechanism; Voting.
© 2024. The Author(s).