Wpis z mikrobloga

Jak wprowadzić referendum przez Internet?

Podejście ePUAP / Profil Zaufany - rząd będzie mógł podać fałszywe wyniki głosowania, nawet jeśli kod źródłowy systemu będzie otwarty. Trzecia strona musiałaby to hostować i poświadczyć prawdę, a ta może być przekupiona przez różne środowiska. Chyba nie istnieje żaden społeczny mechanizm kontroli, który by zapobiegł fałszerstwom w tej architekturze.

Podejście Blockchain - logowanie przez SSI, podpis kluczem prywatnym, publiczny rejestr oddanych głosów, ale jak zapewnić tajność głosów?

Rozwiązaniem może być podejście hybrydowe, czyli:
- głosy są zapisywane w blockchainie i każdy może je zobaczyć
- adresy głosujących są prywatne dla osób postronnych
- system musi zweryfikować, że głos pochodzi od obywatela
- głosujący weryfikuje się przez Profil Zaufany
- zatem trzeba jakoś powiązać PZ z adresem, ale tak, żeby to powiązanie mógł odczytać tylko obywatel, ewentualnie system (w celu weryfikacji)

Myślę nad takim rozwiązaniem, ale jeszcze nie analizowałem, w jaki sposób mogłoby to działać. Może ktoś z Was ma pomysły. Czy to w ogóle jest do wykonania, korzystając z obecnych sieci blockchain lub wzorując się na czymś, np. na Monero?

#blockchain #kryptowaluty #wybory #referendum #programowanie
  • 6
@SendMeAnAngel: Publiczny rejestr obywateli + Zero Knowledge Proofs + MPC : https://chinmaysonar.github.io/Projects/bc-zk-report.pdf

Systemy jak Semaphore operują już od jakiegoś czasu na małą skalę: https://semaphore.pse.dev/docs/introduction

1. Każdy w rejestrze może zagłosować maksymalnie raz, wielokrotne głosy od tej samej osoby “widać” (nie wiadomo tylko, od kogo).
2. Lokalne komitety lub centrala sprawdza poprawność, ważność i agreguje głosy. Tutaj anonimowość musi być zapewniona przez infrastrukturę sieciową - bezpieczne WiFi nie zapisujące MACow telefonów, przekazanie