Warum Überprüfbarkeit so wichtig ist und wie es gewährleistet wird

Wenn es Gewicht haben soll, was auf einer Softwareplattform entschieden wird, dann sollten zwei Dinge hinsichtlich der Abstimmungsergebnisse gewährleistet sein:

  1. Es sollen nur Personen an der Entscheidung beteiligt sein, die für die Entscheidung von Bedeutung sind. Beispielsweise sollen für eine österreichische Entscheidung nicht die ganze Welt mitstimmen. Es sollte auch gewährleistet sein, das es möglichst keine Fake Accounts und keine doppelten Accounts gibt. Mehr dazu hier.
  2. Die Entscheidungsergebnisse sollen überprüfbar sein. Das bedeutet es soll gewährleistet sein, dass das demokratisch ermittelte Ergebnis rauskommt, und nicht eines welches eventuell von Hackern oder den Betreibern der Plattform manipuliert wurde.

Wie wird die Überprüfbarkeit gewährleistet

Die Abstimmungsergebnisse werden in einer Liste gespeichert (siehe Abbildung 1). Die Sicherheit funktioniert dabei über eine Hashfunktion. Es wird dabei der Hash einer Wählerstimme aus dem Hashwert des vorhergehenden Wählers (beim ersten Wähler mit Wert 0) und den Abstimmungsergebnissen gebildet. Dieser Hashwert, wird direkt nach der Stimmabgabe dem Wähler als Quittierung zurückgegeben.

 
Abbildung 1: Schematische Darstellung der mit Hashes verketteten Abstimmungsliste


Dadurch wird das Ergebnis praktisch festgeschrieben. Es ist nun nicht mehr möglich die Abstimmungsdaten des Wählers und auch aller anderen Wähler davor zu ändern, ohne das die Hashergebnisse sich ändern würden.

Wie kann das Ergebnis überprüft werden

Nach Abschluss der Entscheidung kann jede Person die Abstimmungsdaten und die Wähler ID's als Datei im JSON Format downloaden. Mit dieser Datei lässt sich überprüfen:

  1. Wurde das Ergebnis richtig errechnet
  2. Ist meine Stimme richtig gespeichert. Über den Quittierungscode kann ich meine Abstimmungsdaten finden.
  3. Stimmen die Hashwerte? Wenn nicht dann wurde manipuliert.
  4. Werde ich als teilgenommen gezählt oder nicht.
  5. Stimmen die Wahlergebnis Anzahl mit dem der teilgenommenen Personen überein.

Natürlich könnte man diese Daten z.B. mit einem Tabellenkalkulationsprogramm prüfen. Das ist aber umständlich und aufwendig. Daher wird auch als Open Source ein Programm zur Verfügung gestellt, welches einfach diese Überprüfungen ermöglicht. Diese Open Source Software kann von jeder technisch versierten Person geprüft werden und dieser Code dann auch zur Ausführung gebracht werden. Es reicht hierfür aus, dass nur wenige Personen diesen Code der Software überprüfen.

Wie weitreichend ist diese Prüfung

Durch diesen Ansatz wird geprüft, was der Wähler oder die Wählerin eingibt auch sich tatsächlich im Ergebnis widerspiegelt. Es ist also egal, ob bereits am Rechner oder Mobilfunkgerät des Wählers manipuliert wurde, oder am Übertragungsweg oder auch auf der Serverseite während der Wahl oder auch nach der Wahl. Die Manipulation würde immer erkannt werden. Der Mensch kann also seine direkte Entscheidung überprüfen. Dabei ist egal was technisch dazwischen passiert, da er ja seine Entscheidung wieder überprüfen kann.

ANMERKUNG: Das Ziel ist dabei nicht zu überprüfen das keine Manipulationen stattgefunden haben. Das Ziel der Überprüfung ist lediglich ob die mögliche Fehler bzw. Manipulationsrate kleiner ist als der Abstand vom gewinnenden Vorschlag zu den anderen Vorschlägen. Ziel ist es also auszuschließen, dass der Fehler/Manipulation groß genug war um das Ergebnis zu ändern. [1]

Referenzen