An improved practical Byzantine fault tolerance algorithm for aggregating node preferences

Abstract 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, soci...

Full description

Saved in:
Bibliographic Details
Main Authors: Xu Liu, Junwu Zhu
Format: Article
Language:English
Published: Nature Portfolio 2024-12-01
Series:Scientific Reports
Subjects:
Online Access:https://doi.org/10.1038/s41598-024-82579-1
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1846101327864659968
author Xu Liu
Junwu Zhu
author_facet Xu Liu
Junwu Zhu
author_sort Xu Liu
collection DOAJ
description Abstract 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.
format Article
id doaj-art-428627a09318471ea4f48c63c562dfaf
institution Kabale University
issn 2045-2322
language English
publishDate 2024-12-01
publisher Nature Portfolio
record_format Article
series Scientific Reports
spelling doaj-art-428627a09318471ea4f48c63c562dfaf2024-12-29T12:16:17ZengNature PortfolioScientific Reports2045-23222024-12-0114112510.1038/s41598-024-82579-1An improved practical Byzantine fault tolerance algorithm for aggregating node preferencesXu Liu0Junwu Zhu1School of Information Engineering, Yangzhou UniversitySchool of Information Engineering, Yangzhou UniversityAbstract 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.https://doi.org/10.1038/s41598-024-82579-1Distributed systemBlockchainConsensus algorithmVotingEvolutionary gameIncentive mechanism
spellingShingle Xu Liu
Junwu Zhu
An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
Scientific Reports
Distributed system
Blockchain
Consensus algorithm
Voting
Evolutionary game
Incentive mechanism
title An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
title_full An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
title_fullStr An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
title_full_unstemmed An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
title_short An improved practical Byzantine fault tolerance algorithm for aggregating node preferences
title_sort improved practical byzantine fault tolerance algorithm for aggregating node preferences
topic Distributed system
Blockchain
Consensus algorithm
Voting
Evolutionary game
Incentive mechanism
url https://doi.org/10.1038/s41598-024-82579-1
work_keys_str_mv AT xuliu animprovedpracticalbyzantinefaulttolerancealgorithmforaggregatingnodepreferences
AT junwuzhu animprovedpracticalbyzantinefaulttolerancealgorithmforaggregatingnodepreferences
AT xuliu improvedpracticalbyzantinefaulttolerancealgorithmforaggregatingnodepreferences
AT junwuzhu improvedpracticalbyzantinefaulttolerancealgorithmforaggregatingnodepreferences