Voter-to-Voter Internet Voting

A fully on-chain, threshold-encrypted election protocol. Voters encrypt their choices under a distributed key held jointly by a set of talliers — no single party can decrypt, and no trusted authority is required.

Protocol Phases

  1. Deploy & Pin Params — the Organiser anchors the election (eid, time windows, eligible set) on-chain.
  2. FDKG GenerationTalliers post partial public keys + encrypted Shamir shares before voting opens. The contract aggregates them into the election public key E.
  3. CastingVoters encrypt their choice under E and submit with a one-time nullifier. Duplicate nullifiers are rejected.
  4. Decryption — after voting closes, talliers post partial decryptions; guardians cover offline talliers via SSS reconstruction.
  5. Tally — anyone computes the tally off-chain and submits it once sufficient decryption material is posted.

Current limitations

Quick links

Contract: 0x93AEE675a8388fA19B63C1968143784F6E6ca334 · Base Sepolia