zero knowledge proof voting

Het artikel introduceert zkVoting, een innovatief elektronisch stemsysteem dat twee kritieke uitdagingen bij stemmen op afstand wil aanpakken: weerstand tegen dwang en end-to-end (E2E) verifieerbaarheid. Door gebruik te maken van een nieuwe cryptografische primitieve genaamd ‘nullifiable commitments’ biedt zkVoting een veelbelovende oplossing die veiligheid, privacy en praktische toepasbaarheid in evenwicht brengt.

De behoefte aan veilig stemmen op afstand

Met de voortschrijdende technologie is er een groeiende interesse in elektronische stemsystemen op afstand die de efficiëntie en toegankelijkheid kunnen verbeteren. Deze systemen staan echter voor aanzienlijke uitdagingen, met name bij het waarborgen van de privacy van kiezers en de integriteit van verkiezingen. Twee belangrijke vereisten zijn naar voren gekomen als essentieel voor veilig elektronisch stemmen:

  1. Dwangbestendigheid: Het systeem moet voorkomen dat tegenstanders kiezers kunnen dwingen om op een bepaalde manier te stemmen of zich van stemming te onthouden.
  2. End-to-end verifieerbaarheid: Kiezers moeten kunnen verifiëren dat hun stemmen zijn uitgebracht zoals bedoeld, geregistreerd zoals uitgebracht, en geteld zoals geregistreerd.

Eerdere benaderingen om deze doelen te bereiken hadden beperkingen. Systemen die gebruik maken van nep-inloggegevens, zoals JCJ en Civitas, lijden onder hoge computationele complexiteit tijdens het tellen. Op herstemmen gebaseerde systemen zoals VoteAgain en Loki vertrouwen op sterke vertrouwensaannames of kampen met schaalbaarheidsproblemen. zkVoting streeft ernaar deze beperkingen te overwinnen door een nieuwe cryptografische benadering.

Het nullifiable commitment schema

De kern van zkVoting is het nullifiable commitment schema, een nieuwe cryptografische primitieve die in dit artikel wordt geïntroduceerd. Dit schema stelt een vertrouwde entiteit (de registrator) in staat om zowel echte als nep commitment sleutels aan kiezers uit te geven. Elke kiezer ontvangt één echte sleutel en kan meerdere nep sleutels verkrijgen.

Belangrijke eigenschappen van het nullifiable commitment schema zijn:

  1. Verberging: Commitments onthullen het onderliggende bericht niet, zelfs niet aan de houder van de master geheime sleutel.
  2. Binding: Zodra een bericht is gecommitteerd, kan het niet worden gewijzigd.
  3. Nullifieerbaarheid: Met behulp van de master geheime sleutel kunnen commitments worden “genullificeerd”. Genullificeerde echte commitments openen naar het oorspronkelijke bericht, terwijl nep commitments naar nul openen.
  4. Ononderscheidbaarheid: Echte en nep sleutels zijn computationeel niet te onderscheiden.
  5. Sleutel-ontkenbaarheid: Kiezers kunnen aannemelijk ontkennen dat ze een nep sleutel hebben, wat de dwangbestendigheid verbetert.
  6. Homomorfisme: Commitments kunnen worden geaggregeerd, wat het telproces vereenvoudigt.

De auteurs bieden een concrete constructie van een nullifiable commitment schema gebaseerd op elliptische kromme cryptografie, waarbij ze de veiligheid ervan bewijzen onder de discrete logaritme en beslissende Diffie-Hellman aannames.

zkVoting systeemontwerp

Voortbouwend op het nullifiable commitment schema, bevat zkVoting verschillende belangrijke componenten:

  1. Setup: De autoriteit genereert openbare parameters en geheime sleutels voor de verkiezing.
  2. Registratie: Kiezers registreren hun openbare sleutels en ontvangen stemsleutels (commitment sleutels) van de registrator.
  3. Stemmen: Kiezers maken stembiljetten met behulp van hun stemsleutels, versleutelen hun stemmen en genereren zero-knowledge bewijzen van correctheid.
  4. Tellen: De autoriteit ontsleutelt stembiljetten, nullificeert commitments en produceert een bewijs van correcte telling.
  5. Verificatie: Iedereen kan de juistheid van de telling verifiëren met behulp van zero-knowledge bewijzen.

Belangrijke innovaties in zkVoting zijn onder meer:

  • Gebruik van serienummers om dubbel stemmen te voorkomen en de verifieerbaarheid te verbeteren
  • Integratie van zero-knowledge bewijzen voor verschillende stappen van het protocol
  • Efficiënt tellen door homomorfe aggregatie van genullificeerde commitments

Veiligheidseigenschappen

De auteurs geven formele veiligheidsdefinities en bewijzen voor zkVoting, waarbij ze aantonen dat het bereikt:

  1. Stembiljet privacy: Stemmen blijven geheim.
  2. Ontvangstbewijs-vrijheid: Kiezers kunnen niet bewijzen hoe ze hebben gestemd.
  3. Dwangbestendigheid: Kiezers kunnen hun beoogde stem uitbrengen ondanks pogingen tot dwang.
  4. End-to-end verifieerbaarheid: Kiezers kunnen verifiëren dat hun stemmen correct zijn opgenomen in de telling.
  5. Verkiesbaarheidverifieerbaarheid: Alleen verkiesbare kiezers kunnen stembiljetten uitbrengen.
  6. Kiezersanonimiteit: Stembiljetten onthullen de identiteit van de kiezers niet.

Het bewijs van dwangbestendigheid beschouwt vier aanvalsscenario’s: het eisen van een stemsleutel, het vereisen van afwezigheid van een sleutel, het opdragen van een specifieke stem, en het dwingen tot afwezigheid van de kiezer. In elk geval stelt zkVoting kiezers in staat om nep sleutels te gebruiken om dwang te ontwijken terwijl ze nog steeds hun beoogde stem kunnen uitbrengen met een echte sleutel.

Praktische implementatie en prestaties

De auteurs hebben zkVoting geïmplementeerd met behulp van moderne cryptografische hulpmiddelen:

  • Gro16 zk-SNARK systeem voor efficiënte zero-knowledge bewijzen
  • MiMC7 hash functie geoptimaliseerd voor zk-SNARKs
  • Elliptische kromme cryptografie voor het nullifiable commitment schema

Prestatieresultaten tonen potentieel voor implementatie in de echte wereld:

  • Stemtijd: 2,3-6,6 seconden op verschillende smartphone-apparaten
  • Stembiljet verificatie: 347.363 gas op Ethereum (geschikt voor een speciale sidechain)
  • Tellen: 3,9 ms per stembiljet ontsleuteling, 360 ms voor genereren van tellingsbewijs

Deze resultaten zijn gunstig in vergelijking met eerdere dwangbestendige systemen, met verbeterde efficiëntie en schaalbaarheid.

Analyse en implicaties

zkVoting vertegenwoordigt een belangrijke vooruitgang in veilige elektronische stemsystemen. De belangrijkste sterke punten zijn:

  1. Sterke veiligheidseigenschappen: Door gelijktijdig dwangbestendigheid en E2E verifieerbaarheid te bereiken, pakt zkVoting kritieke kwetsbaarheden aan bij stemmen op afstand.
  2. Efficiënt tellen: Het gebruik van nullifiable commitments maakt een tellingscomplexiteit van O(n) mogelijk, een aanzienlijke verbetering ten opzichte van eerdere benaderingen met nep-inloggegevens.
  3. Verminderde vertrouwensaannames: In tegenstelling tot sommige op herstemmen gebaseerde systemen, vereist zkVoting geen vertrouwen in extra partijen voor dwangbestendigheid.
  4. Praktische prestaties: De implementatieresultaten suggereren dat zkVoting haalbaar zou kunnen zijn voor verkiezingen in de echte wereld, zelfs op mobiele apparaten.
  5. Flexibel ontwerp: Het gebruik van een compiler-benadering maakt modulaire verbeteringen en aanpassingen van het systeem mogelijk.

Er zijn echter enkele potentiële beperkingen en gebieden voor verder onderzoek, waaronder:

  1. Vertrouwde setup: Het systeem vertrouwt op een vertrouwde setup-fase voor het genereren van openbare parameters. Het onderzoeken van manieren om dit vertrouwen te verdelen of de noodzaak voor vertrouwde setup te elimineren, zou de veiligheid verder kunnen verbeteren.
  2. Blockchain schaalbaarheid: Hoewel het gebruik van een blockchain bulletinboard de transparantie verbetert, kunnen de huidige gaskosten op openbare netwerken zoals Ethereum prohibitief zijn. Speciale sidechains of alternatieve consensusmechanismen kunnen nodig zijn voor grootschalige implementaties.
  3. Gebruikerservaring: Het artikel richt zich voornamelijk op cryptografische protocollen en prestaties. Verder onderzoek naar de gebruikersinterface en -ervaring van een dergelijk systeem zou waardevol zijn voor adoptie in de echte wereld.
  4. Langetermijnveiligheid: Naarmate quantum computing vordert, moeten de onderliggende cryptografische aannames mogelijk opnieuw worden geëvalueerd. Het verkennen van post-quantum varianten van het nullifiable commitment schema zou een belangrijke richting kunnen zijn voor toekomstig werk.

Bredere implicaties

De ontwikkeling van zkVoting heeft implicaties die verder gaan dan alleen elektronisch stemmen:

  1. Cryptografische innovatie: Het nullifiable commitment schema dat in dit artikel wordt geïntroduceerd, zou toepassingen kunnen vinden in andere domeinen die ontkenbaarheid of selectieve openbaarmaking van informatie vereisen.
  2. Privacy-behoudende systemen: De technieken die in zkVoting worden gebruikt, zouden nieuwe benaderingen kunnen inspireren voor privacy-behoudende berekeningen en gegevensdeling in andere vakgebieden.
  3. Democratische processen: Naarmate stemmen op afstand gangbaarder wordt, zouden systemen zoals zkVoting een cruciale rol kunnen spelen bij het handhaven van de integriteit en veiligheid van democratische instellingen.
  4. Blockchain-toepassingen: De integratie van zero-knowledge bewijzen en aangepaste cryptografische primitieven met blockchain-technologie toont het potentieel voor het bouwen van complexe, veilige systemen op deze platforms.

Conclusie

zkVoting vertegenwoordigt een belangrijke stap voorwaarts in de zoektocht naar veilige en verifieerbare stemsystemen op afstand. Door het introduceren van het nieuwe nullifiable commitment schema en het slim combineren ervan met bestaande cryptografische technieken, hebben de auteurs een systeem gecreëerd dat veel van de tekortkomingen van eerdere benaderingen aanpakt.

Het vermogen om dwangbestendigheid te bereiken met efficiënt tellen, terwijl end-to-end verifieerbaarheid wordt gehandhaafd, positioneert zkVoting als een veelbelovende kandidaat voor toekomstige elektronische stemimplementaties. Naarmate stemmen op afstand belangrijker wordt in onze steeds digitalere wereld, zullen systemen zoals zkVoting een cruciale rol spelen bij het waarborgen van de veiligheid, privacy en integriteit van democratische processen.

Hoewel er nog uitdagingen zijn aan te pakken op het gebied van implementatie in de echte wereld en gebruikerservaring, zijn de theoretische grondslagen en initiële prestatieresultaten van zkVoting bemoedigend. Toekomstig onderzoek dat voortbouwt op dit werk heeft de potentie om ons dichter bij breed geadopteerde, veilige stemsystemen op afstand te brengen die de deelname en het vertrouwen in democratische instellingen kunnen verbeteren.

Terwijl we het complexe snijvlak van technologie en democratie blijven navigeren, herinneren innovaties zoals zkVoting ons aan de kracht van cryptografie en zorgvuldig systeemontwerp om kritieke maatschappelijke uitdagingen op te lossen. Door de grenzen te verleggen van wat mogelijk is in veilige berekeningen met meerdere partijen, draagt zkVoting niet alleen bij aan de vooruitgang op het gebied van elektronisch stemmen, maar levert het ook waardevolle inzichten voor het bredere landschap van privacy-behoudende technologieën.

Lees hier de volledige pdf:

author avatar
Digitale Democratie Forum