System wiarygodnego głosowania
Wprowadzenie
Współczesne wyzwania, takie jak malejące zaangażowanie obywateli w procesy demokratyczne i brak zaufania do instytucji publicznych, wymagają nowoczesnych rozwiązań. System Wiarygodnego Głosowania (SWG), oparty na zaawansowanych technologiach kryptograficznych i blockchain, stanowi doskonałą platformę do popularyzacji demokracji bezpośredniej - na przykład w głosowaniach na Budżet Obywatelski (BO).
System Wiarygodnego Głosowania (SWG) to system zapewniający bezpieczne, tajne i transparentne głosowanie przez internet lub w sposób tradycyjny (system hybrydowy).
Proces ten wymaga nadzoru instytucji zaufania społecznego. Taką instytucją mogłoby być harcerstwo - co dodatkowo dałoby efekt edukacyjny. Stąd propozycja nadzoru przez Harcerskie Kuratorium Głosowania (HKG) jako niezależnej instytucji, gwarantującej transparentność i zgodność procedur.
Wyniki mogą być dostępne poprzez użycie anonimowych kodów, znanych głosującym, które umożliwią im samodzielną weryfikację (zasada Samokontroli). Dzięki temu SWG eliminuje ryzyko manipulacji, zapewniając wiarygodność i społeczną kontrolę procesu.
Algorytm
1. Głosujący loguje się w systemie wyborczym (SWG) udostępnionym w Komisji Wyborczej w sposób umożliwiający jego identyfikację (np. przy użyciu pesela, dowodu z podpisem albo systemu ePUAP). Po zweryfikowaniu otrzymuje unikalny numer wyborcy.
2. Głosujący przy użyciu systemu wyborczego (SWG) generuje parę kluczy i wysyła klucz publiczny do kuratorium (HKW) z prośbą o kartę do głosowania. Prośba zawiera numer wyborcy.
3. HKW weryfikuje numer wyborcy w systemie Komisji Wyborczej (KW) i generuje unikalny kod karty; kartę z kodem (podpisaną cyfrowo) wysyła głosującemu.
4. HKW wysyła do KW zbiór wygenerowanych kodów kart + zbiór kluczy publicznych + zbiór numerów wyborcy, dla których wygenerowano kody karty. Zbiór kodów kart w KW jest dostępny dla HKW, a ich ilości dla wszystkich - uniemożliwia to fałszerstwo przez KW.
5. Głosujący uzupełnia kartę do głosowania wygenerowanym przez siebie (z użyciem SWG) kodem głosu, informacją o tym jak zagłosował, podpisuje kluczem prywatnym (blockchain) i wysyła głos do KW.
6. KW sprawdza, czy któryś z kluczy publicznych pozwala zweryfikować podpis i na tej podstawie zalicza głos (każdy klucz publiczny może być użyty raz). KW podpisuje głos swoją parą kluczy (blockchain) co oznacza jego ważność.
7. Wynik głosowania w postaci par: (kod głosu, głos) jest dostępny natychmiast i dla wszystkich.