The checks of §3.7, from an origin neither the voting application nor the wallet controls.
—
O1
Independence is a property, not an address
This page is served by the demo operator, who also runs the office and the
box — so in this deployment the independence is asserted rather than
demonstrated. What makes the checks worth anything is that the artefacts
are self-authenticating: the released records carry their own signatures,
and a denial is signed under k_s^(O). Anyone may serve this
page and reach the same conclusions.
…
Drawn from what the box and the office publish, and from nothing else. While voting is open that is the figures at each publication boundary, not a live count: the box discloses selections at the close, so what moves here moves on a schedule the election set in advance. Each point already has supersession applied, so a voter who recasts moves the curve down as well as up.
…
—
—
Commitments only. The register never opens publicly: its harm is not a running result but a list of who did and did not take part.
Every token verified against the office's published key, every selection against the ad-hoc key that token certifies, the chain rebuilt from the genesis hash, supersession applied, the tally recomputed, and the count audit across both components. Not a summary of what the box announced — the result, worked out again.
—
This fetches the artefacts from the parties that published them, which is the convenient way and the weaker one: a verdict computed from files those parties handed over a moment ago, on a page they serve. Below is the same check on files you already hold.
After the close the office, the ballot box and the administering body publish these three. Take them from an archive, a mirror, or anywhere that is not this deployment, and check them here — or better, with the program below on a machine none of these origins can reach.
The downloads are off until the box closes, and this page does not learn that it has by itself — press this after closing rather than reloading.
Each file is
recognised by what is in it, so a file in the wrong place is named rather
than discovered halfway through. VRO_supervision_….json is a
different artefact — it names citizens and is not part of this check.
The same program,
importing nothing from the election: the standard library and
cryptography. It exits non-zero if any check fails.
python verify_election.py Election_config_….json EBB_dump_….json VRO_dump_….json
D1. The query must
carry a signature of id made in the wallet, so only that voter
can ask: an unauthenticated lookup would turn the register into a public
record of who took part. Save the query from the wallet page and load it
here — the same clumsy handover as the token request, and for the same
reason.
An answer is true of the moment it was asked and of no other. A token released after you asked will not appear above until you ask again.
D2. The box returns
a receipt for every submission, signed under its statement key
k_s^(B). Load it here and two separate things are checked: that
the box really said it, against the key pinned in the published
configuration, and that the registry still says it, against the commitment
published at that position. The first catches a box denying its own
receipt; the second catches one dropping an entry it acknowledged. Neither
takes the box's word for anything.
A signature proves the box committed to this, not that it behaved. It makes a discrepancy demonstrable rather than merely alleged — which is the whole of what §3.5 claims for the receipt.
Loading…