Liquid Feedback mit Nachprüfbarkeit

Derzeit tobt innerhalb der Piratenpartei ein Streit darüber, wie man zukünftig mit dem Tool Liquid Feedback weitermachen will. Es herrscht (zumindest im Berliner Landesverband) Konsens darüber, dass man über das Tool langfristig Impulse an die Politiker in den BVVen und im AGH geben will. Nicht klar ist bisher jedoch, ob das mit dem derzeitigen Tool möglich ist.

Genauer gesagt ist derzeit nicht geklärt, ob man dies mit den derzeitig verwendeten Pseudonymen erlauben kann, oder ob man sich mit seinem bürgerlichen Namen online - und damit weltweit - zu sämtlichen politischen Themen outen muss, um überhaupt an der innerparteilichen Willensbildung teilhaben zu dürfen.
Von Pro-Klarnamen-Piraten wird dabei meist auf den überlangen Blogeintrag von @Loreena1968 verwiesen. Meine Antwort darauf: TL;DR.

Irgendwann wurde mir dieser Text einfach zu seicht, zu blauäugig, zu... unüberlegt. Kurz zusammengefasst: Man muss unbedingt mit bürgerlichem Namen auftreten, denn ansonsten kann "man" nicht nachvollziehen, ob eine Abstimmung korrekt abgelaufen ist. Dabei geht es explizit um die Punkte

  • zu erkennen, dass der Teilnehmer einer reale Person zuzuordnen ist
  • zu erkennen, dass der Teilnehmer nur einen Account besitzt
  • den Vorwurf von Manipulationen entkräften bzw. klären zu können.

Das Allheilmittel soll es nun sein, Klarnamen zu verwenden, die auf Akkreditierungs-/Vorstellungs-/Whatever-Treffen überprüft und (möglichst) publik gemacht werden. Alles was danach passiert oder passieren kann, wird leider nicht erklärt. Aus gutem Grund: Die Verwendug von Klarnamen, wie sie dort beschrieben wird, ist überhaupt keine Lösung für die angesprochenen Probleme.

Es wird immer gesagt, dass man mit Technik keine sozialen Probleme lösen könne. Hier wird im Umkehrweg versucht, ein technisches Problem mit einer sozialen Lösung zu beseitigen - ebenso erfolglos. Kleines Quiz:

Was passiert denn, wenn man eine "Akkreditierungsrunde" im kleinen Kreis machen muss? Wer garantiert, dass es legitim gewesen ist? Hier ist die Antwort: niemand!

Wer garantiert, dass keine nicht existierende Person eingeschmuggelt worden ist? Hier ist die Antwort: niemand!

Wer überprüft denn anhand der Aufzeichnungen zu allen gemachten "Akkreditierungsrunden", dass eine Abstimmung wirklich ohne Beanstandungen abgelaufen ist? Hier ist die Antwort: niemand!

Man kann diese Probleme nicht durch persönliches Kennen der Teilnehmer lösen. Selbst wenn man sämtliche Teilnehmer kennen würde, wer stellt dann sicher, dass wirklich diese Person abgestimmt hat und nicht irgendjemand den Abstimmungseintrag dieser real existierenden, akkreditierten Person einfach in die Abstimmungsdatenbank geschleust hat? Hier ist die Antwort: niemand!

Jetzt, wo wir hoffentlich verstanden haben, dass die Verwendung von Klarnamen überhaupt keinen Mehrwert für die Aussagekraft der übertragenen Bits & Bytes hat, möchte ich aufzeigen, wie eine Lösung aussehen könnte.

Fangen wir mit den nicht-technischen Basics an: Woher weiß man, dass eine Person stimmberechtigt ist? Durch die Mitgliederdatenbank. Das ist der zentrale Punkt. Wer dort drin steht (und ein Flag hat, dass sein Beitrag entrichtet wurde) darf auch wählen. Diese Rolle (stimmberechtigtes Mitglied) wird bei der Akkreditierung bei einer Versammlung mit einer realen Person verknüpft. Diese reale Person erhält dann die Abstimmunterlagen. Ob sie selber die Karten hebt und selber die Kreuzchen macht wird anschließend nie wieder geprüft.

Es wäre also sinnvoll, die Verwendung von Liquid Feedback ebenfalls an eine Akkreditierung zu koppeln. Die Frage ist leiglich: Wie sehen die Abstimmunterlagen aus? Bei Computern würde ein asymmetrisches Schlüsselpaar sinnvoll sein. Damit könnte dann der akkreditierte Pirat seine virtuellen Stimmzettel signieren, nachdem er sie ausgefüllt hat.

Diese Abstimmunterlagen sollten natürlich immer nur bis zum Ende des Jahres gültig sein - so könnte man nicht mehr gültige Stimmunterlagen automatisch aussieben. Abstimmkarten vom BPT 2010 sind in 2012 schließlich auch nicht mehr gültig.

Ich stelle mir das in etwa so vor: Jemand, der an Liquid Feedback teilnehmen will, generiert sich ein asymmetrisches Schlüsselpaar und geht damit zu einer Akkreditierungsveranstaltung. Auf dieser wird geprüft, ob die Person stimmberechtigtes Mitglied ist. Falls ja, wird der öffentliche Schlüssel dieses Piraten zertifiziert - von mindestens 2 Mitgliedern des entsprechenden Vorstandes.
Dieser zertifizierte Schlüssel wird im Liquid Feedback System hinterlegt. Gleichzeitig wird der Schlüssel auch noch auf einem weiteren System öffentlich zugänglich hinterlegt, auf den die Betreiber von Liquid Feedback keinen Zugriff haben. Und: in der Mitgliederdatenbank wird gespeichert, dass der entsprechende Pirat für das aktuelle Jahr einen Liquid Feedback Schlüssel akkreditiert hat.

Jetzt werde ich ein bisschen orthodox: Bei Abstimmungen ist es mir doch total egal, wieviele Accounts eine Person hat. Das einzige, was mich interessiert ist, dass jede natürliche Person bei einer Abstimmung nur eine Stimme abgeben kann. Genau das wird bei der Akkreditierung sichergestellt. Jemand, der bereits einen zertifizierten Schlüssel hat, darf keinen zweiten zertifizierten Schlüssel für das laufende Jahr erhalten. Hiermit wäre sogar möglich, Abstimmungen ohne Login durchzuführen. Der entsprechende Wähler benötigt einfach nur seine Stimmunterlagen (sein Schlüsselpaar).

Viel wichtiger als ein Account ist, dass die Menge der zugelassenen Schlüssel nicht manipuliert werden kann. Und deshalb ist es wichtig, das Abstimm-/Auswertungstool und die Liste der stimmberechtigten Nutzer (die zertifizierten, öffentlichen Schlüssel) strikt zu trennen. Man bezeichnet dies hinlänglich als Separation of Duties.

Der Vorstand, der sämtliche Schlüssel signieren muss, muss seinen öffentlichen Schlüssel selbstsigniert online stellen. Anschließend kann jeder prüfen, ob alle stimmberechtigten Schlüssel wirklich valide sind. Anhand dieser validen Schlüssel kann wiederum geprüft werden, ob die abgegebene Stimme von einem validen Schlüssel unterzeichnet wurde. Und damit kann sichergestellt werden, dass die Abstimmung nicht manipuliert worden ist.

Wenn man nun die eigentliche Akkreditierung anzweifelt: Man könnte festlegen, dass Akkreditierungen nur an bestimmten Tagen zu bestimmten Uhrzeiten erlaubt sind. Man könnte die Akkreditierung öffentlich machen. Heißt: man kann mitzählen, wieviele neue Schlüssel für den entsprechenden Tag auf dem Schlüsselserver erscheinen müssten. Die Überprüfung der Akkreditierung könnte man nochmal dadurch absichern, dass bei der Akkreditierung des Schlüssels der Hash des Schlüssels bekanntgegeben wird. Ein Akkreditierungsbeobachter könnte nach Veröffentlichung der neuen Schlüssel den Hash kontrollieren um sicherzugehen, dass der Schlüssel nicht zwischendurch ausgetauscht wurde.

Als Abschluss: Nur, weil man Klarnamen im Liquid Feedback hat, heißt das noch lange nicht, dass man die getätigten Stimmen nicht manipulieren kann. Hierfür müsste sichergestellt werden, dass niemand die Datenbasis manipulieren kann. Mit Signaturen wäre man hierzu in der Lage - mit Klarnamen nicht.
Flüssige Grüße, Kenny