Anonymous verifiable electronic voting method based on block chain and DOA counting

By combining wave counting and distributed ElGamal homomorphic encryption technology on the blockchain, the anonymity and verifiability of multi-candidate sorting voting is achieved, and the problems in the existing technology that cannot meet the needs of multi-candidate sorting voting and anonymity and privacy protection are solved, and a decentralized, secure and transparent voting process is achieved.

CN120014748APending Publication Date: 2025-05-16UNIV OF SCI & TECH OF CHINA
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510224085.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-27
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

The existing blockchain-based electronic voting protocol cannot meet the needs of multiple candidates to voting, and lacks support for the anonymity and privacy protection of the voting process, which easily introduces trust risks.

Method used

Anonymous verifiable electronic voting method based on blockchain and boda counting is adopted, combined with distributed ElGamal homomorphic encryption and zero-knowledge proof technology, to achieve the anonymity and verifiability of multi-candidate sorting voting.

Benefits of technology

Ensure the legitimacy and privacy of vote content in a decentralized environment, avoid trust risks, achieve fairness and transparency of voting results, and support abnormal recovery mechanisms to improve the robustness of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120014748A_ABST
    Figure CN120014748A_ABST
Patent Text Reader

Abstract

The invention discloses an anonymous verifiable electronic voting method based on a block chain and DOA, and belongs to the technical field of block chain application. The method comprises the steps that a voting initiator generates voting parameters and uploads the voting parameters to the smart contract; the voters obtain voting public keys of all the voters in the system through the smart contract, generate encryption parameters, and encrypt vote content by using the encryption parameters; a voter generates a corresponding zero-knowledge proof for the encrypted vote content and uploads the zero-knowledge proof to the smart contract; the voter generates a secret share and uploads the secret share to the smart contract; and after all the voters finish uploading the secret shares, performing homomorphic aggregation on the legal votes in combination with the secret shares to obtain a final voting result. According to the method, vote aggregation and counting can be completed without centralized private key decryption, the anonymity and legality of the votes are ensured, and the security and privacy protection capability of the voting process are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of blockchain application, and in particular relates to an anonymous and verifiable electronic voting method based on blockchain and boda counting. Background Art

[0002] With the rapid development of blockchain technology, blockchain-based electronic voting protocols have gradually been widely used. By utilizing the decentralized and tamper-proof characteristics of blockchain, existing electronic voting systems can achieve openness and transparency in the voting process. However, most of the existing blockchain-based electronic voting protocols focus on simple binary choices (yes / no) or voting for a single candidate, and cannot meet more complex voting needs, especially in the scenario of multi-candidate ranking voting. Moreover, voting protocols usually rely on centralized encryption and counting methods, which not only lack support for anonymity and privacy protection of the voting process, but also easily introduce trust risks in the centralized counting process. In addition, the existing solutions do not provide sufficient support for multi-candidate ranking, and cannot meet the high requirements for privacy and security in practical applications.

[0003] Borda counting is a voting method suitable for multi-candidate ranking voting scenarios. Specifically, voters rank candidates according to their preferences, assign different scores to each ranking position, and the candidate with the highest score after adding up all the scores wins. This counting method can better reflect the true will of voters than the simple majority voting method, and is widely used in elections that require comprehensive voter preferences. However, there are few records of joint research with blockchain. Summary of the invention

[0004] To solve the above technical problems, the present invention provides an anonymous and verifiable electronic voting method based on blockchain and Borda counting, which realizes the anonymity and verifiability of multi-candidate ranking voting by combining distributed ElGamal homomorphic encryption and zero-knowledge proof technology. This scheme ensures the legitimacy and privacy of ballot content in a decentralized environment, avoids the trust risk in traditional centralized voting systems, and allows any user to verify the authenticity of the ballot on the chain, thereby ensuring the fairness and transparency of the voting results.

[0005] To achieve the above object, the present invention adopts the following technical solutions:

[0006] An anonymous and verifiable electronic voting method based on blockchain and Borda counting comprises the following steps:

[0007] Step 1, initialization phase: The voting initiator generates voting parameters, initializes the voting smart contract, and uploads the voting parameters to the smart contract; the voter obtains the voting parameters through the smart contract, generates a personal voting public-private key pair, and uploads the voting public key to the smart contract;

[0008] Step 2, voting stage: the voter obtains the voting public keys of all voters in the system through the smart contract, generates encryption parameters, and uses the encryption parameters to encrypt the ballot content; the voter generates a corresponding zero-knowledge proof for the encrypted ballot content, and after signing the encrypted ballot content and zero-knowledge proof, packages them together into a final ballot and uploads them to the smart contract; the smart contract verifies the digital signature and zero-knowledge proof of the final ballot. If the verification passes, it is regarded as a legal ballot, and the digital signature and zero-knowledge proof are stored on the blockchain;

[0009] Step 3, vote counting phase: Voters generate secret shares and upload them to the smart contract; when all voters have completed uploading secret shares, any entity in the system can obtain secret shares and all legal votes through the smart contract, and combine the secret shares to homomorphically aggregate legal votes to obtain the final voting results; if there are abnormal voters who have not uploaded secret shares, the abnormal recovery phase will begin;

[0010] Step 4, abnormal recovery phase: Excluding abnormal voters who have not uploaded secret shares, the remaining voters upload abnormal recovery shares to the smart contract; when all the remaining voters have completed uploading, the voting initiator and the voter can obtain the abnormal recovery shares and all legal votes through the smart contract, and calculate the final voting results after recovery.

[0011] The beneficial effects of the present invention are:

[0012] The present invention supports multi-candidate ranking voting, realizes decentralized anonymous vote counting, and can realize voters' ranking voting for candidates on the blockchain, ensuring the anonymity of the voting process and the fairness of the voting results;

[0013] The present invention uses distributed ElGamal homomorphic encryption technology to ensure data privacy and security during the voting process. Through homomorphic encryption, the system can calculate the encrypted ballot content without decrypting the ballot, thereby achieving anonymous counting and avoiding the risks of centralized private key management.

[0014] In the present invention, the content of the ballot is verified through zero-knowledge proof, ensuring that each ballot conforms to the expected format without revealing the specific voting content of the voter. This scheme effectively prevents the association between the voter's identity and the ballot, further protecting the voter's privacy.

[0015] The present invention supports an abnormal recovery mechanism to ensure that the system can still correctly calculate the final voting results when some voters abstain or the ballots are illegal. Through the abnormal recovery shares provided by the remaining voters, the system can resume the counting process under abnormal circumstances, increasing the robustness and practicality of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 This is a flow chart of an anonymous and verifiable electronic voting method based on blockchain and boda counting according to the present invention. DETAILED DESCRIPTION

[0017] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.

[0018] The process of the anonymous verifiable electronic voting method based on blockchain and Baud rate counting of the present invention is as follows: Figure 1 As shown, the detailed workflow is:

[0019] Step 1, voting initialization phase: the voting initiator generates voting parameters, initializes the voting smart contract, and uploads the voting parameters to the smart contract; the voter obtains the voting parameters through the smart contract, generates a personal voting public-private key pair, and uploads the voting public key to the smart contract;

[0020] Step 1.1: The voting initiator generates voting parameters, which include the set of legal voters. , a collection of legal voter signature public keys , voting candidate collection , weight vector And the ElGamal encryption system parameters ; wherein each element in the weight vector represents the score of the kth place, and there is ; The ElGamal encryption system parameters is a prime number, for Step Cyclic group generators;

[0021] Step 1.2: The voting initiator initializes the voting smart contract and uploads the voting parameters to the smart contract;

[0022] Step 1.3. Voters Obtain voting parameters through the smart contract and randomly select As the voting private key, calculate the voting public key ; and the voting public key Uploaded to said smart contract.

[0023] Step 2, voting stage: the voter obtains the voting public keys of all voters in the system through the smart contract, generates encryption parameters, and uses the encryption parameters to encrypt the ballot content; the voter generates a corresponding zero-knowledge proof for the encrypted ballot content, and after signing the encrypted ballot content and zero-knowledge proof, packages them together into a final ballot and uploads them to the smart contract; the smart contract verifies the digital signature and zero-knowledge proof of the final ballot. If the verification passes, it is regarded as a legal ballot, and the digital signature and zero-knowledge proof are stored on the blockchain;

[0024] Step 2.1. Voters Obtain the voting public keys of all voters in the system through the smart contract , calculate the encryption parameters ;

[0025] Step 2.2: Voters Construct a voting matrix based on willingness , where the matrix elements ; If the , then the voter The first Candidates are ranked bits, of which , ;

[0026] Step 2.3: Voters Choose Random numbers , , , using the encryption parameters described in step 2.1 Encrypt the elements of the ballot matrix described in step 2.2 one by one , , , calculate the encrypted element , where the first half is the encrypted element , the second half of the encrypted element , and generate encrypted ballot content by line encoding ;

[0027] Step 2.4: Voters The encrypted ballot content Generating a zero-knowledge proof ;

[0028] Contains proofs for each element, , where , prove that the number of Line Column Elements , ,in , prove that the number of The sum of the row elements is 1, ,in , prove that the number of The sum of the column elements is 1;

[0029] Step 2.5: Voters Use the signing private key The encrypted ballot content And zero-knowledge proof Sign and get a digital signature ;

[0030] Step 2.6: Voters The encrypted ballot content , Zero-knowledge proof and digital signature Packaged into final ballot and the final ballot Upload to the smart contract;

[0031] Step 2.7: Final Ballot After the smart contract verifies its digital signature and passes the zero-knowledge proof, it is considered a legal ballot and is saved on the blockchain, otherwise it is discarded.

[0032] Step 3, vote counting phase: Voters generate secret shares and upload them to the smart contract; when all voters have completed uploading secret shares, any entity in the system can obtain secret shares and all legal votes through the smart contract, and combine the secret shares to homomorphically aggregate legal votes to obtain the final voting results; if there are abnormal voters who have not uploaded secret shares, the abnormal recovery phase will begin;

[0033] Step 3.1: After the voting is over, the voting initiator obtains all legal votes through the smart contract ,in is the number of voters who voted normally in step 2; aggregate the encrypted ballot content in the legal ballot to obtain the aggregated encryption result ,in , ; and the aggregate encryption result and Upload to the smart contract;

[0034] Step 3.2: Voters who voted normally as described in Step 2 Get the first half of the aggregate encryption result described in step 3.1 through the smart contract , calculate the secret share , where the first half is the secret share , the second half of the secret share ,in , ,in The encryption parameters described in step 2.1, Voters who voted normally The voting private key, for The random number selected in step 2.3, , , and sign the secret share to obtain a digital signature , the secret share and the digital signature Upload to blockchain;

[0035] Step 3.3: The voting initiator and all voters obtain the aggregated encrypted results of the second half of step 3.1 through the smart contract. , all secret shares and legal votes ; Calculate the matrix of voting results to be exhausted , for OK A column matrix, where Line The column elements are ;

[0036] Step 3.4: The voting initiator and all voters use the voting result matrix to be exhausted described in step 3.3. And the ElGamal encryption system parameters Exhaustively obtain the voting result matrix , among which Line Elements of a column That is, to put the sth candidate in the Total number of votes;

[0037] Step 3.5: The voting initiator and all voters will submit the voting result matrix Right multiply weight vector , that is, to get the final score of each candidate ,in Representative Candidate final score; if a voter with a valid ballot fails to submit a secret share, the abnormal recovery phase will begin.

[0038] Step 4, abnormal recovery phase: Excluding abnormal voters who have not uploaded secret shares, the remaining voters upload abnormal recovery shares to the smart contract; when all the remaining voters have completed uploading, the voting initiator and the voter can obtain the abnormal recovery shares and all legal votes through the smart contract, and calculate the final voting results after recovery.

[0039] Step 4.1: The voting initiator obtains all legal votes through the smart contract and discards the votes of voters who have not submitted secret shares. , aggregate the remaining legal votes and encrypt the results ,in ,in The second half of the encrypted element generated by the voter in step 2.3, Index the voters who did not submit their secret shares and encrypt the remaining legal votes Upload to the smart contract;

[0040] Step 4.2: Voters Calculating abnormal recovery share ,in , sign the abnormal recovery share to get , and upload To blockchain;

[0041] Step 4.3: The voting initiator and the voter obtain the encrypted results of the aggregated legal votes through the smart contract. , all secret shares 、All abnormal recovery shares ; Calculate each element in the exhaustive voting result matrix after abnormal recovery ,in , ;

[0042] Step 4.4: The voting initiator and the voter obtain the abnormal recovery result matrix through exhaustive enumeration , calculate the final score of each candidate according to the method in step 3.5.

[0043] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. An anonymous and verifiable electronic voting method based on blockchain and Borda counting, characterized in that: The steps include: Step 1, initialization phase: The voting initiator generates voting parameters, initializes the voting smart contract, and uploads the voting parameters to the smart contract; the voter obtains the voting parameters through the smart contract, generates a personal voting public-private key pair, and uploads the voting public key to the smart contract; Step 2, voting stage: The voter obtains the voting public keys of all voters in the system through the smart contract, generates encryption parameters, and uses the encryption parameters to encrypt the ballot content; the voter generates a corresponding zero-knowledge proof for the encrypted ballot content, and after signing the encrypted ballot content and zero-knowledge proof, packages them together into a final ballot and uploads them to the smart contract; The smart contract verifies the digital signature and zero-knowledge proof of the final ballot. If the verification is successful, it is deemed to be a legal ballot, and the digital signature and zero-knowledge proof are stored on the blockchain; Step 3, vote counting phase: voters generate secret shares and upload them to the smart contract; When all voters have uploaded their secret shares, any entity in the system can obtain the secret shares and all legal votes through smart contracts, and homomorphically aggregate the legal votes with the secret shares to obtain the final voting results. If there are abnormal voters who have not uploaded their secret shares, the abnormality recovery phase will begin. Step 4, abnormal recovery phase: Excluding abnormal voters who have not uploaded secret shares, the remaining voters upload abnormal recovery shares to the smart contract; when all the remaining voters have completed uploading, the voting initiator and the voter can obtain the abnormal recovery shares and all legal votes through the smart contract, and calculate the final voting results after recovery.

2. According to claim 1, an anonymous and verifiable electronic voting method based on blockchain and Borda counting is characterized in that: The step 1 comprises: Step 1.1: The voting initiator generates voting parameters, which include ElGamal encryption system parameters. ; The ElGamal encryption system parameters is a prime number, for Step Cyclic group generators; Step 1.2: The voting initiator initializes the voting smart contract and uploads the voting parameters to the smart contract; Step 1.3: Voters Obtain voting parameters through the smart contract and randomly select As the voting private key, calculate the voting public key ; and the voting public key Uploaded to said smart contract.

3. According to claim 2, an anonymous and verifiable electronic voting method based on blockchain and boda counting is characterized in that: In step 1.1, the voting parameters also include a set of legal voters , a collection of legal voter signature public keys , voting candidate collection , weight vector ; Each element in the weight vector represents the score of the kth place, and .

4. According to claim 3, an anonymous and verifiable electronic voting method based on blockchain and boda counting is characterized in that: The step 2 comprises: Step 2.

1. Voters Obtain the voting public keys of all voters in the system through the smart contract , calculate the encryption parameters ; Step 2.2: Voters Construct a voting matrix based on willingness , where each element in the voting matrix ; If the , then the voter Sort the sth candidate into bits, of which , ; Step 2.3: Voters Choose Random numbers , , , using encryption parameters Encrypt the elements in the ballot matrix one by one , calculate the encrypted element , The first half of the encrypted elements and the second half of the encrypted elements are encoded row by row to generate the encrypted ballot content. ; Step 2.4: Voters The encrypted ballot content Generating a zero-knowledge proof ; Step 2.5: Voters Use the signing private key The encrypted ballot content And zero-knowledge proof Sign and get a digital signature ; Step 2.6: Voters The encrypted ballot content , Zero-knowledge proof and digital signature Packaged into final ballot and the final ballot Upload to the smart contract; Step 2.7: Final Ballot After the smart contract verifies its digital signature and passes the zero-knowledge proof, it is considered a legal ballot and is saved on the blockchain, otherwise it is discarded.

5. According to claim 4, an anonymous and verifiable electronic voting method based on blockchain and Borda counting is characterized in that: In step 2.3, the first half of the encrypted element , the second half of the encrypted element .

6. The anonymous and verifiable electronic voting method based on blockchain and Borda counting according to claim 4 is characterized in that: In step 2.4, zero-knowledge proof ; where the single element range proof set , where the single-element range proof , used to prove that Line Column Elements ; Row and range proof collections , where the row and range proofs , used to prove that The sum of the row elements is 1, and the column and range prove the set , where the columns and range proofs , used to prove that The sum of the column elements is 1.

7. According to claim 4, an anonymous and verifiable electronic voting method based on blockchain and boda counting is characterized in that: The step 3 comprises: Step 3.1: After the voting is over, the voting initiator obtains all legal votes through the smart contract ,in is the number of voters who voted normally in step 2; aggregating the encrypted ballot content in the legal ballot to obtain a first aggregate encryption result , the second aggregate encryption result ,in , ; and the first aggregate encryption result and the second aggregate encryption result Upload to the smart contract; Step 3.2: Voters who vote normally Obtain the first aggregate encryption result through the smart contract , calculate the secret share , where the first half is the secret share , the second half of the secret share ,in , , Voters who voted normally The voting private key, For normal voters The random number selected in step 2.3, , , and sign the secret share to obtain a digital signature , the secret share and the digital signature Upload to blockchain; Step 3.3: The voting initiator and all voters obtain the second aggregate encryption result through the smart contract. , all secret shares and legal votes ; Calculate the matrix of voting results to be exhausted , for OK A column matrix, where Line The column elements are ; Step 3.4: The voting initiator and all voters use the voting result matrix to be exhausted. And the ElGamal encryption system parameters Exhaustively obtain the voting result matrix , among which Line Elements of a column That is, to put the sth candidate in the Total number of votes; Step 3.5: The voting initiator and all voters will submit the voting result matrix Right multiply weight vector , that is, to get the final score of each candidate ,in Representative Candidate final score; if a voter with a valid ballot fails to submit a secret share, the abnormal recovery phase will begin.

8. The anonymous and verifiable electronic voting method based on blockchain and Borda counting according to claim 7 is characterized in that: In step 3.4, the voting result matrix .

9. The anonymous and verifiable electronic voting method based on blockchain and Borda counting according to claim 7 is characterized in that: The step 4 comprises: Step 4.1: The voting initiator obtains all legal votes through the smart contract and discards the votes of voters who have not submitted secret shares. , aggregate the remaining legal votes and encrypt the results ,in , Index the voters who did not submit their secret shares and encrypt the remaining legal votes Upload to the smart contract; Step 4.2: Voters Calculating abnormal recovery share ,in , sign the abnormal recovery share to get , and upload To blockchain; Step 4.3: The voting initiator and the voter obtain the encrypted results of the aggregated legal votes through the smart contract. , all secret shares 、All abnormal recovery shares ; Calculate each element in the exhaustive voting result matrix after abnormal recovery ,in , ; Step 4.4: The voting initiator and the voter obtain the abnormal recovery result matrix through exhaustive enumeration , calculate the final score of each candidate according to the method in step 3.

5.

10. The anonymous and verifiable electronic voting method based on blockchain and Borda counting according to claim 9 is characterized in that: In step 4.4, the abnormal recovery result matrix .

Citation Information

Cited By

  • Block chain committee election method based on multi-party privacy set calculation

    CN120729608A