Aggios

Aggregator-based voting with EPA proofs of partition

What is basic Aggios?

Aggios is an aggregator-based (proxy) voting protocol. Voters do not post votes on-chain; instead each voter delegates to exactly one aggregator of their choice. Aggregators collect votes, publish a tally, and prove the tally correct with an EPA proof — a succinct proof that a committed vector of voter tokens is partitioned into disjoint, labeled subsets of publicly claimed sizes (one subset per candidate, plus internal NO_VOTE and PAD subsets). Validators verify the proofs; the final result sums only verified aggregators.

Voters Aggregators A1 / A2 / A3 EPA proofs Validators Final tally

Cryptography in this demo

  • BLS delegation signatures — voters sign "AGGIOS_DELEGATION" || election_id || aggregator_id binding them to one aggregator.
  • Registration tokens — τi = skvi · Bi, where Bi is the KZG commitment to the voter's Lagrange slot; validators rebuild the committed vector as Σ τi.
  • EqLog proofs — cross-group proof that τi and the voting key pkvi use the same secret scalar.
  • EPA proof of partition — the existing EPA implementation, used strictly as a black box, proves the tally partitions the committed token vector.

Demo caveats: the KZG SRS is generated from a fixed seed (no trusted setup), the backend simulates voters' wallets and private channels, and voter receipts are unavailable because the black-box EPA implementation exposes no partition-opening API.

Current election

No election selected. Create one in the Admin tab.

Create election

Phases & actions

Select an election first.

Aggregator operations


  

Demo voters

The backend simulates each voter's wallet: it holds the voter's signing key, signs the delegation, and sends skv to the chosen aggregator over a simulated private channel. skv never appears on the bulletin board.

Validator

Download public artifact JSON

Verified global tally

Run verification to compute the verified global tally.

Public election parameters

Bulletin board

Run benchmark

Benchmark jobs