So könnten Wahlen auf der Blockchain ablaufen

0 19
Avatar for mad-readcash
1 year ago

Einleitung

Im Grunde ist eine Blockchain eine Datenbank eines Netzwerks, das sich stets darüber einig ist, welche Einträge jemals stattgefunden haben und welches kontinuierlich nach einer Einigung sucht, aktuelle und künftige Einträge zu bearbeiten und zu erstellen. Diese Änderungen müssen stets auf vergangene Einträge zurückgeführt werden können.

Kennzeichnend für solche Systeme ist ihre Robustheit gegenüber Fälschungen. Wenn ein Teilnehmer in dem Netzwerk zu betrügen versucht, muss er das gesamte Netzwerk überzeugen, dass sein Eintrag der einzig gültige ist.

Daher können Blockchains geeignet sein, Wahlen sicherer zu machen. Ich möchte in diesem Artikel eine hypothetische Methode vorstellen, wie eine Wahl auf der Blockchain schon heute umgesetzt werden könnte. Dieses Modell soll aber anschaulich sein und dir beim #CryptosVerstehen helfen, ohne zu viele technische Details zu erörtern.

Dieser Artikel benutzt einen hypothetischen Fork (also eine technische Kopie) der ZCash Blockchain, da diese mit ihren Shielding und Deshielding-Techniken interessante Anwendungsmöglichkeiten für diesen Bereich bietet. Diese Blockchain soll den Coin "STIMME" haben, der für die Wahl (die Abgabe der STIMME als Transaktion) verwendet werden soll.

Shielding-Techniken bei ZCash

In Zcash gibt es zwei Adresstypen: Die geshieldeten z-Adressen und die transparenten t-Adressen. Je nach dem, wie eine Transaktion zwischen diesen beiden Typen stattfindet, sind mehr oder weniger Informationen öffentlich einsehbar.
Betrachten wir die folgden Fälle:

Sender: -> Empfänger: Wirkung:
t -> t Diese Transaktionen sind komplett einsehbar
t -> z Empfänger bleibt unbekannt (shielding)
z -> t Sender bleibt unbekannt (deshielding)
z -> z Sender und Empfänger bleiben anonym

Übertragung auf eine hypothetische Wahl

Kennzeichnend für eine freie Wahl ist, dass diese fair (eine Stimme) und geheim ablaufen (man nicht einer Person eine für eine Partei abgegebene Stimme zuordnen kann). Der Wahlveranstalter sendet per Post eine Paperwallet mit je 1 STIMME Coin auf einer t-Adresse für jeden wahlberechtigten Bürger.

Jeder Bürger erhält also eine Paper Wallet mit 1 STIMME und seiner eigenen t-Adresse.

Für Bitcoin sieht eine Paper Wallet so aus:

Abb.1 Eine Bitcoin Paperwallet. Die Bitcoin Public Address beginnend mit "1LHQ" entspräche der hypothetischen t-Adresse in dem Wahlschein. Diese ist ein eindeutiger Schlüssel für einen Bürger, der einmalig gültig wäre.

Jede Paperwallet besteht aus einem öffentlichen (public) Schlüssel (key), der genutzt wird, um die Bilanz abzufragen und einem privaten (private) Schlüssel, der benötigt wird, um die Coins ausgeben zu können. Übertragen auf unsere Wahl nutzen wir den public key, um zu verifizieren, dass ich auch wirklich (nur) 1 STIMME habe. Und ich kann am Ende der Wahl sehen, ob meine STIMME auch wirklich ausgezählt wurde (ich also gewählt habe).

Für den eigentlichen Wahlvorgang wird der private key der Paperwallet benötigt. Der private key wird mittels Einscannen des QR Codes in eine Wahl-App übertragen. Diese ist im Endeffekt nichts anderes als eine mit dem Wahlnetzwerk verbundene Wallet. Jetzt kann der 1 STIMME Coin ausgegeben werden. Ich wäre bereit für die Wahl.

Damit die Wahl geheim bleibt, muss ich eine t nach z Transaktion an diejenige Partei durchführen, für die ich abstimmen möchte. Der Wahlzettel hat also für jede Partei einen QR Code mit dessen aktueller z-Adresse gelistet. Zum Abstimmen muss ich also nur diesen QR Code scannen und die Transaktion durch Eingabe eines Pins oder ähnlichem bestätigen.

Nach außen ist dann sichtbar, dass ich abgestimmt habe, aber nicht für wen. Ich kann die Wahl vor Ort in einer Kabine, oder bei Kenntnis der z-Adresse meiner Partei (zum Beispiel über deren Website) bequem und instantan von überall aus durchführen.

Zum Ende der Wahl muss die Partei alle STIMME Coins, die sie auf ihrer z-Adresse einsammeln konnte, nur noch veröffentlichen. Sie überträgt also die gesamte Bilanz von ihrer z-Adresse an eine t-Adresse (deshielding), die sie dem Wahlleiter vorher mitgeteilt und verifiziert oder von diesem erhalten hat. (Diese Adresse muss sie übrigens bei jeder Wahl ändern, damit sie nicht die Stimmen der letzten Wahl noch einmal verwendet)

Sobald die Wahl gelaufen ist, weiß man durch die Adresstypen und die Transaktionshistorie:
-Wer war wählen, wer war es nicht?
-Wie viele Stimmen an jede einzelne Partei geflossen sind


Daraus lassen sich alle anderen nötigen Informationen ableiten. STIMME Coins könnten theoretisch in t nach t Transaktionen über die Wahlbezirke, Kreise und Länder zur immer nächst höheren Ebene fließen. Es wäre also für jeden Bürger transparent einsehbar, ob auch wirklich alle Stimmen richtig und komplett der nächst höheren Ebene übertragen wurden.

Denkbare Anfälligkeiten

Die Blockchaintechnik stellt dabei also sicher, dass die Auszählungen korrekt ablaufen. Allerdings ist jede (und sei sie absolut korrekt) Bearbeitung von Informationen nur so gut wie die Informationen selbst. Deshalb wären folgende Manipulationen möglich:

-Bedrohung: Betrüger könnten unter Androhung von Gewalt eine Stimmabgabe für eine bestimmte Partei erzwingen. Die Blockchain erkennt das nicht, sie sieht nur die Stimmabgabe und wertet sie aus

-Mehrfachwahlen: Die Blockchain wertet nur die pseudonymisierte Stimmabgabe aus. Sie weiß nicht, welcher Bürger hinter welcher t-Adresse steckt und ob dieser Bürger wirklich nur eine gültige Paperwallet (mit 1 STIMME) erhalten hat. Sobald ein Bürger mehrere Paperwallets erbeutet, erpresst oder anderweitig erhält, kann er mehrfach an der Wahl teilnehmen.

Hinweis: Der Autor ist nicht mit ZCASH verbunden oder hat in irgendeiner Weise finanzielle Unterstützung als Gegenleistung für das Verfassen dieses Artikels durch oder in ZCASH (ZEC) erhalten. Allerdings macht ZCASH eine kleine Position in dessen Portfolio aus.

Mehr über Zcash erfährst du auch auf meinem Youtube Kanal:


1
$ 0.00
Avatar for mad-readcash
1 year ago

Comments