Zero-Knowledge Voting
Zero-Knowledge Voting is the mechanism that allows ZK DAO to reach binding decisions without revealing who voted, how they voted, or how voting progressed over time.
It replaces transparent ballots with cryptographic verification of correctness.
Purpose
In public governance systems, voting transparency creates predictable weaknesses:
Voters can be targeted or coerced
Vote buying becomes enforceable
Early results influence late voters
Governance trends leak strategic intent
Zero-Knowledge Voting removes these weaknesses by ensuring that only validity is observable, never preference or participation.
Core Properties
ZK Voting in ZKFund guarantees that:
Only eligible participants can vote
Each participant can vote only once
Vote weight is applied correctly
Quorum rules are enforced
No individual vote is revealed
No interim results are visible
The system proves that the outcome is correct, not how it was formed.
Voting Authorization
To cast a vote, a participant must generate a ZK proof that demonstrates:
Valid membership in the DAO or fund
Possession of the required role
Eligibility for the specific proposal
Use of a valid voting session key
Authorization is proven inside the circuit, not inferred from addresses.
Voting Process
1. Vote Commitment
A voter submits a zero-knowledge proof
The proof encodes the vote choice and weight
The vote is bound to a proposal ID and session
2. Nullifier Enforcement
Each vote includes a unique nullifier
Prevents double voting
Nullifiers are unlinkable across proposals
3. Private Aggregation
Votes are aggregated inside the circuit
Individual contributions are never exposed
Partial results are not computable
4. Finalization
After the voting window closes:
Quorum is checked privately
Thresholds are evaluated
Final state is produced
Only the final result is published.
Voting Models
ZKFund supports multiple voting models, enforced at the circuit level.
Token-Weighted Voting
Weight derived from staked tokens
Token balances are not revealed
Role-Weighted Voting
Different roles carry predefined weights
Role holders are not publicly known
Stake-Weighted Voting
Weight tied to locked stake or fund exposure
Stake values remain private
Hybrid Models
Combinations of token, role, and stake
Used for complex governance scenarios
All models produce the same output:
A single, verifiable final result
Hidden Quorum
Quorum in ZKFund can be fully hidden.
The required participation level is enforced privately
Observers cannot infer:
How many votes were cast
Whether quorum is close to being met
This prevents:
Strategic abstention
Last-minute vote manipulation
External pressure campaigns
Resistance to Governance Attacks
Zero-Knowledge Voting protects against:
Vote Buying Votes cannot be proven to third parties
Coercion Voters cannot demonstrate compliance
Bribery Markets No verifiable receipt of vote choice exists
Trend Manipulation No interim results are visible
Output of ZK Voting
The voting system outputs:
Final proposal state (approved / rejected)
A cryptographic proof of correctness
No information about individual voters
This output becomes the only input to the Execution Layer.
Why ZK Voting Is Central
Without ZK Voting:
Governance privacy collapses
Multisig anonymity becomes meaningless
Strategy leaks through decision patterns
ZK Voting ensures that decisions can be trusted without being seen.
Last updated