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