Blockchain voting system based on pipeline structure, efficient authentication method, device and readable storage medium
By optimizing the blockchain voting system through a pipeline structure and a dual-committee mechanism, the problems of redundant verification of voting records and low resource utilization have been solved, achieving efficient voting authentication and increased throughput, while ensuring system security and traceability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG UNIV
- Filing Date
- 2024-06-26
- Publication Date
- 2026-04-24
AI Technical Summary
Existing blockchain voting systems suffer from increased authentication time overhead as the number of nodes increases, redundant verification of voting records leads to throughput limitations, low resource utilization, and performance degradation due to the strong binding of the verification process.
It adopts a pipelined architecture design, with two random committees handling voting record verification and block verification in parallel. It uses aggregate signatures to optimize voting result storage and optimizes the consensus process through a credibility mechanism based on historical voting behavior and a finality mechanism.
This improved system throughput, reduced redundant verification, enhanced node utilization and system performance, while ensuring system security and traceability.
Smart Images

Figure CN118869179B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of electronic voting technology, and in particular to an efficient authentication method, apparatus, and readable storage medium for a blockchain voting system based on a pipeline structure. Background Technology
[0002] Blockchain technology possesses characteristics such as anonymity, decentralization, immutability, and security, which have led to its widespread application in many fields. For electronic voting, blockchain technology is an excellent approach, not only enabling the distributed and efficient collection of voting results, but also providing a foundation for tracing the origins of voting results due to the immutability of the blocks.
[0003] The authentication methods of blockchain voting systems rely on consensus protocols, with common protocols including PoS, DPoS, and PBFT. PoS requires miners to stake a portion of their assets in advance to become block validators and qualify as block proposers. Each validator has a local mempool used to store the transactions it receives and validates. The more stake a validator holds, the more likely it is to be designated as a proposer to package certain voting records from the mempool into the latest block. Selecting block-producing nodes based on stake does not require a significant amount of time; the time overhead lies in the verification process. The objects to be verified are the generated blocks and the voting records they contain. The verification methods mainly include the following:
[0004] (1) After the block proposer produces a block, all block validators verify the block and voting records. If more than a certain percentage of validators approve it, it is considered error-free (Blockchain without waste: Proof-of-stake, The Review of Financial Studies, 2021). However, the time cost of this verification method increases linearly with the number of validators, making it unsuitable for scenarios with a large number of users and high throughput.
[0005] (2) Using Supernodes (Delegated Proof of Stake: Features & Tradeoffs, MulticoinCap, 2018). Supernodes are elected by all nodes through voting. Each node receives a weighted vote based on its own stake, and they will vote for nodes with good reputations and significant stakes. This is analogous to a large company where all nodes are employees, and supernodes are elected as the board of directors for management. The number of supernodes is usually limited to a few dozen. Regardless of the number of validating nodes, the number of supernodes remains constant, and the entire consensus process is handled by supernodes, meaning they vote. This significantly reduces time overhead, allowing supernodes to reach consensus quickly. While throughput is greatly increased, the small number of nodes participating in the consensus process means insufficient decentralization, a crucial characteristic of blockchain.
[0006] (3) Establish committees (Proof of stake with casper the friendly finality gadget protocol for fair validation consensus in Ethereum, International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 2018). All validators are randomly assigned to several committees, each with a certain number of validators (at least 128). Each committee is responsible for producing a block at a specific time, and the validation process includes checking previous blocks. The advantage of this is that the nodes responsible for validation are not fixed, exhibiting decentralized characteristics, and for each block, the number of nodes participating in the consensus process is reduced, thus increasing throughput.
[0007] Current research on blockchain voting system authentication methods has certain shortcomings. When using the Proof-of-Stake (PoS) protocol for blockchain voting system authentication, the authentication time overhead increases with the number of nodes. The basic idea behind improving existing authentication methods is to address their weaknesses. For example, since the verification time overhead of the PoS protocol increases with the number of nodes, a solution is to select super nodes to act as proxies for other nodes, controlling the number of nodes participating in the consensus process to reduce time overhead (Delegated Proof-of-Stake). If the number of nodes participating in the consensus process is too fixed, then verification nodes can be randomly assigned to committees, with different committees responsible for verification and block production (Casper FFG). While this improvement is effective, it still has problems; the protocol's inherent flaws remain. For instance, regardless of the improvements made to the PoS protocol, the following issues still exist:
[0008] 1) Verification of voting records is always redundant, meaning that voting records are verified once after generation and once after being loaded into a block. In high-frequency, large-scale scenarios, the sheer number of voting records leads to a continuous increase in time overhead, thus limiting throughput improvement.
[0009] 2) Each participating node needs to verify both the block and the voting record individually. Block verification is unavoidable, but unlike blocks, the number of voting records is enormous. Each verification node must verify every single voting record, which represents a significant additional time overhead.
[0010] 3) Voting record verification and block verification are strongly bound together, meaning these two tasks must be performed simultaneously. A verification node has limited resources, and performing both tasks concurrently will inevitably degrade its performance. If the two verification processes cannot be completed simultaneously, it will also incur additional waiting time overhead.
[0011] In summary, despite these improvements, some limitations remain, especially with the first method. These limitations also persist for blockchain voting system authentication:
[0012] 1) The fundamental reason for the speed limitation is the redundancy between voting record verification and block verification. Because block verification involves potentially redundant voting record verification, validators also need to verify voting records when checking blocks. Although both can be performed simultaneously, there are still certain drawbacks. First, performance deteriorates due to the limited capabilities of validating nodes; second, redundancy reduces speed.
[0013] 2) A large number of nodes will be idle. To improve throughput, the number of nodes participating in the consensus process will be reduced. For example, in Casper FFG, only one committee (128 nodes) participates in a block. The remaining nodes are idle resources and unused, which can be used to optimize throughput. Summary of the Invention
[0014] This invention provides an efficient authentication method, apparatus, and readable storage medium for a blockchain voting system based on a pipeline structure. It eliminates the need for redundant voting record verification and requires no additional time overhead, thereby improving both throughput and security.
[0015] An efficient authentication method for a blockchain voting system based on a pipelined architecture includes the following steps:
[0016] For each node participating in voting and verification, identity authentication is performed using a staking method;
[0017] Two different committees are randomly selected, and the staked nodes are randomly assigned to the two committees for verification. The two committees work in parallel: one is responsible for voting on the current decision, obtaining the voting record, and verifying the voting record that has been completed previously; the other is responsible for verifying the validity of the block.
[0018] Verified voting records will be tagged: the tag "stable" indicates that the verification has passed, and the tag "fake" indicates that the verification has failed.
[0019] The voting records are packaged into blocks. When verifying the voting records in the blocks later, it is only necessary to verify whether the label is valid and stable, without verifying the original parameters of the vote.
[0020] The core principle of this invention is to optimize the entire verification process using a pipelined design, distinguishing honest and reliable voting records through parallel verification. The result of each vote is recorded in a block. To prevent malicious behaviors such as multiple or double voting, the verification nodes, acting as committee members, verify the voting records during the verification phase. Verified voting records are tagged as reliable, so subsequent block verification only needs to check if a record has a reliable tag, eliminating the need to verify all records within the block.
[0021] Preferably, when the committee votes on decisions, aggregated signatures are used to record the voting results. A committee typically has multiple verification nodes, each signing their own vote. Storing so many signatures would consume significant storage space and hinder verification. Therefore, aggregated signature technology compresses and merges multiple signatures into a single aggregated signature. Verifying this aggregated signature is equivalent to verifying all signatures independently, making the verification of all signatures convenient and efficient.
[0022] Preferably, a credibility mechanism based on historical voting behavior is designed. When a decision is voted on and no consensus of 2 / 3 is reached, the node with the higher credibility is considered to have made the correct vote.
[0023] Furthermore, after each round of voting, the transaction status will change, but only voting records labeled "stable" will be considered trustworthy and do not require verification.
[0024] Furthermore, a block needs to receive more than 2 / 3 of the total votes to be marked as immutable, and once the block is formed, the voting record is immutable.
[0025] A high-efficiency authentication device for a blockchain voting system based on a pipeline structure includes a staking module, a verification module, and a processing module;
[0026] The staking module is used to verify the identity of the nodes;
[0027] The verification module uses two random committees to verify voting records and blocks respectively; specifically, one committee is responsible for voting on the current decision, obtaining voting records, and verifying previously completed voting records, while the other committee is responsible for verifying the validity of the blocks.
[0028] The processing module is used to count the total number of votes, which is the sum of the votes of all verification nodes in the committee. If the total number of votes exceeds 2 / 3, the vote is considered passed.
[0029] Because block verification requires verifying whether voting records have a stable label and the validity of the block, which takes longer than voting record verification, the committee responsible for verifying voting records also votes on the current decision.
[0030] A high-efficiency authentication device for a blockchain voting system based on a pipelined architecture includes a memory and one or more processors. The memory stores executable code, and when the one or more processors execute the executable code, they implement the aforementioned high-efficiency authentication method.
[0031] A computer-readable storage medium having a program stored thereon that, when executed by a processor, implements the above-described efficient authentication method.
[0032] Compared with the prior art, the present invention has the following beneficial effects:
[0033] (1) This invention uses aggregated signatures to optimize the recording of a large number of voting results, and efficiently stores voting records. In high-frequency voting scenarios, this design can greatly improve performance.
[0034] (2) The present invention uses a two-stage random method to establish a dual committee mechanism, which is different from the traditional single committee. The dual committee not only improves the utilization rate of nodes, but also improves the throughput of the system.
[0035] (3) This invention optimizes the traditional authentication method, solves the problem of duplicate verification of voting records, and performs the verification of voting records in the block simultaneously with voting. The pipelined design maximizes the use of the dual-committee mechanism to improve the system performance to the greatest extent.
[0036] (4) This invention utilizes finalization to achieve the immutability of blocks, which improves the stability of the system and also facilitates traceability and accountability, reducing the occurrence of malicious behavior. Attached Figure Description
[0037] Figure 1 A flowchart of an existing blockchain voting system;
[0038] Figure 2 This is a flowchart of the efficient authentication method for a blockchain voting system based on a pipeline structure, as described in this invention.
[0039] Figure 3 This is a schematic diagram of the various modules in the efficient authentication device of the blockchain voting system based on a pipeline structure according to the present invention.
[0040] Figure 4 This diagram illustrates a comparison of the throughput of the method of this invention and the PoS verification method. Detailed Implementation
[0041] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be noted that the embodiments described below are intended to facilitate the understanding of the present invention and do not constitute any limitation thereof.
[0042] like Figure 1 The diagram shows a flowchart of an existing blockchain voting system. The design follows the design philosophy of Casper FFG, where nodes need to stake a certain amount of assets during the staking phase to become validators. All validators are randomly assigned to various committees, which then produce blocks and verify voting records.
[0043] The key difference in this invention lies in decoupling the strong correlation between block verification and voting record verification. This means the committee no longer needs to simultaneously verify both blocks and voting records; it only needs to perform either block verification or voting record verification. Furthermore, this process is parallel, forming a pipeline that significantly improves throughput. By distinguishing voting records and selecting only reliable votes, the problem of redundant voting record verification is also solved. Redundancy arises because voting records are verified by verification nodes after publication. When these voting records are packaged into blocks, the verification nodes need to verify the legality of the voting records again when verifying the block's validity. In each vote, two committees are randomly selected: one responsible for verifying voting records, and the other for verifying blocks (the results of the previous vote are stored in the block). Both committees can operate in parallel. In the final aggregation stage, the voting results are determined according to BFT (Practical Byzantine Fault Tolerance, OSDI, 1999). If more than 2 / 3 of the votes pass, the consensus is considered successful. This provides a certain degree of fault tolerance, ensuring that even if 1 / 3 of the nodes are malicious, the consensus result remains unaffected. Finally, after block formation, the voting records are immutable, facilitating traceability and accountability.
[0044] The authentication method flow of this invention is as follows: Figure 2 As shown, steps ① and ③ are the verification process, which involves voting on the voting record and the block respectively; step ② is the block packaging process; step ④ is the block voting result processing; and step ⑤ is the broadcasting of the verification result and the start of the next round of operations.
[0045] Specifically, the whole process includes the following steps:
[0046] Step 1 begins with identity authentication. For each node participating in voting and verification, a staking method is used to ensure node security. Nodes that have staked their tokens are randomly assigned to different committees, which then delegate verification tasks.
[0047] Step 2 involves voting on the current decision. To avoid excessively large records of voting results, aggregated signatures are used to record the results, significantly reducing verification overhead. Furthermore, to address potential indecisiveness during voting, such as failing to reach a 2 / 3 consensus, a reputation mechanism based on historical voting behavior is designed. In this case, nodes with higher reputation are considered honest, and their votes are deemed correct.
[0048] Step 3 verifies the aggregated voting results. This step can be paralleled with Step 2 to improve system throughput. The design uses a quadratic randomization method to select two committees: one responsible for voting in Step 2 and verifying the completed voting results, and the other responsible for verifying the validity of the blocks. This parallel approach forms a pipelined design, significantly improving throughput.
[0049] Step 4 involves packaging the voting results, i.e., the voting records, into blocks. This process differs from previous designs. In this step, our design addresses the issue of duplicate verification of voting records. After verification in Step 3, each voting record is tagged with either "stable" or "fake." The former indicates successful verification, while the latter indicates failure. Subsequent verification of voting records within a block only requires checking whether the tag is valid and "stable."
[0050] Step 5, the final step, is finalization to improve system security. In this design, blocks uploaded to the chain are finalized. A block needs to receive more than 2 / 3 of the total votes to be marked as finalized, meaning it is immutable. This design also facilitates traceability and accountability.
[0051] This invention employs the Python language to implement our authentication method. For example... Figure 3 As shown, a high-efficiency authentication device for a blockchain voting system based on a pipeline structure includes a staking module, a verification module, and a processing module.
[0052] The staking module primarily verifies node identities. Nodes need to stake tokens in this module to become validators or withdraw their tokens and lose their validator status. A global set of validators is maintained here, comprising all nodes responsible for verification; nodes can join or leave at any time.
[0053] The verification module requires two randomly selected committees. Verification nodes are randomly assigned to different committees, meaning each verification node has a `committee_number`. One committee is responsible for voting and verifying vote records, while the other is responsible for block verification. Voting is for deciding the current decision, while vote record verification verifies the validity of the `vote`, `signature`, and `timestamp` in the generated vote records. Block verification verifies the `blockhash`, `signature`, etc. The final processing module counts all votes; if more than two-thirds of the total votes are received, the decision is considered passed.
[0054] This invention divides the voting records in the local ticket pool into different regions, each representing a different state of voting records. Each vote has parameters (self, to, sender, vote, signature, timestamp), representing the hash number, recipient address, sender address, vote, signature, and timestamp of the voting record, respectively. The queue used in the ticket pool is divided into three queues: pool_initial, pool_stable, and pool_fake, which are used to store unvoted, verified, and unverified voting records, respectively. Here, we define `record_state` to distinguish trustworthy voting records, with specific states of initial, stable, and fake. After each round of voting, the transaction state changes, but only stable voting records are considered trustworthy and do not require verification.
[0055] This invention modifies the verification module by randomly assigning nodes to different committees. During each block production period, two committees work simultaneously: one for `vote_block` and the other for `vote_record`, operating in parallel. Whether voting on a block or a transaction, the voting results are tallied, and a 2 / 3 safety threshold is established. This means that a majority of votes is required to determine the outcome, thus providing better fault tolerance.
[0056] When a validator node votes for a block, it is trustworthy as long as the voting record is stable. There is no need to spend extra time verifying the original parameters of the vote: (self, to, sender, vote, signature, timestamp). This helps to improve the overall throughput.
[0057] To verify the effectiveness of the present invention, this embodiment analyzes and tests the throughput of the improved authentication method of the present invention and compares it with the original PoS authentication method. The experimental results show that the system throughput is significantly improved compared with the original authentication method.
[0058] The embodiments described above provide a detailed explanation of the technical solutions and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, additions, and equivalent substitutions made within the scope of the principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A high-efficiency authentication method for a blockchain voting system based on a pipeline structure, characterized in that, Includes the following steps: For each node participating in voting and verification, identity authentication is performed using a staking method; Two different committees are randomly selected, and the staked nodes are randomly assigned to the two committees for verification. The two committees work in parallel: one is responsible for voting on the current decision, obtaining the voting record, and verifying the voting record of the previously completed votes; the other is responsible for verifying the validity of the block. When the committees vote on the decision, they use aggregate signatures to record the voting results. Verified voting records will be tagged: the tag "stable" indicates that the verification has passed, and the tag "fake" indicates that the verification has failed. The voting records are packaged into blocks. When verifying the voting records in the blocks later, it is only necessary to verify whether the label is valid and stable, without verifying the original parameters of the vote.
2. The efficient authentication method for a blockchain voting system based on a pipeline structure according to claim 1, characterized in that, The design incorporates a reputation mechanism based on historical voting behavior. When a decision is voted on and no consensus of 2 / 3 is reached, the node with the highest reputation is considered to have made the correct vote.
3. The efficient authentication method for a blockchain voting system based on a pipeline structure according to claim 1, characterized in that, After each round of voting, the transaction status will change, but only voting records labeled "stable" will be considered trustworthy and do not require verification.
4. The efficient authentication method for a blockchain voting system based on a pipeline structure according to claim 1, characterized in that, A block needs to receive more than 2 / 3 of the total votes to be marked as immutable. Once the block is formed, the voting record is immutable.
5. A high-efficiency authentication device for a blockchain voting system based on a pipeline structure, characterized in that, The device includes a memory and one or more processors, wherein the memory stores executable code, and the one or more processors execute the executable code to implement the efficient authentication method according to any one of claims 1-4.
6. A computer-readable storage medium, characterized in that, It stores a program that, when executed by a processor, implements the efficient authentication method according to any one of claims 1-4.
Citation Information
Patent Citations
Block consensus method based on block chain and related equipment
CN112685796A
Efficient block chain consensus algorithm based on assembly line
CN115086349A