De Digitale Toekomst van Democratie

Bart
van de Meerendonk

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.

image-20231001225620-1

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?

Bibliografie

[1] A.V. Abhirama. “BLOCKCHAIN: ITS USES IN CRYPTOCURRENCY AND ELECTION SYSTEM”. In: International Research Journal of Modernization in Engineering Technology and Science (2021), pp. 1571–1577.

[2] Ben Adida. “Helios: Web-based Open-Audit Voting”. In: USENIX security symposium. Vol. 17. 2008, pp. 335–348.

[3] Federal Public Services Home Affairs. Official Results: 2019 Belgian Federal Election. 2019. url: https://elections2019.belgium.be/en/results-figures?el=CK&

id=CKR00000.

[4] Aritra Banerjee. “A Fully Anonymous e-Voting Protocol Employing Universal Zk-SNARKS and Smart Contracts”. In: International Congress on Blockchain and Applications. 2021, pp. 349–354.

[5] Stephanie Bayer and Jens Groth. “Efficient Zero-Knowledge Argument for Correctness of a Shuffle”. In: Advances in Cryptology – EUROCRYPT 2012. Ed. by David Pointcheval and Thomas Johansson. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, pp. 263–280. isbn: 978-3-642-29011-4.

[6] Rumeysa Bulut et al. “Blockchain-Based Electronic Voting System for Elections in Turkey”. In: 2019 4th International Conference on Computer Science and Engineering (UBMK). 2019, pp. 183–188.

[7] David L. Chaum. “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms”. In: Communications of the ACM 24.2 (1981).

[8] Rafer Cooley, Shaya Wolf, and Mike Borowczak. “Blockchain-Based Election Infrastructures”. In: 2018 IEEE International Smart Cities Conference (ISC2). 2018, pp. 1–4.

[9] Inter-Parliamentary Council. Declaration on Criteria for Free and Fair Elections. 1994. url: https://www.ipu.org/our-impact/strong-parliaments/settingstandards/decl….

[10] Ronald Cramer, Rosario Gennaro, and Berry Schoenmakers. “A Secure and Optimally Efficient Multi-Authority Election Scheme”. In: Advances in Cryptology—EUROCRYPT ’97. Ed. by Walter Fumy. Berlin, Heidelberg: Springer Berlin Heidelberg, 1997, pp. 103–118. isbn: 978-3-540-69053-5.

[11] Taher ElGamal. “A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms”. In: IEEE Transactions on Information Theory 4 (31 1985), pp. 469–472.

[12] Shawn M. Emery, C. Edward Chow, and Richard White. “Penetration Testing a US Election Blockchain Prototype”. In: Sixth International Joint Conference on Election Voting – E-Vote-ID 20221. 2021, pp. 82–97.

[13] State Electoral Office of Estonia. “General Framework of Electronic Voting and Implementation thereof at National Elections in Estonia”. In: (2017). url: https://www.valimised.ee/sites/default/files/uploads/eng/IVXV-UK-1.0-en….

[14] Council of Europe - European Commission for Democracy through Law (Venice Commission). Electoral Law. 2013.

[15] Steven Goldfeder et al. “When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies”. In: (2017). url: https://arxiv.org/pdf/1708.04748.pdf.

[16] H.S. Govinda et al. “Implementation of Election System Using Blockchain Technology”. In: 2021 International Conference on Innovative Computing, Intelligent Communication and Smart Electrical Systems (ICSES). 2021, pp. 1–9.

[17] Rolf Haenni et al. “CHVote System Specification Version 3.0”. In: IACR Cryptol. ePrint Arch. 2017 (2017), p. 325.

[18] Rifa Hanifatunnisa and Budi Rahardjo. “Blockchain Based E-Voting Recording System Design”. In: 11th International Conference on Telecommunication Systems Services and Applications (TSSA). 2017, pp. 1–6.

[19] Ethan Heilman et al. “Eclipse attacks on bitcoin’s peer-to-peer network”. In: 24th USENIX Security Symposium (USENIX SECURITY 15). 2015, pp. 129–144.

[20] Help America Vote Act. 2002.

[21] Fririk . Hj´almarsson et al. “Blockchain-Based E-Voting System”. In: 2018 IEEE 11th international conference on cloud computing (CLOUD). 2018, pp. 983–986.

[22] International Covenant on Civil and Political Rights. 1966.

[23] Ali Kaan Ko,c et al. “Towards Secure E-Voting Using Ethereum Blockchain”. In: 2018 6th International Symposium on Digital Forensic and Security (ISDFS). 2018, pp. 1–7.

[24] Wouter Lueks, I˜nigo Querejeta-Azurmendi, and Carmela Troncoso. “VoteAgain: A scalable coercion-resistant voting system”. In: 29th USENIX Security Symposium (USENIX SECURITY 20). 2020, pp. 1553–1570.

[25] Aanchal Mani et al. “College Election System using Blockchain”. In: ITM Web Conferences. 2022, pp. 1–5.

[26] Gregory Maxwell. CoinJoin: Bitcoin privacy for the real world. 2013. url: https:

//bitcointalk.org/?topic=279249.

[27] Satoshi Nakamoto. “Bitcoin: A Peer-to-Peer Electronic Cash System”. In: (2008). url: www.bitcoin.org.

[28] Chaals Nevile et al. Enterprise Ethereum Alliance Client Specification v6. 2020. url: https://entethalliance.org/wp-content/uploads/2020/11/EEA_Enterprise_Et….

[29] Kriti Patidar and Swapnil Jain. “Decentralized E-Voting Portal Using Blockchain”. In: 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT) (2019), pp. 1–4.

[30] Birgit Pfitzmann and Michael Waidner. “Unconditionally Untraceable and Faulttolerant Broadcast and Secret Ballot Election”. In: Communications of the ACM 21.21 (1992), pp. 7–8.

[31] Peter Y.A. Ryan et al. “The Prˆet `a Voter Verifiable Election System”. In: IEEE Transactions on Information Forensics and Security 4.4 (2009), pp. 662–673.

[32] Kazi Sadia et al. “Blockchain-Based Secure E-Voting with the Assistance of Smart Contract”. In: IC-BCT 2019. Blockchain Technologies (2019), pp. 161–176.

[33] Organization for Security and Cooperation in Europe. Election Observation Handbook. 2010.

[34] Shehan Shetty, Vishal Thakur Adhij Vartak, and Shraddha Dabhade. “Election Portal Using Blockchain”. In: SJCEM Journal of Engineering Sciences 3 (1 2021), pp. 22–25.

[35] Majd Soud et al. “TrustVote: on elections we trust with distributed ledgers and smart contracts”. In: 2nd Conference on Blockchain Research Applications for Innovative Networks and Services (BRAINS). 2000, pp. 176–183.

[36] Ishaan Anand Srivastava et al. “Secure and Transparent Election System for India using Block chain Technology”. In: 2018 IEEE Punecon. 2018, pp. 1–6.

[37] Baocheng Wang et al. “Large-scale Election Based On Blockchain”. In: Procedia Computer Science (219 2018), pp. 234–237.

[38] Yang Yang et al. “PriScore: Blockchain-Based Self-Tallying Election System Supporting Score Voting”. In: IEEE Transactions on Information Forensics and Security 16 (2021), pp. 4705–4720.

[39] Ehab Zaghloul, Tongtong Li, and Jian Ren. “d-BAME: Distributed Blockchain-Based Anonymous Mobile Electronic Voting”. In: IEEE Internet of Things Journal 8.22 (2021), pp. 16585–16597.

[40] Saman Taghavi Zargar, James Joshi, and David Tipper. “A survey of defense mechanisms against distributed denial of service (DDoS) flooding attacks.” In: IEEE communications surveys tutorials 4 (15 2013), pp. 2046–2069.

[41] Colin Zwirko. “Kim Jong Un left off list of officials elected to 14th Supreme People’s Assembly”. In: NK News (2019). url: https://www.nknews.org/2019/03/kimjong-un-left-off-list-of-officials-el….

Download scriptie (799.22 KB)
Genomineerde longlist Scriptieprijs
Universiteit of Hogeschool
Universiteit Gent
Thesis jaar
2023
Promotor(en)
prof. dr. ir. Bjorn de Sutter