FDKG-Vote-BC — Proof of Concept

This demo implements the FDKG-Vote-BC protocol: a fully on-chain, threshold-encrypted election using Federated DKG.

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.

Mocked pieces (PoC)

Quick links

Contract: (not configured) ·  RPC: http://localhost:8545