Benutzer:Mc/eWahl

Wilde Gedanke zu eVote

Vorgedanken

geheime Wahl Papier und Bleistift

Bei der Wahl Papier und Bleistift ist das Vertrauen dadurch begruendet, dass die Wahl zu jedem Zeitpunkt eingesehen werden kann; dadurch kann verifiziert werden, dass nur authorisierte Personen _einen_ anonymen Zettel in die Urne werfen koennen und dass innerhalb der Urne keinerlei Umformungen stattfinden koennen (Austausch, Entnahme). Die Auszaehlung kann durch Anwesenheit ebenfalls auf Korrektheit ueberprueft werden.

geheime eWahl

In einer eWahl ist die Urne eine Blackbox, in die man niemals vertrauen kann. Letztendlich muss man sich darauf verlassen koennen, dass eine endgueltige Liste erstellt wird, die man ggf zB auf einen USB Stick kopieren und weitergeben kann.

Bekommt jeder Teilnehmer der Wahl ein anonymisiertes Token bei der Eingabe, so kann jeder seine eigene Stimme im Resultat wiederfinden und *seine* Wahl im Resultat ueberpruefen. Dazu muss man alle token samt wahl in einer statischen liste abbilden (s.o.). Das Gesamtergebnis laesst sich dann zusammenzaehlen, oder zb wenn in einem Excel-aehnlichen Dokument erfasst, ueber die abgebildete Formel abgleichen. Letztendlich muss man, um nachzuvollziehen, dass nicht zuviele Stimmen gewertet wurden, die Waehler (ohne weitere Zuordnung) auflisten; So kann man am Ende auch sicherstellen, dass jeder Waehler gefragt werden kann, ob sein Vote korrekt gezaehlt worden ist und ebenso dass nur berechtigte Personen gewaehlt haben.

Beispiel

 * Webinterface:
   * Authorisation
   * Wahl-Eingabe
   * Token-Eingabe (Das Token muss vom User beeinflussbar sein, da das system sonst fuer den selben vote immer wieder das selbe token auswerfen koennte)
 * Datenbank
   * Speichern dass (person) gewaehlt hat
   * Token und vote speichern
 * Ausgabe (_WICHTIG_: Ausgabe muss als ganzes erfolgen; Datenbanksuche invalidiert den Prozess)
   * Liste der Waehler
   * Liste Token == vote
   * Gesamtergebnis
 * Verifikation:
   * Stimmt mein Vote?
   * Sind alle stimmberechtigt?
   * #(waehler) == #(votes)?
   * E(votes) == Gesamtergebnis?
   * bestaetigen die anderen waehler dass ihr vote korrekt zugeordnet wurde?

Man koennte das Verfahren noch etwas verkomplizieren, indem man nach der Bekanntgabe des Resultats alle Waehler nochmal bitte, signiert zu bestaetigen, dass *ihr* vote korrekt gezaehlt wurde. Die Waehler geben dadurch ihre Wahl nicht preis, bestaetigen aber, dass ihr (token)==(vote) korrekt in der liste steht.

Warnung

Es ist fraglich bis zu was fuer einer Anzahl von Waehlern dieses System ueberhaupt skalieren wuerde. Bei 20 Personen ist es kein Problem, bei 80 Millionen ist das System aber schlichtweg unbenutzbar - allein aufgrund dessen dass die Liste (etoken)==(vote) im ganzen verfuegbar sein muss.

Desweiteren sind diese Gedanken in der Diskussion um eWahlen in der Piratenpartei entstanden, man sollte sich aber gedanklich darauf einstellen, dass das Modell nur praktikabel ist, wenn jeder Waehler auch einen Computer besitzt, und dass das Modell auch fuer nicht-computer-affine Menschen erklaerbar und nachvollziehbar sein muss.