Anonimowość vs. Pewność wyników głosowania

Dobry system do głosowania powinien realizować wszystkie możliwe postulaty. W tym przypadku jest to wyjątkowo trudne ponieważ anonimowość oraz pewność co do tego jak kto głosował to sprzeczności.

Rozprawmy się najpierw z anonimowością. Okazuje się, że istnieje zasada, którą możemy wykorzystać. Ta zasada to „Zero knowledge proof” („Dowód przy zerowej wiedzy”). Realizacja tej zasady w aplikacji okazuje się dosyć proste. Wystarczy żeby aplikacja odnotowywała, że dana osoba wzięła już udział w danym głosowaniu natomiast głos tej osoby jedynie zwiększa licznik głosów na TAK lub NIE.

Pewność co do wyników nie jest łatwo osiągnąć ale można użyć następującego obejścia problemu, które nie będzie wymagało rezygnacji z anonimowości. Otóż można zrobić drugi, niezależny system do głosowania. Może on być postawiony na tym samym oprogramowaniu (dzięki temu, że system jest opensource) albo na innym ale koniecznie musi być na innym serwerze i musi być nadzorowany przez innego administratora. Następnie wszyscy głosujący głosują na obydwu systemach. Jeśli wyniki na obu będą bardzo podobne to można będzie mieć pewność, że głosowanie nie zostało sfałszowane.

Jeśli chodzi o potwierdzanie tożsamości to można kiedyś spróbować użyć profilu zaufanego albo przelewów bankowych ale do tego daleka droga. Dlatego na razie, po prostu, wszyscy w danej grupie muszą się znać.