Elk academiejaar gaat de Vlaamse Scriptieprijs op zoek naar de strafste scriptie die aan een Vlaamse hogeschool of universiteit werd geschreven. Op de longlist van tien kandidaten blijven nog 4 UGent’ers over, waaronder Bart van de Meerendonk die vorig jaar afgestudeerde als master informatica. Hij deed zijn masteronderzoek onder begeleiding van professor Bjorn De Sutter, en schreef onderstaand persbericht om zijn onderzoek naar een wijder publiek te brengen.
Acrohalides: Secure Blockchain E-Voting through Signature Dilution
Bart Van de Meerendonk
De Digitale Toekomst van Democratie
Worden de stemmen wel eerlijk geteld? Maar weinig mensen zullen deze vraag over Belgische verkiezingen stellen, aangezien België internationaal bekend staat als functionerende democratie en aangezien er maatregelen worden genomen om het proces te controleren. Toch kan iedereen wel een voorbeeld van een verkiezing in een land ergens bedenken waarvan het te betwijfelen valt of deze wel helemaal eerlijk verlopen is: als de stemmen door een bepaalde groep mensen verzameld en geteld worden, is het altijd mogelijk dat deze mensen fraude plegen. Tegenwoordig kunnen echter veel processen die vroeger mensenwerk waren, geautomatiseerd worden door middel van software en met behulp van cryptografie kunnen deze vervolgens ook betrouwbaarder worden gemaakt. Is het mogelijk om te stemmen met behulp van software op een manier die wel veilig is? Ja: ik heb een blockchain genaamd Acrohalides ontwikkeld die dit kan bewerkstelligen.
Blockchains en Verkiezingen
Bij blockchain-technologie zul je waarschijnlijk het eerst aan cryptovaluta’s zoals Bitcoin denken. Dit was namelijk de oorspronkelijke toepassing van deze technologie, maar ze kan veel breder ingezet worden: een blockchain is een manier om data gedecentraliseerd op te slaan. Dit in tegenstelling tot een server: dit is in principe één computer waar data opgeslagen wordt en de beheerder van deze computer kan die data dus veranderen en zodoende frauderen. Als alle stemmen door kiezers in de blockchain gepubliceerd worden, is het niet mogelijk voor iemand om deze te verwijderen en dus kan iedereen nagaan dat ze correct geteld worden.
Maar als iedereen iets in de blockchain kan publiceren, kunnen dan ook niet-stemgerechtigden stemmen? En kunnen kiezers die wel stemrecht hebben, niet dubbel stemmen? Dit kan voorkomen worden door middel van digitale handtekeningen: een cryptografisch concept dat functioneert op een manier die sterk op normale handtekeningen lijkt. Enkel de eigenaar van een digitale handtekening kan deze zetten, en iedereen kan controleren of de digitale handtekening klopt. Bij het stemmen kunnen we dus afdwingen dat elke kiezer zijn stem ondertekent: we kunnen dan voor elke stem controleren dat deze bij een persoon hoort die stemrecht heeft, en ook dat deze persoon niet meer dan één stem heeft ondertekend.
Signature Dilution
Met zo’n systeem is er echter nog een duidelijk probleem: er is geen kiesgeheim. Als elke stem met de bijbehorende handtekening gepubliceerd wordt, kan iedereen zien wie op wie gestemd heeft, waardoor kiezers onder druk gezet kunnen worden om op een bepaalde kandidaat te stemmen. Om dit op te lossen maken we gebruik van Signature Dilution, de belangrijkste innovatie in de Acrohalides-blockchain. Dit werkt als volgt:
Stel dat Peter en Marie elk een digitale handtekening hebben, waarvan publiek bekend is welke bij wie hoort. We noemen deze twee handtekeningen vanaf nu hun “oude” handtekeningen. Ze bedenken namelijk elk ook een “nieuwe” digitale handtekening, die geheim is: niemand weet welke nieuwe handtekening bij wie hoort. Dit laat hun toe om deze handtekeningen te gebruiken om anoniem te stemmen. We zijn dan echter terug bij af: hoe weten we dat zo’n nieuwe handtekening eigenlijk wel van ofwel Peter ofwel Marie afkomstig is, en niet van een buitenstaander? En hoe weten we dat Peter misschien niet twee nieuwe handtekeningen heeft gemaakt?
In Signature Dilution wordt dit probleem opgelost door middel van een Dilution Block: Peter en Marie zetten allebei hun nieuwe handtekeningen in dit blok, in een willekeurige volgorde, en vervolgens ondertekenen ze het blok ook met hun oude handtekeningen. Deze oude handtekeningen geven aan dat zowel Peter als Marie erkent dat zijn/haar nieuwe handtekening in het blok zit, maar het is niet duidelijk welke bij wie hoort vanwege de willekeurige volgorde waarin de handtekeningen staan. Omdat het aantal nieuwe handtekeningen gelijk is aan het aantal oude handtekeningen, is er een geheime één-op-één relatie tussen oude en nieuwe handtekeningen.
Een voorbeeld van een Dilution Block: er staan twee nieuwe, anonieme handtekeningen in, en Peter en Marie hebben het blok ondertekend met hun oude handtekeningen. Welke nieuwe, anonieme handtekening van Peter is en welke van Marie, is geheim.
Protocol en Onderzoek
Acrohalides is dus een blockchain met verschillende fases: een fase waarin de oude handtekeningen van de kiezers (openbaar) geregistreerd worden, een fase waarin de kiezers met behulp van Signature Dilution nieuwe, anonieme handtekeningen verkrijgen, en een fase waarin de kiezers deze nieuwe handtekeningen gebruiken om elk een stem uit te brengen. In de praktijk zijn er echter heel wat details die het systeem ingewikkelder maken: de Signature Dilution gebeurt bijvoorbeeld maar in kleine groepjes van kiezers, maar ook in meerdere rondes zodat hun mate van anonimiteit exponentiëel toeneemt. Daarnaast moet de communicatie bij het creëren van een Dilution Block zo verlopen dat kiezers hun anonimiteit niet kwijtspelen en er zijn er heel wat voorzorgsmaatregelen die genomen moeten worden om het systeem bestand tegen hackers te maken.
Naast het ontwerpen van het protocol van dit systeem, en een analyse van 73 pagina’s of het protocol wel veilig is, heb ik software gebouwd die Acrohalides implementeert: een computerprogramma dat je kunt gebruiken om een veilige online verkiezing te houden. Ik heb met behulp van deze implementatie simulaties uitgevoerd om te controleren of verkiezingen wel snel genoeg verlopen en of er problemen ontstaan als hackers het systeem aanvallen. Uit de simulaties blijkt dat het systeem goed blijft werken, maar er moeten nog meer experimenten uitgevoerd worden om te bepalen hoe schaalbaar het is.
Conclusie
Acrohalides is een belangrijke stap voorwaarts voor de democratie. Er is al veel onderzoek gedaan om digitale kiessystemen te ontwikkelen, maar het concept Signature Dilution maakt deze blockchain uniek in de zin dat het kiesgeheim op een veilige manier bewaard wordt. Is dit het begin van een toekomst waarin geen enkel regime meer een verkiezing durft te houden die niet gegarandeerd eerlijk is?