De staat van Lightning Network

Followmyvote is een platform dat online stemmen met behulp van blockchain technologie mogelijk maakt. De technologie bestaat uit een authenticatie- en registratieproces van kiezers, een digitale telling en een publieke explorer. Voordat ik beschrijf hoe FollowMyVote het stemmen met blockchain mogelijk maakt, beschrijf ik eerst het huidige stemproces in Nederland. Ik benoem de problemen die daar mee gepaard gaan, welke oplossingen hiervoor bestaan, en waarom deze oplossingen uiteindelijk toch niet voldoen.

Het huidige stemproces in Nederland

Met de Provinciale Staten en waterschapsverkiezingen voor de deur breekt de verkiezingsstrijd weer los. Op 20 maart melden mensen zich weer massaal met hun stempas en een geldig legitimatiebewijs bij het stembureau, waarna zij een anoniem stembiljet ontvangen. Met het welbekende rode potlood kleuren ze een vakje op het stembiljet, waarna de stemmen aan het einde van de dag handmatig geteld worden door de vrijwilligers van het stembureau.

Er wordt per stembureau een proces-verbaal opgesteld. Daarin worden alle gegevens van het stembureau verzameld: de geldige stemmen, de ongeldige stemmen, de blanco stemmen, het aantal stempassen, het aantal kiezers toegelaten ten opzichte van het aantal stembiljetten in de stembus, en de eventueel aangetekende bezwaren. De processen-verbaal gaan eerst naar de gemeenten, dan naar de 20 hoofdstembureaus en uiteindelijk worden ze doorgestuurd naar de kiesraad (het centraal stembureau). Bij iedere instantie worden de processen-verbaal van de vorige (kleinere) instanties samengevoegd en bij elkaar opgeteld. Bij de hoofdstembureaus en de kiesraad gaat dat aan de hand van een zitting om de processen-verbaal en de eventueel ingediende bezwaren te behandelen. De kiesraad maakt na haar zitting de officiële uitslagen van de verkiezing bekend.

Dit proces is al sinds 1917 op deze manier vormgegeven. Het is na meer dan 100 jaar dan ook niet lastig voor te stellen dat dit de nodige problemen met zich mee brengt, en dat het wellicht tijd is voor een moderniseringsslag.

Problemen hedendaagse stemproces

Een eerste probleempunt met het huidige stemproces is de gevoeligheid voor corruptie en fraude. Bij verkiezingen zijn de belangen groot, en lopen emoties soms hoog op. Verkiezingen verlopen soms dan ook niet zo democratisch en vlekkeloos als gewenst.

It is enough that the people know there was an election. The people who cast the votes decide nothing. The people who count the votes decide everything.” – Joseph Stalin

Bijvoorbeeld over landen als TurkijeRuslandBangladeshCongo en recentelijk ook Venezuela bestaan er twijfels over het functioneren van de democratie. Verkiezingen gaan in deze landen vaak gepaard met vermeende corruptie en onrust.

Naast moedwillige fraude zijn er, ook in Nederland, voldoende redenen te bedenken dat niet alle stemmen meegeteld worden. Zo kunnen er ook onbedoelde fouten gemaakt worden tijdens het verwerken van de processen verbaal, bijvoorbeeld door vrijwilligers van de stembureaus, bij de gemeenten, bij de hoofdstembureaus of bij het centraal stembureau. Daarnaast kan de benodigde fysieke aanwezigheid bij deze manier van stemmen een probleem zijn. Lichamelijke problemen, een gebrek aan tijd, of andere prioritering kunnen er toe leiden dat niet alle kiesgerechtigden kans zien hun stem in een stemloket te komen uitbrengen.

Daarnaast is het huidige stemproces inefficient, wat soms tot een lange tijd tussen het sluiten van de stembussen en de officiele uitslag van de verkiezingen kan leiden. In Nederland vinden er twee tellingen plaats: een sneltelling op partijniveau en een telling op kandidaatsniveau. Met de sneltelling kan de voorlopige uitslag nog dezelfde avond bekend gemaakt worden. De telling op kandidaatsniveau bepaalt de definitieve uitslag en duurt een stuk langer. Een goed voorbeeld hiervan is de uitslag van de Tweede Kamerverkiezingen in 2017. De stembureaus sloten op 15 maart 2017 om 21:00. De definitieve uitslag werd pas op 21 maart 2017 om 16:00 bekend gemaakt. In andere landen kan het nog veel langer duren. Zo wordt in de Verenigde Staten elke stem van elke county geteld, geverifieerd en vervolgens gecertificeerd door de lokale counties en tot slot ook nog eens door the state election board. Hierdoor kan het meerdere weken duren voordat de officiële uitslag bekend is.

Een laatste probleem met het huidige stemproces is de milieu impact. Zo komen kiezers vaak met gemotoriseerd vervoer naar het stembureau, en wordt er met de stempassen en de stembiljetten veel papier verbruikt.

Ondanks deze tekortkomingen wordt deze 100 jaar oude methode vandaag de dag altijd nog gehanteerd. Inmiddels zijn er wel verschillende aanpassingen geopperd, maar deze zijn door verschillende problemen toch ook niet houdbaar gebleken.

Nieuwe oplossingen en nieuwe problemen

De stemcomputer

Om het stemproces efficiënter en milieuvriendelijker te maken werd in Nederland in de jaren 90 de stemcomputer ingevoerd. Deze computers stonden nog wel in het stemhokje, maar hadden toch al de nodige voordelen ten opzichte van het papieren monster:

  • papierbesparing;
  • minder tot geen telfouten;
  • snellere uitslagen.

Dat we in Nederland toch weer van de stemcomputer afgestapt zijn heeft voornamelijk te maken met fraudegevoeligheid. Hackers en wetenschappers hebben veelvuldig bewezen dat stemcomputers te manipuleren zijn. De data van de stemcomputers wordt opgeslagen in één centraal systeem, wat als gevolg heeft dat slechts op 1 systeem ingebroken hoeft te worden. De belangen in verkiezingen zijn te groot om dit risico te nemen.

Stemmen met een stemcomputer

Online stemmen

Het idee van online stemmen gaat een stap verder dan de stemcomputer. Vanuit je eigen huis je stem uitbrengen zou veel voordelen kunnen brengen. Het zou de barrière weg kunnen nemen voor mensen die niet fysiek naar een stembureau willen of kunnen komen. Het is waarschijnlijk dat hierdoor meer mensen zouden gaan stemmen, waarmee het stemproces meer inclusief en democratischer zou worden. Daarnaast zou het minder milieubelastend zijn, omdat er geen vervoer meer naar de stembureaus genomen zou hoeven worden, en er met online stemmen minder papier verbruikt zou worden.

Toch is online stemmen nooit ingevoerd, omdat ook deze oplossing problemen kent. Net als de stemcomputer kent dit systeem vooral tekortkomingen op het gebied van fraudegevoeligheid. Het centrale platform en de database kunnen gehackt worden, waardoor het mogelijk is dat mensen meerdere stemmen uitbrengen of in de database gegevens kunnen aanpassen. Een ander zorgpunt is of de kiezer’s stem wel anoniem is en blijft. De online uitgebrachte stem zou eenvoudig naar de kiezer getraceerd kunnen worden. Ten slotte is een probleem van online stemmen dat er nog steeds een centrale instantie aan te pas komt die het platform beheert, de data verwerkt en de uitslag naar buiten brengt. De centralisatie van zoveel invloed binnen één instantie is zorgwekkend in een situatie waarbij dergelijk hoge belangen spelen als bij verkiezingen.

Online stemmen met blockchain technologie

Online stemmen met blockchain technologie heeft de potentie om bovengenoemde problemen te adresseren. Met blockchain technologie kan het proces van stemmen verzamelen, tellen, en publiceren bij centrale instanties weggenomen worden en transparant gemaakt worden terwijl ook de anonimiteit van kiezers gewaarborgd kan blijven. Daarnaast kan het decentrale karakter van een blockchain netwerk de mogelijkheid tot fraude en fouten minimaliseren.

FollowMyVote, hoe werkt het?

Zoals kort in de inleiding uitgelegd is, maakt FollowMyVote stemmen via blockchain mogelijk via een mobiele app of website met een betrouwbare authenticatie, een speciale registratie van kiezers, een digitale stemmentelling en een transparante publieke explorer. De software die FollowMyVote gebruikt is open source. Dat houdt in dat de code van hun applicatie voor iedereen inzichtelijk is en dus te controleren. Deze transparantie brengt vertrouwen in het proces en de software.

FollowMyVote heeft hun systeem in eerste instantie op het BitShares platform gebouwd, maar het platform kan eenvoudig op een andere blockchain draaien. Zo kan er voor elke use case worden bekeken welk platform het beste past. Het stemproces van FollowMyVote en de bijbehorende technologie wordt in de volgende alinea’s uitgelegd.

Authenticatie

Voordat iemand een stem uit mag brengen, moet die persoon bewijzen dat hij of zij stemgerechtigd is. Het authenticatieproces kan ruim voor de verkiezingen doorlopen worden, waarbij de gebruiker via de FollowMyVote website of mobiele app foto’s uploadt van het gezicht en van de voor- en achterkant van een identiteitsbewijs . Vervolgens verifieert een onafhankelijke derde partij de identiteit en het stemrecht van de gebruiker. Om onrechtmatige uitsluiting van verkiezingen te voorkomen, is afwijzing alleen mogelijk met duidelijk opgaaf van reden. Het authenticatieproces kan binnen enkele minuten voltooid zijn (zie filmpje).

Deze authenticatie van FollowMyVote is vergelijkbaar met de traditionele  authenticatie in stembureaus. Ook daar verifieren derden de identiteit en het stemrecht aan de hand van een identiteitsbewijs en kiezerslijst. Andere mogelijkheden tot online verificatie waarbij geen gebruik gemaakt wordt van identiteitsbewijzen zouden bijvoorbeeld het gebruik van DigIDiDIN of NotarisID kunnen zijn.

Anonimiteit waarborgen

Zodra de authenticatie voltooid is, ontvangt de kiezer één digitale token en een kies-ID dat geautoriseerd is om te stemmen. Het stemmen gebeurt doordat de kiezer de token naar de wallet van de te kiezen kandidaat te versturen, vergelijkbaar met het versturen van reguliere crypto’s, waarbij de stemmen als een transactie in de blockchain worden weggeschreven. Nu is het zo dat als je “normale” crypto tokens van jouw wallet naar een andere wallet stuurt, dit te traceren is waardoor anonimiteit in het geding zou kunnen komen. Omdat dit bij een privacygevoelige kwestie als stemmen ongewenst is, maakt Followmyvote gebruik van elliptic-curve cryptography en een speciaal registratieproces. Samen zorgt dit ervoor dat de token die de kiezer verstuurt onmogelijk terug te leiden is naar de identiteit van de kiezer. In het volgende stuk wordt uitgelegd hoe het registratieproces vormgegeven is.

Registratie

De kiezer stuurt de versleutelde token naar de zogenaamde registrar, een geautomatiseerd registratieproces. De registrar controleert of het de eerste keer is dat de token aangeboden wordt. Indien dit het geval is, krijgt de token een digitale stempel waarmee de token geauthoriseerd wordt om te stemmen zodra deze later ontgrendeld wordt. De kiezer ontvangt de geauthoriseerde token samen met een digitaal kies-ID welke beiden niet naar de identiteit van de kiezer te herleiden zijn. De token en het kies-ID vormen eigenlijk een soort digitaal potlood en stembiljet.

De tokens worden automatisch ontgrendeld op verkiezingsdag zodat ze kunnen worden gebruikt om te stemmen. Zij worden door de kiezer samen met het kies-ID naar de registrar opgestuurd om te verifiëren dat het kies-ID nog niet eerder tot deze stap is gekomen. Na die verificatie kan de kiezer veilig en anoniem zijn of haar stem uitbrengen door de gewenste politicus aan te klikken en de keuze te bevestigen, waarna de token naar de desbetreffende wallet wordt gestuurd.

Publieke explorer

Nadat de kiezers hun stem hebben uitgebracht krijgen ze de mogelijkheid om in de publieke explorer te controleren of hun stem verwerkt is in de blockchain. De blockchain is een publieke ledger waarin alle transacties opgeslagen worden, en de explorer biedt op gebruiksvriendelijk wijze openbaar inzicht in alle transacties in de ledger. Zo kan de kiezer controleren of de stem vanaf zijn of haar kies-ID wel daadwerkelijk geteld wordt, en of alle andere stemmen wel afkomstig zijn van legitieme kies-IDs. Maar doordat de kies-IDs niet te herleiden zijn tot de identiteit van individuele kiezers blijft anonimiteit gegarandeerd.

Screenshot Blockchain explorer follow my vote

Kritiek op blockchain in verkiezingen

Er is al veel geschreven over de toepassing van blockchaintechnologie bij verkiezingen, waarbij ook veel zorgpunten beschreven worden. Een belangrijk punt is bijvoorbeeld de waarborging van anonimiteit. Doordat in een blockchain transacties kunnen worden vastgelegd en getraceerd – zoals bijvoorbeeld ook bij Bitcoin – is volgens critici een via blockchain uitgebrachte stem makkelijk te herleiden tot de kiezer. Anonimiteit is volgens deze critici daamee niet te waarborgen met blockchain. “De kern van wat een blockchain is, maakt dat anonimiteit veel moeilijker te garanderen is dan in de huidige potlood-en-papier praktijk” (uit Medium.com). De FollowmyVote use case laat echter zien dat er middels goede authenticatie-, registratie-, en encryptie processen de privacy juist erg goed gewaarborgd kan worden in de blockchain.

Een ander zorgpunt is dat de afhankelijkheid van technologie bij verkiezingen groter wordt. Terwijl dit ook het geval is, is een belangrijke vraag of men bij verkiezingen liever afhankelijk zou zijn van menselijk handelen, of van een nieuwe decentrale technologie. De geschiedenis leert ons dat menselijk handelen niet altijd gepaard gaat met gestroomlijnde en democratische verkiezingen. De onderhand steeds volwassener wordende Blockchain technologie biedt hierbij mogelijk een betrouwbaarder alternatief.

Een laatste belangrijke zorgpunt dat vaak genoemd wordt is dat een hertelling niet mogelijk is met blockchain. Echter, met de invoering van blockchaintechnologie bij verkiezingen, zullen hertellingen helemaal niet meer van toepassing zijn. Hertellingen worden gedaan naar aanleiding van vermoedens van fraude of onzorgvuldig tellen. De publieke ledger telt de stemmen automatisch en elke kiezer kan de telling en de legitimiteit van andere stemmen controleren via de explorer. Een hertelling zal daarmee dus niet nodig zijn.

Uitdagingen

De implementatie van blockchain bij verkiezingen brengt natuurlijk wel nieuwe uitdagingen met zich mee. Authenticatie is er daar een van. Op verkiezingsdag zijn er miljoenen mensen die willen stemmen. Het is daarom belangrijk dat die kiezers al voor die tijd zijn geauthentiseerd en tot het punt in het proces zijn gekomen dat ze de vergrendelde token en het kies-ID (het digitale stembiljet) hebben gekregen van de registrar.

Ook de transactiesnelheid van het platform dat gebruikt wordt voor de verkiezing is een aandachtspunt. Voor de Nederlandse verkiezingen zal het platform meer dan 10 miljoen transacties tijdens de verkiezingsdag moeten kunnen verwerken. Die transacties zullen ook niet allemaal perfect verspreid over de dag worden gedaan. Net als tijdens de spits zullen er piekuren zijn. FollowMyVote kan gebouwd worden op het openbare Bitcoin platform. Bitcoin zelf heeft een transactiesnelheid van 3,3 tot 7 transacties per seconde. Voor de Nederlandse verkiezingen is dit te laag. FollowMyVote kan natuurlijk ook op een blockchain met hogere transactiesnelheden draaien. Er kunnen daardoor meer transacties in een kortere tijd worden weggeschreven.

Tot slot moet het platform voor iedereen toegankelijk zijn. Iedere kiezer moet daarvoor bijvoorbeeld toegang hebben tot internet en een camera voor de authenticatie. Een andere mogelijkheid is om de authenticatie via DigID of IDIN te laten verlopen. De toegankelijkheid voor ouderen, die soms moeite hebben met het gebruik van nieuwe technologieën, is ook een belangrijk aandachtspunt. Het gehele proces moet zeer gebruiksvriendelijk zijn, aangezien veel mensen het in kort tijdsbestek moeten kunnen gebruiken. Mogelijk zou er een helpdesk opgezet moeten worden die de kiezer kan begeleiden in het proces.

Toepassing

Landelijke verkiezingen overzetten op een blockchain is een moeilijke en grote stap, waarvoor er voldoende vertrouwen in- en draagvlak voor de technologie moet bestaan. Alle mogelijkheden en beperkingen moeten goed worden getest, mogelijk in een kleinschaliger stemproces waarbij belangen minder groot zijn dan bij landelijke verkiezingen. Voorbeelden zouden het Eurovisie Songfestival of de verkiezing van de voetballer van het jaar kunnen zijn. Door een aantal succesvolle test-cases zou het vertrouwen in de technologie kunnen groeien, waarmee de toepassing in politieke verkiezingen een stap dichterbij zou komen.

In dit artikel heb ik voornamelijk de toepassing van blockchain in de Nederlandse landelijke verkiezingen behandeld. In andere situaties waarin democratische processen moeilijker verlopen, zou blockchain mogelijk nog meer voordelen kunnen bieden. De details in de toepassing van blockchain in verkiezingen, zoals het authenticatieproces, zullen per land verschillen maar het hoofdconcept zal in grote lijnen hetzelfde blijven.

Stemmen met blockchain heeft de potentie om het stemproces makkelijker, milieuvriendelijker, transparanter en beter bestand tegen fraude en corruptie te maken. Er zijn niet langer centrale instanties die de stemmen tellen en de belangrijke gegevens beheren en iedereen kan het stemproces controleren. Het is dus tijd om deze mogelijkheden verder te onderzoeken.

Meer over blockchain in de overheid

Bij Xurux zijn wij net als FollowmyVote ook bezig met het ontwikkelen van blockchain toepassingen die de processen van de overheidsinstanties kunnen optimaliseren. Wij hebben onder andere met de IJsselgemeenten en de gemeente Haarlem blockchain projecten gedaan.

Leren over blockchain in de overheid

Xurux Academy biedt blockchain cursussen aan waarin we verder in gaan op toepassingen van blockchain binnen het publieke domein. Wij bieden bijvoorbeeld een eendaagse blockchain cursus aan voor een goede basiskennis, maar ook een driedaagse deep dive waarin we dieper op de materie ingaan.