Liu Xu, Zhu Junwu
School of Information Engineering, Yangzhou University, Yangzhou, Jiangsu, China.
Sci Rep. 2024 Dec 28;14(1):31200. doi: 10.1038/s41598-024-82579-1.
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.
共识算法在维护区块链数据的一致性方面起着关键作用,直接影响系统的安全性和稳定性,用于确定提案是否正确的二元共识。随着区块链相关技术的发展,比特币扩容和主链分叉等社会选择问题,以及基于区块链技术的去中心化自治组织(DAO)应用的激增,要求共识算法基于节点偏好,在多个提案中就特定提案达成共识,从而解决多值共识问题。然而,现有的共识算法,包括实用拜占庭容错(PBFT),不支持节点表达偏好。相反,达成共识的提案直接由特定节点决定,其他节点只是验证提案的有效性,这很容易导致垄断或独裁的结果。对此,我们提出了具有实用拜占庭容错的聚合偏好(AP-PBFT)共识算法,该算法允许节点对多个提案表达偏好。AP-PBFT通过共识输出协议确保共识结果的有效性,并通过激励机制激励节点在共识过程中诚实行事。首先,AP-PBFT利用可验证随机函数从候选节点中选择共识节点和主节点。主节点收集提案,将它们组装成提案包,并将其广播给其他共识节点。共识节点独立投票以表达对包中不同提案的偏好,执行共识输出协议以达成局部共识,主节点聚合这些结果以形成全局共识。一旦全局共识确定,AP-PBFT根据共识输出协议评估节点行为,惩罚恶意行为的节点,并奖励遵守协议的节点。此外,节点在执行共识输出协议时可以进行交互并采用不同策略,这可能会影响共识结果。因此,我们建立了一个基于超图的演化博弈模型来分析这些交互。理论分析表明,AP-PBFT中的激励机制有效地鼓励节点诚实地遵循共识输出协议,确保AP-PBFT满足一致性、有效性和终止性的属性。最后,仿真结果表明,AP-PBFT算法具有良好的可扩展性和处理节点动态变化的能力,在交易吞吐量和共识达成时间方面优于一些主流共识算法。此外,AP-PBFT可以激励共识节点中的诚实行为,从而提高共识的可靠性并加强网络的安全性。