Vereinfachte Kritik an Bingo Voting
Ich bin von verschiedenen Seiten gefragt worden, ob ich nicht eine kürzere und vereinfachte, auch für Nichtkryptologen lesbare Darstellung meiner Kritik an Bingo Voting hätte. Da ist sie.
8 Kommentare (RSS-Feed)
Stimmt, es gäbe da feste Obergrenzen für Wahlkreise bzw. Wahllokale, deren Größe zunächst mal unabhängig von der Populationsgröße wäre. Für so eine feste Größe wäre die Wahrscheinlichkeit, daß die Wahl kollisionsfrei abläuft ein konstantes (d.h. von der Populationsgröße unabhängiges) p < 1. Die Wahrscheinlichkeit, daß dann bei n Wahllokalen keine Kollision vorkommt, daß also die ganze Wahl fehlerfrei abläuft ist dann aber p^n. Und mit steigender Population steigt auch das n, womit die Wahrscheinlichkeit eben abnimmt. Guck mal die Zahlenbeispiele in Adele oder hier.
Die verwendeten Zufallszahlen kann man nicht markieren, weil der Zufallszahlengenerator ja trusted und in sich geschlossen sein soll, was notwendigerweise einen Generator ohne Speicher voraussetzt. Sonst hätte man wieder neue Angriffspunkte über die Manipulation dieses Speichers.
Ja. Angenommen die Kollisionswahrscheinlichkeit (i.f. KW) in einem Wahlbezirk ist 1/1000, dann ist sie bei zweien, gleichgroßen, 2*(1/1000), wie der Laie vermuten möchte.
Es stimmt nicht ganz, weil ja 2 Kollisionen, je eine pro Wahlbezirk, gleichzeitig auftreten kann, was mit p=(1/1000)^2 passsiert. Mindestens eine Kollision geschieht mit p=2/1000-1/1.000.000 .
Beim Geburtstagsparadoxon wächst die KW aber enorm mit der Zahl der Geburtstagskinder – in zwei halb so großen Gruppen ist die KW deutlich kleiner als 1/2, wenn die Gruppen groß genug sind.
Ich sehe jetzt aber, daß diese Überlegung in dem verlinkten Artikel prinzipiell berücksichtigt ist.
Ich habe mal nachgesehen – mein Stimmbezirk umfaßte bei der letzten Wahl 1209 Wähler. 2 weitere auch zw. 1000 und 1500 Wähler. Hier ist ein schönes Webinterface http://www.statistik-berlin.de/wahlen/home-tsp.htm mit dem ich diese Frage klärte. Falls man mal mit einer realistischen Zahl argumentieren will.
Nein, ganz einfache Kombinatorik: Wenn die Wahrscheinlichkeit, daß es in einem Bezirk zu einer Kollision kommt, 1/1000 ist, dann ist die Wahrscheinlichkeit, daß es _nicht_ dazu kommt 999/1000 = 0.999. Und die Wahrscheinlichkeit, daß es bei zwei Bezirken zu keiner Kollision kommt dann eben 0.999 * 0.999 = 0.998001 und bei 100 Bezirken schon 0.905… und bei 1000 Bezirken schon nur noch 0.368…
Und 1-(2*(1/1000)-(1/1000000) ist auch 0,998001. Ist nur andersrum gedacht.
Ihr sagt beide das gleich, schreibt es aber nur anders hin!
Woieder zu schnell auf submit geklommen:
0.998001 = 0.999^2 = (1-1/1000)^2 = 1-2*1/1000+1/1000000 {oder 1-(2*1/1000-1/1000000))}.
Richtig. Ich habe zwar richtig argumentiert, aber falsch geformelt, und falsch gerechnet, so schien es zu stimmen. Richtig geformelt und richtig gerechnet stimmt es auch:
echo “scale=6;1-(2*(1/1000))+(1/1000000)” | bc
.998001
Und
echo “scale=6;0.999 * 0.999” | bc
.998001
Eine Frage zu den Kollisionen, S. 6f u. 12: Wieso hängt die Zufallszahlenlänge von der Größe der wählenden Population ab? Ist es nicht so, daß für jede Wahlmaschine, also für jedes Wahllokal mehrere Zufallszahlenpermutation angelegt werden müssen, so daß einige Tausend Leute auf eine Zahlenkolonne kommt, nicht aber 60 Millionen?
Bei 10 000 Wählern und 20 Kandidaten – wieviele Zufallszahlen braucht man da mindestens? 20*10 000 plus etwas Puffer?
Kann man nicht einfach alle verwendeten Zufallszahlen markieren, um die Wiederholung auszuschließen, und dann den Puffer auf etwas begrenzen, was bezahlbar ist?
In einem Array mit einer Million Bytes kann ich 8 Mio. wahr/falsch Werte speichern, und ein Wahr an Position 394 421 bedeutet dann, daß diese Zufallszahl bereits ausgelost wurde.
Und eine Anmerkung zu S. 7, Abs. 2, Wahlleitersabotage:
An der Stelle würde ich einen Komplizen einführen, statt zu hoffen, daß sich jmd. beschwert.