A

ZK Anonymous Vote

Vote on the Midnight blockchain - your choice is recorded, your identity is not

How ZK Voting Works

1. You Vote
Choose Yes or No
2. ZK Proof
Server generates a Zero-Knowledge Proof that a valid vote was cast
3. On-Chain
Vote is recorded on Midnight blockchain
4. Anonymous
The tally is public, but WHO voted is impossible to trace
Loading...

Midnight Wallet

Optional - Lace Beta (Chrome)

Why This Matters

In traditional voting systems, the server knows who voted for what. Even in encrypted systems, the operator can often deanonymize votes. With ZK proofs on Midnight, the vote is mathematically verified as valid without ANY information about the voter being recorded anywhere - not on the blockchain, not on the server, nowhere.

What the Blockchain Actually Sees (Vote TX)

This is the real on-chain data when you cast a vote. Look carefully - WHO voted is nowhere.

$ midnight-indexer query vote-tx --preprod
tx_hash: 082ad2f5bdd46b0c...b3e38184ac
block: #142,205 proto: v22.000
contract: d349a98041b6c93f...f5985acd
state: 564f54453a6d69646e696768742d707269766163793a596573 (disclosed state only)
= "VOTE:midnight-privacy:Yes"
zswap: [0] (shielded) dust: [1] 7a6b2e9f...(encrypted blob)
unshielded_out: [] unshielded_in: []
voter: ???balance: ???dust_spent: ???identity: ???
Nowhere in the vote transaction
Voter Address
NOT RECORDED
Voter Balance
NOT RECORDED
Which DUST
NOT RECORDED
DUST Amount
NOT RECORDED
Voter Identity
NOT RECORDED
Exact Time
NOT RECORDED
Traditional Vote
voter_ip: 203.0.113.42
wallet: addr1q5xk...fv9q
choice: Yes
time: 12:07:41.293Z
Server logs voter IP, wallet, timestamp. Admin can see everything.
ZK Vote (Midnight)
voter_ip: HIDDEN
wallet: HIDDEN
choice: Yes
time: HIDDEN
Only the vote choice is disclosed. Voter is cryptographically invisible.
This is why ZK voting matters.

The blockchain proves a valid vote was cast. But it is mathematically impossible to determine WHO cast it. Not the server, not the blockchain operator, not anyone.

Powered by Midnight Network ZK Proofs | midnight.network