[ethresear.ch] [zk-s[nt]arks] Vocdoni Protocol: Enabling Decentralized Voting for the Masses with ZK Technology
October 27
Thanks for the detailed write-up. The re-encryption step for receipt-freeness is the part I found most useful.
One question about the census. As I read it, the census proof is a Merkle proof of inclusion in the authorised voter registry, and that registry comes from the organiser. So one person, one vote is only as strong as the organiser’s list. For open polls with no natural voter roll, have you looked at using a proof-of-personhood registry as the census? That would be a Merkle tree of identity commitments in which each person can enrol only once.
We are working on such a layer as an open-source, non-commercial project. Enrolment reads the passport chip and proves its signature chain in zero knowledge. A live face matched to the chip photo then stops the same person enrolling twice with a second document. The output is a public set of commitments plus private attributes (such as age and nationality) that a poll can filter on. It is reference code only, not audited, and we would value criticism:
- Spec and code: GitHub - NemoUnus/proof-of-one: Open, verifiable polling network: one human, one identity, one voice. Design stage — not audited. · GitHub
- Comparison with DAVINCI, MACI and the ZK-passport projects (corrections welcome): proof-of-one/docs/research/landscape-review-v0.1.md at c005a021043d4edfb10e91aa7ae326b7f7c29243 · NemoUnus/proof-of-one · GitHub
Two questions, then. Is the census proof checked inside the ZK circuit, so that the sequencer does not learn which leaf the voter is? And could the leaves be identity commitments with a per-poll nullifier, rather than addresses or public keys? If so, a registry like ours could be plugged in as a census without changing DAVINCI itself.
Visit Topic to respond.
You are receiving this because you enabled mailing list mode.