How it works

  1. Eligibility, anonymously. The voter roll checks your National ID once and signs a blinded credential. Your device unblinds it, so the ballot can prove "an eligible voter" without saying which voter.
  2. Encrypted on your device. Your choice is encrypted in the browser with the election public key (threshold ElGamal on Ristretto255) plus zero-knowledge proofs that it is a valid single vote.
  3. Check the device (Benaloh challenge). Before casting, you may spoil a ballot: its encryption is opened publicly so anyone can confirm the device encrypted what you chose.
  4. Recorded on a permissioned blockchain. Independent validators (commission, observers, parties, judiciary) each re-check every proof and co-sign each block (3 of 4 needed).
  5. Counted without decrypting any ballot. Encrypted ballots are added together; at least 3 of 5 trustees jointly decrypt only the totals, with proofs.
  6. Anyone can verify. The independent verifier re-checks the whole election from the ledger.

This is a pilot built to support evaluation by an election authority. It is not certified, has not been externally audited, and uses synthetic test data only.