Server Setup

Seed

After deciding on the Election Measure and the Candidates, the Election Officials generate a random seed phrase.

Using ZIP-32, they derive a secret key for each candidate using the standard derivation path for accounts: m/32/133/<candidate>/0

The addresses associated with the candidates are made public[^1]. They are included in the Election JSON too.

cmx and nf roots

Once the snapshot height is reached, i.e. when voting starts, the Voting Server (VS) should start keeping track of the cmx and nf roots at regular intervals.

  • At the snapshot height, which is also the Genesis of the Voting Blockchain
  • At frequent intervals, the VS should emit new blocks of votes and the resulting cmx, nf hash. For example, once every 10 minutes when there is at least 1 vote.

The VS does not need to keep all the intermediate hash calculations of every tree for verification. Only the root hash is required.