PnV: An Efficient Parallel Consensus Protocol Integrating Proof and Voting
Abstract
:1. Introduction
2. Related Work
2.1. Blockchain Consensus Integrating Voting and Proof
2.2. Blockchain Scalability Solution
3. Node and Data Model
3.1. Role Model
3.2. Data Structure
4. PnV Consensus Protocol
4.1. Three-Phase Consensus Process
- 1.
- Propose Phase
Algorithm 1: Propose phase. | |
1: | if do_propose = true do |
2: | h←getBlockChainHeight() + 1; |
3: | gen_block_group_num←h%(Bw + 1); |
4: | if gen_block_group_num = 0 and leader do |
5: | VoteForNextBookkeepers(); |
6: | end if |
7: | block←GenerateBlock(); |
8: | Msg_Block←GenerateBlockMsg(block); |
9: | for node in node_list do |
10: | SendMessage(node, Msg_Block); |
11: | end for |
12: | do_propose = false; |
13: | end if |
14: | return |
- 2.
- Vote Phase
Algorithm 2: Vote phase. | |
1: | if do_vote = true do |
2: | received_block_num←getLen(received_block_set); |
3: | Nw←getBookkeeperAmount(); |
4: | if received_block_num< Nw and Nepoch = 0 do |
5: | return |
6: | end if |
7: | Initial Vote_Ticket to a list with Nw {null, 0} elements; |
8: | for block in received_block_set do |
9: | block_num←getBlockNum(block); |
10: | header←getHeader(block); |
11: | hash←getHash(block); |
12: | opnion←VerifiedBlock(block); |
13: | Vote_Ticket[block_num]←Pair(hash,opinion); |
14: | end for |
15: | Msg_Vote←getVoteMsg(Vote_Ticket); |
16: | node←getLeaderNode(); |
17: | sendMessage(node, Msg_Vote); |
18: | do_vote = false; |
19: | end if |
20: | return |
- 3.
- Commit Phase
Algorithm 3: Commit phase. | |
1: | if do_commit = true do |
2: | Can_Generated_Result, Result_List←VoteListStatistic(Vote_List); |
3: | if Can_Generated_Result = false do |
4: | return |
5: | end if |
6: | block_group_header←GenerateBlockGroupHeader(Vote_List, Result_List); |
7: | Msg_Block_Group_Header←getBlockGroupHeaderMsg(block_group_header); |
8: | for node in node_list do |
9: | sendMessage(node, Msg_Block_Group_Header); |
10: | end for |
11: | do_commit =false; |
12: | end if |
13: | return |
4.2. Transaction Allocation Mechanism
4.3. Timeout Handling Mechanism
- Voter failure: The determination of the legality or illegality of blocks generated by bookkeepers relies on the voting process conducted by voters. In case of voter failure, both positive and negative votes for a block may fall below the threshold, resulting in an inability to generate statistical results. Consequently, the leader will persistently await the fulfillment of statistical conditions, while other nodes will also experience prolonged waiting periods for the block group header.
- Bookkeeper failure: Given that voters are required to receive all blocks from every bookkeeper prior to voting, any failure on the part of a bookkeeper will result in prolonged waiting times for voters as they await the arrival of these blocks.
- Leader failure: In the event of a leader’s failure, all nodes will enter a state of waiting for the block group header.
- Step 1. All nodes initiate a request to obtain the blockchain height from all voters and maintain an updated record of each voter’s online status. In the event that there exists a voter whose blockchain height surpasses that of the local blockchain, a request is made to acquire block groups from said voter while simultaneously ceasing timeout handling. Conversely, if no such voter with a higher blockchain height is found, proceed with Steps 2–4.
- Step 2. Promptly execute the voting operation by all voters. In case a block has been received, proceed with the conventional voting process. Otherwise, assign a value of 0 (indicating no opinion), and set the hash value as nil. Subsequently, transmit the vote to the leader of the subsequent epoch.
- Step 3. Upon receiving more than votes, the leader proceeds to tally the votes for each block within the block group, thereby generating a statistical result. At this juncture, if a block accumulates over votes for any given hash value, it is deemed a valid block and assigned a vote result of 1; otherwise, it is classified as an invalid block with a corresponding vote result of −1.
- Step 4. If , indicating multiple occurrences of timeout, it becomes imperative to replace the leader. Assuming the bookkeeper number prior to this timeout to be denoted by , the subsequent leader’s number shall be determined by .
5. Theoretical Analysis
5.1. Resistance to Conflict Transactions
5.2. Performance Analysis
6. Research Method and Experiment
6.1. Consensus Throughput and Network Load
6.2. Comparison from an Algorithmic Perspective
6.3. Comparison from a Systemic Perspective
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decentralized Bus. Rev. 2008, 21260, 1–9. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 9 April 2024). [CrossRef]
- Ariffin, N.; Ismail, A.Z. The design and implementation of trade finance application based on hyperledger fabric permissioned blockchain platform. In Proceedings of the 2019 International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), Yogyakarta, Indonesia, 5–6 December 2019; pp. 488–493. [Google Scholar]
- Liyuan, L.; Meng, H.; Yiyun, Z.; Reza, P. E^2 c-chain: A two-stage incentive education employment and skill certification blockchain. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 140–147. [Google Scholar]
- Guo, H.; Li, W.; Nejad, M.; Shen, C.C. Access control for electronic health records with hybrid blockchain-edge architecture. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 44–51. [Google Scholar]
- Fu, Y.; Zhu, J. Operation mechanisms for intelligent logistics system: A blockchain perspective. IEEE Access 2019, 7, 144202–144213. [Google Scholar] [CrossRef]
- Lamport, L.; Shostak, R.; Pease, M. The byzantine generals problem. ACM Trans. Program. Lang. Syst. 1982, 4, 382–401. [Google Scholar] [CrossRef]
- Castro, M.; Liskov, B. Practical byzantine fault tolerance. In Proceedings of the OSDI’99: Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, LA, USA, 22–25 February 1999; pp. 173–186. [Google Scholar]
- Bessani, A.; Sousa, J.; Alchieri, E.E.P. State machine replication for the masses with bft-smart. In Proceedings of the 2014 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Atlanta, GA, USA, 23–26 June 2014; pp. 355–362. [Google Scholar]
- King, S.; Nadal, S. Ppcoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake. Self-Published Paper, August 2012. Available online: https://bitcoin.peryaudo.org/vendor/peercoin-paper.pdf (accessed on 9 April 2024).
- Xiao, Y.; Zhang, N.; Lou, W.; Hou, Y.T. Modeling the impact of network connectivity on consensus security of proof-of-work blockchain. In Proceedings of the IEEE INFOCOM 2020—IEEE Conference on Computer Communications, Toronto, ON, Canada, 6–9 July 2020; pp. 1648–1657. [Google Scholar]
- Zhang, C.; Wu, C.; Wang, X. Overview of blockchain consensus mechanism. In Proceedings of the 2020 2nd International Conference on Big Data Engineering, Shanghai, China, 29–31 May 2020; pp. 7–12. [Google Scholar]
- Li, K.; Li, H.; Hou, H.; Li, K.; Chen, Y. Proof of vote: A high-performance consensus protocol based on vote mechanism & consortium blockchain. In Proceedings of the 2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Bangkok, Thailand, 18–20 December 2017; pp. 466–473. [Google Scholar]
- Li, K.; Li, H.; Wang, H.; An, H.; Lu, P.; Yi, P.; Zhu, F. Pov: An efficient voting-based consensus algorithm for consortium blockchains. Front. Blockchain 2020, 3, 11. Available online: https://www.frontiersin.org/article/10.3389/fbloc.2020.00011 (accessed on 9 April 2024). [CrossRef]
- Yin, M.; Malkhi, D.; Reiter, M.K.; Gueta, G.G.; Abraham, I. Hotstuff: Bft consensus with linearity and responsiveness. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, Toronto, ON, Canada, 29 July–2 August 2019; pp. 347–356. [Google Scholar]
- Fu, X.; Wang, H.; Shi, P. Votes-as-a-proof (vaap): Permissioned blockchain consensus protocol made simple. IEEE Trans. Parallel Distrib. Syst. 2022, 33, 4964–4973. [Google Scholar] [CrossRef]
- Xu, J.; Wang, C.; Jia, X. A survey of blockchain consensus protocols. ACM Comput. Surv. 2023, 55, 278. [Google Scholar] [CrossRef]
- Wang, J.; Wang, H. Monoxide: Scale out blockchains with asynchronous consensus zones. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19), Boston, MA, USA, 26–28 February 2019; pp. 95–112. [Google Scholar]
- Yu, H.; Nikolic, I.; Hou, R.; Saxena, P. Ohie: Blockchain scaling made simple. In Proceedings of the 2020 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 18–21 May 2020; pp. 90–105. [Google Scholar]
- Li, C.; Li, P.; Zhou, D.; Yang, Z.; Wu, M.; Yang, G.; Xu, W.; Long, F.; Yao, A.C.-C. A decentralized blockchain with high throughput and fast confirmation. In Proceedings of the 2020 USENIX Annual Technical Conference (USENIX ATC 20), Online, 15–17 July 2020; pp. 515–528. [Google Scholar]
- Li, X.; Zheng, Y.; Xia, K.; Sun, T.; Beyler, J. Phantom: An efficient privacy protocol using zk-snarks based on smart contracts. Cryptol. ePrint Arch. 2020, 2020, 156. [Google Scholar]
- Keidar, I.; Kokoris-Kogias, E.; Naor, O.; Spiegelman, A. All you need is dag. In Proceedings of the 2021 ACM Symposium on Principles of Distributed Computing, Virtual Event, Italy, 26–30 July 2021; pp. 165–175. [Google Scholar]
- Danezis, G.; Kokoris-Kogias, L.; Sonnino, A.; Spiegelman, A. Narwhal and tusk: A dag-based mempool and efficient bft consensus. In Proceedings of the Seventeenth European Conference on Computer Systems, Rennes, France, 5–8 April 2022; pp. 34–50. [Google Scholar]
- Spiegelman, A.; Giridharan, N.; Sonnino, A.; Kokoris-Kogias, L. Bullshark: Dag bft protocols made practical. In Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security, Los Angeles, CA, USA, 7–11 November 2022; pp. 2705–2718. [Google Scholar]
- Xie, M.; Liu, J.; Chen, S.; Lin, M. A survey on blockchain consensus mechanism: Research overview, current advances and future directions. Int. J. Intell. Comput. Cybern. 2023, 16, 314–340. [Google Scholar] [CrossRef]
- Bai, Y.; Zhi, Y.; Li, H.; Wang, H.; Lu, P.; Ma, C. On parallel mechanism of consortium blockchain: Take pov as an example. In Proceedings of the 2021 the 3rd International Conference on Blockchain Technology, Shanghai, China, 26–28 March 2021; pp. 147–154. [Google Scholar]
- Min-Group/pnv-Blockchain. Available online: https://github.com/MIN-Group/pnv-blockchain (accessed on 9 April 2024).
- Gilad, Y.; Hemo, R.; Micali, S.; Vlachos, G.; Zeldovich, N. Algorand: Scaling byzantine agreements for cryptocurrencies. In Proceedings of the 26th Symposium on Operating Systems Principles, Shanghai, China, 28–31 October 2017; pp. 51–68. [Google Scholar]
- Chen, J.; Micali, S. Algorand. arXiv 2016, arXiv:1607.01341. [Google Scholar]
- Micali, S. Fast and furious byzantine agreement. In Proceedings of the Innovations in Theoretical Computer Science (ITCS) Conference, Berkeley, CA, USA, 9–11 January 2017. [Google Scholar]
- Abraham, I.; Malkhi, D.; Nayak, K.; Ren, L.; Yin, M. Sync hotstuff: Simple and practical synchronous state machine replication. In Proceedings of the 2020 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 18–21 May 2020; pp. 106–118. [Google Scholar]
- Pervez, H.; Muneeb, M.; Irfan, M.U.; Haq, I.U. A comparative analysis of dag-based blockchain architectures. In Proceedings of the 2018 12th International Conference on Open Source Systems and Technologies (ICOSST), Lahore, Pakistan, 19–21 December 2018; pp. 27–34. [Google Scholar]
- Sompolinsky, Y.; Zohar, A. Secure High-Rate Transaction Processing in Bitcoin; Springer: Berlin/Heidelberg, Germany, 2015; pp. 507–527. [Google Scholar]
- Li, H.; Chen, Y.; Shi, X.; Bai, X.; Mo, N.; Li, W.; Guo, R.; Wang, Z.; Sun, Y. Fisco-bcos: An enterprise-grade permissioned blockchain system with high-performance. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, Denver, CO, USA, 12–17 November 2023; pp. 1–17. [Google Scholar]
Consensus Type | Description | Protocols |
---|---|---|
Voting-based | Rely on message interaction and require each consensus round to produce a single block without forks. Demonstrate strong consistency. | PBFT, BFT-SMART, Algorand, DAG-Rider, Tusk, and Bull-Shark |
Proof-based | Possess inherent potential for generating divergent blocks but reconcile conflicts through resolution techniques to ensure eventual consistency. | PoW, PoS, Monoxide, OHIE, Conflux, and Phantom |
Fusion | Integrate voting-based and proof-based characteristics to leverage advantages of both while addressing individual limitations. | PoV, HotStuff, VaaP, and PnV (PPoV) |
Parameter | Value |
---|---|
Transaction size | 40 Bytes |
Block header size | 692 Bytes |
Vote header size | 400 Bytes |
Vote size of a block | 100 Bytes |
Vote result header size | 170 Bytes |
Vote result size of a block | 400 Bytes |
Message header size | 266 Bytes |
Bandwidth | 10 Gbps |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wang, H.; Li, H.; Fan, P.; Kang, J.; Deng, S.; Zhu, X. PnV: An Efficient Parallel Consensus Protocol Integrating Proof and Voting. Appl. Sci. 2024, 14, 3510. https://doi.org/10.3390/app14083510
Wang H, Li H, Fan P, Kang J, Deng S, Zhu X. PnV: An Efficient Parallel Consensus Protocol Integrating Proof and Voting. Applied Sciences. 2024; 14(8):3510. https://doi.org/10.3390/app14083510
Chicago/Turabian StyleWang, Han, Hui Li, Ping Fan, Jian Kang, Selwyn Deng, and Xiang Zhu. 2024. "PnV: An Efficient Parallel Consensus Protocol Integrating Proof and Voting" Applied Sciences 14, no. 8: 3510. https://doi.org/10.3390/app14083510
APA StyleWang, H., Li, H., Fan, P., Kang, J., Deng, S., & Zhu, X. (2024). PnV: An Efficient Parallel Consensus Protocol Integrating Proof and Voting. Applied Sciences, 14(8), 3510. https://doi.org/10.3390/app14083510