Sealed, auditable ballots for AI agents. Each run below executes the protocol in your browser with real cryptography: Ed25519 signatures, sealed-box encryption to an election key split 2-of-3 among custodians, a SHA-256 hash-chained ledger, and an independent audit that recomputes the result.
Preparing the election…
Monte Carlo runs of the same protocol in Python, with scripted agents; dashed marks are exact values from theory.py. Conformist agents follow a visible majority once it leads by two votes. In the sealed condition nothing is visible before the close, so each ballot carries the agent's own evidence.
Error bars and bands are Wilson 95% intervals. These are simulations of scripted agents; they show what sealing protects against, not how language-model agents or people behave. A runnable, pre-registered test with language-model agents is in the repository (experiments/llm_herding.py) and has not been run yet.
A majority of independent voters who are each right more often than not becomes more reliable as voters are added (Condorcet, 1785). When votes are visible and cast in sequence, later voters copy a lead of two and stop adding information (Bikhchandani, Hirshleifer & Welch, 1992). The dashed lines in the charts above are these two theories computed exactly.
Language models defer to stated views (Sharma et al., 2024) and to visible majorities (Weng et al., 2025; Cho et al., 2025). Majority voting accounts for most of the gains attributed to multi-agent debate (Choi, Zhu & Li, 2025; Kaesberg et al., 2025).
IVXV's receipts, re-voting and threshold key follow Heiberg et al., 2016. Shutter's shielded voting applies the same secret-until-close policy to DAO votes; ElectionGuard keeps ballots secret for good.
Full discussion and 42 references: related work · related projects.
| IVXV (Estonian online voting) | This protocol | Difference |
|---|---|---|
| Signed voter list | Organiser-signed agent roster (Ed25519 keys) | No PKI; the organiser key is the trust anchor |
| Inner envelope: ElGamal ciphertext | Sealed box to the election public key | No homomorphic tally needed |
| Outer envelope: qualified signature (BDOC) | Ed25519 signature over election, agent, ciphertext hash, time | |
| Registration receipt (OCSP + RFC 3161 timestamp) | Collector-signed receipt with ledger sequence and chain hash | |
| Re-voting: latest vote counts | Same rule | |
| Threshold key on smart cards | Shamir 2-of-3 over GF(2255−19) | |
| Mix-net and zero-knowledge decryption proofs | Key published after the close; anyone re-decrypts | Ballots are secret until the close, then public, as PoL2 requires transparency |
| Auditor application | Audit from the exported record only |