Blockchain Voting with Zero-Knowledge Proof for Privacy and Verifiability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current electronic voting systems fail to simultaneously ensure voter privacy and verifiability, with most systems either lacking coercion resistance or end-to-end verifiability, and existing solutions either compromise on privacy or verifiability.
Innovation Solution
A blockchain-based electronic voting system utilizing zero-knowledge proofs, specifically zk-SNARK, issues real and fake voting keys to voters, allowing for coercion resistance and verifiability by ensuring that votes encrypted with fake keys are not reflected in the tally, while enabling voters to verify their votes through a zero-knowledge proof mechanism.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all vote contents are recorded on the blockchain for transparency, then verifiability is improved, but voter privacy is worsened as central administrators can check all vote details
Solution Approach 1:
The vote recording is segmented into two parts: the vote ciphertext is recorded on the blockchain for verifiability, while the vote content itself remains encrypted and inaccessible to administrators. This segmentation allows transparency of the voting process without exposing individual voter choices.
Solution Approach 2:
A zero-knowledge proof mechanism acts as an intermediary between the voter and the blockchain record. It allows the system to verify that a valid vote was cast without revealing the actual vote content to administrators, thus mediating between verifiability and privacy requirements.
2Reliability
If a vVote system is used to convert ballot papers to electronic votes for verifiability, then voter privacy is improved, but coercion resistance is worsened as voters can reproduce their votes
Solution Approach 1:
The system performs preliminary actions by generating unique vote identifiers and encrypting votes before they are recorded on the blockchain. This preliminary encryption ensures that even if a voter is coerced into revealing their vote, the encrypted form cannot be reproduced or manipulated.
Solution Approach 2:
The system changes the parameter of vote representation from reproducible ballot papers to non-reproducible encrypted ciphertexts. The vote is transformed from a form that can be copied into a cryptographic form that maintains uniqueness and privacy while enabling verification.
3Object-affected harmful factors
If a JCJ system is used to satisfy coercion resistance with fake voting keys, then verifiability is worsened as the system cannot distinguish real from fake voting keys
Solution Approach 1:
The system replaces the mechanical key-based verification mechanism with a cryptographic zero-knowledge proof mechanism. This substitution allows the system to verify vote authenticity through mathematical proofs rather than relying on distinguishable key forms, thereby achieving both coercion resistance and verifiability.
4Object-affected harmful factors
If the Helios system is used for online elections with privacy protection, then coercion resistance is improved, but verifiability is worsened as voters cannot confirm their votes are reflected in results
Solution Approach 1:
The system provides feedback to voters through zero-knowledge proofs that confirm their votes have been correctly recorded and counted. This feedback mechanism allows voters to verify their votes are reflected in the results without revealing the actual vote content, thus maintaining both privacy and verifiability.
Data Source
Figure 1~2
Figure 3(a)~4(b)
Figure 5~6
AI summary
Disclosed herein is a blockchain-based electronic voting device with a zero-knowledge proof. The blockchain-based electronic voting device with the zero-knowledge proof includes a communication interface (500) to communicates with a voter terminal (100) carried by each of voters to perform an electronic vote; and a controller (510) for issuing one real voting key and at least one fake voting key to the voter terminal (100) to proceed with the electronic vote, assigning a secret value provided by the voter terminal (100) as a unique number of the electronic vote during the electronic voting process, and performing an operation of determining and verifying an authenticity of the electronic vote based on the real voting key and the secret value.