A Private Voting Primer: Research Continues
New York, NY — March 11th, 2026
Onchain privacy is hard. Agora is prototyping privacy governance tech, today!

Private Voting Explorations
Over the past year, we’ve been exploring how to bring private voting to the Agora Governor. In this post, we’ll cover what “private voting” actually means in the context of on-chain governance, why it matters, and where our research is headed.
Why does voting privacy matter?
On a public blockchain, every transaction is visible to everyone. That means when you cast a vote, the world can see who voted and how they voted. This creates real problems:
- Social pressure and conformity. Voters may follow prominent delegates rather than voting their conviction.
- Bribery and vote buying. If votes are public, it’s easy to verify that a bribed voter followed through.
- Strategic voting. Seeing early results can discourage participation or encourage bandwagoning.
Private voting aims to solve these problems by keeping ballots encrypted while still producing a trustworthy result.
What do we mean by “private”?
At its simplest, private voting means that individual ballots are encrypted. Think of it like a closed ballot box: the proposal being voted on is public, but each voter’s choice (for, against, abstain) and even whether they voted stays hidden.
But privacy alone isn’t enough. Once ballots are encrypted, new questions arise: How do we tally the votes? How do we prove the tally is correct without revealing individual preferences? These challenges push us toward cryptographic solutions that preserve privacy and ensure integrity.
MACI: a leading approach
MACI (Minimum Anti-Collusion Infrastructure) is one of the most promising projects tackling these problems. It uses zero-knowledge proofs to enable a trusted coordinator to tally votes and prove the result is correct, all without revealing how anyone voted.
The tradeoff: the coordinator can see individual votes. No one else can, but this single point of trust exists by design. In exchange, MACI provides a strong set of guarantees:
- Collusion resistance — No one except the coordinator can verify how someone voted, making bribery ineffective.
- Ballot privacy — Votes are encrypted and unreadable to everyone except the coordinator.
- Uncensorability — Not even the coordinator can censor or exclude a valid vote.
- Unforgeability — Only the holder of a voter’s private key can cast their vote.
- Correct execution — No one, including the coordinator, can produce a false tally.
One open challenge: fully hiding whether someone voted at all. Since voting requires a blockchain transaction from a known public key, an observer can still see that a transaction occurred. This remains an active area of research.
How we’re integrating MACI with the Agora Governor
Agora Governor 2.0 uses a modular architecture with a hooks system, which lets us plug MACI in as a voting module. Here’s how the lifecycle works:
- Setup. A trusted coordinator is configured and a MACI poll is created, mapped one-to-one with a governance proposal.
- Registration. Before voting opens, eligible voters generate a fresh keypair and register it with the MACI contracts. This keypair is separate from their wallet key and is what provides the privacy guarantees.
- Voting. Voters submit encrypted ballot messages to the MACI circuits. These messages are queued on-chain but unreadable.
- Tallying. After voting closes, the coordinator processes all messages, generates a zero-knowledge proof of the correct tally, and submits it on-chain.
- Finalization. The governor module verifies the proof and records the result. We can enforce a deadline so the coordinator must finalize within a set window, and if they fail to act, the messages can be replayed with a different coordinator.
Exploring off-chain approaches
We’re also researching off-chain private voting, where votes are collected off-chain and only the final result is posted on-chain. This approach trades some of the on-chain verifiability guarantees for practical benefits:
- Simpler setup — No pre-registration period or separate keypair generation required.
- More flexibility — Easier to experiment with different cryptographic schemes.
- Lower cost — Fewer on-chain transactions means lower gas costs.
In this model, Agora acts as the trusted coordinator. We’re exploring the use of ring signatures to let voters encrypt their ballots with a shared key, allowing an unknown number of participants to vote without needing to register in advance.
What does this mean for practical governance?
Private voting isn’t just a cryptographic curiosity — it changes how governance feels and functions in practice.
Trust. Every private voting scheme introduces some trust assumption. With MACI, you trust the coordinator not to reveal individual votes. With an off-chain model, you trust the coordinator to faithfully include all ballots. The question isn’t whether trust exists, but whether it’s well-scoped and accountable. In both approaches, the coordinator cannot forge a false result — they can only see (or, in the off-chain case, potentially exclude) individual votes. That’s a meaningfully smaller trust surface than today’s fully public system, where everyone sees everything.
Privacy. Ballot privacy unlocks more honest governance. When delegates know their votes won’t be scrutinized in real time, they’re free to vote on the merits of a proposal rather than positioning themselves relative to other delegates. This is especially important for contentious votes where social dynamics currently distort outcomes. Even partial privacy — hiding how someone voted while not fully hiding whether they voted — is a significant improvement over the status quo.
User experience. Any privacy scheme that adds registration steps, keypair management, or waiting periods risks reducing participation. This is the central design tension: stronger privacy guarantees often mean more friction. Our on-chain MACI integration requires voters to register a separate keypair before each vote, which adds a step many users won’t complete. The off-chain approach eliminates that friction entirely — voters sign a message with their existing wallet and the experience feels familiar. We believe the path to adoption runs through minimizing new concepts and clicks, even if it means accepting a slightly different trust model.
Ultimately, the right approach will depend on the DAO. High-stakes constitutional votes may warrant the stronger guarantees of on-chain MACI. Routine parameter changes may be better served by the lighter off-chain model. Our goal is to make both options available so governance designers can choose the tradeoff that fits their community.
What’s next?
Follow us on Twitter for updates. We’re looking for partners interested in running a private vote with these new solutions.