Aktualności

Domowy terminal (node) do głosowania w iVoting Box

Dlaczego w systemie do głosowania tak ważna jest decentralizacja i co właściwie oznacza to słowo dla technologii blockchain?

Zdecentralizowany system oparty o technologię blockchain zapewnia wysoki poziom bezpieczeństwa danych o wynikach e-głosowań oraz przechowywania wyników tych głosowań w Internecie. Proponowane rozwiązanie – domowe urządzenie do głosowania znacząco zwiększa poziom decentralizacji poprzez stworzenie sieci tanich NODE w systemie głosowania (jednorazowy koszt urządzenia ok. 300 zł), które będą przetrzymywać wyniki wszystkich głosowań w blockchain iVoting.

Każda transakcja w protokole głosowania iVoting jest potwierdzana przez wiele węzłów, co uniemożliwia zastępowanie danych lub niezauważone sfałszowanie wyników głosowania. Wystarczy porównać posiadaną w domowym urządzeniu kopię blockchain z kopią dostępną w publicznym rejestrze i jeśli wystąpi niezgodność wiadomo, że należy powtórzyć głosowanie, ponieważ mogło dojść do oszustwa.

Przeciwieństwem systemu zdecentralizowanego jest system zcentralizowany np. wykorzystywany w bankowości, gdzie transakcje głosowania odbywają się w oparciu o jeden lub kilka serwerów. Systemy takie są znacznie bardziej podatne na ataki lub przeciążenia, niż systemy zdecentralizowane.

Serwery znajdujące się w jednej serwerowni obsługujące cały system są również łatwe do znalezienia i wyłączenia lub przeprowadzenia próby sfałszowania wyników głosowania np. gdyby w danym kraju doszło totalitarnych przemian. Nowy reżim mógłby wyłączyć demokratyczny system do głosowania lub próbować go wykorzystać do swoich celów politycznych. W systemach zdecentralizowanych granice państw nie mają znaczenia, a systemu takiego nie można wyłączyć ponieważ węzeł sieci (domowy NODE) może posiadać każdy obywatel tego kraju nawet taki mieszkający na emigracji, czy też obywatele innych krajów wspierający e-głosowania.

Co ważniejsze systemy takie bardzo trudno shakować ponieważ trzeba uzyskać dostęp do bardzo wielu urządzeń, które są lokalizacyjnie w zupełnie innych miejscach i sieciach, z innymi systemami zabezpieczeń i inną administracją.

W ramach naszych badań rozpatrujemy stworzenie dedykowanego terminalu do głosowania (node). Urządzenie to przechowuje w lokalnej pamięci kopię całego blockchaina. Zakładamy, że będzie ono posiadało stały dostęp do Internetu (podłączenie do domowego routera kablem Ethernet lub po WiFi), dzięki czemu jego kopia blockchaina będzie cały czas aktualna.

Przewidywany pesymistyczny koszt zużycia energii elektrycznej przez takie urządzenie wynosi 4,67 kWh przy założeniu, że mikrokomputer będzie działał cały czas z pełną mocą co przekłada się na koszt 3,32 zł miesięcznie (obliczone za pomocą klakulatora https://www.calculat.org/pl/energia/zuzycie-pradu.html, za cenę kWh przyjęto największą obecnie stawkę wynoszącą 0,71 zł https://globenergia.pl/ile-kosztuje-1-kwh-energii-elektrycznej-z-czego-sklada-sie-rachunek/).

Jeśli takie urządzenie będzie posiadać znaczna liczba głosujących osób wykładniczo zwiększy to decentralizację sieci, a co za tym idzie bezpieczeństwo całego systemu. Zwiększy to także szybkość pobierania blockchaina z sieci (blockchain będzie mógł być pobierany z większej liczby nodów). Przykładowo w 2018 roku tuż po największym szczycie wyceny Bitcoina posiadał on ok 11600 węzłów Full Node, co zapewniało jeden z najwyższych w historii poziomów decentralizacji tej kryptowaluty i dzięki temu zabezpieczało niewyobrażalne kwoty pieniędzy płynące na transakcjach w Bitcoinie (jak wiadomo Bitcoin nigdy nie został shakowany).

Oczywiście działanie systemu do głosowania musi być również oparte o zaufane serwery, które działają cały czas, są zabezpieczone przed zanikami zasilania, są odpowiednio chronione przed nieuprawnionym dostępem nieautoryzowanych osób i mają dostęp do bardzo szybkich łączy światłowodowych. Jeśli rozpatrywali byśmy hipotetyczne użycie systemu do głosowania w wyborach o dużej skali głosujących można by podzielić kategorie tych serwerów na dwie grupy – znajdujące się w serwerowniach Skarbu Państwa i znajdujące się w serwerowniach Operatorów Telekomunikacyjnych lub świadczących usługi hostingowe (najlepiej na dużych węzłach wymiany ruchu).

W zespole prowadzimy otwartą dyskusję na temat tego jaka byłaby wystarczająca liczba takich serwerów i jaki powinien być poziom decentralizacji takiej sieci, którą wykorzystywałby protokół głosowania. Jeśli przyjęlibyśmy, że uruchamiamy jeden serwer w każdej serwerowni powiatowej w naszym kraju to sieć takich zaufanych serwerów Skarbu Państwa wynosiłaby 314 szt i byłaby w pełni zdolna obsłużyć głosowania o bardzo dużej liczbie uczestników w krótkim czasie pod warunkiem rozwiązania innych problemów natury implementacyjnej i koncepcyjnej samego protokołu do głosowania (zakładamy, że budżet na zakup jednego serwera będzie oscylował w kwocie 10 000 zł lub większej uwzględniając rynkowe ceny podzespołów).

Wracając jednak do domowego urządzenia do głosowania, oprócz zwiększenia bezpieczeństwa i stabilności całego systemu można także użyć go jako osobistego terminala do głosowania dodając do niego mały wyświetlacz LCD. W połączeniu z dedykowanym hardware walletem [HW] (coś w rodzaju osobistego pendrive zabezpieczonego PINem użytkownika, z opcją podłączenia do USB do domowego urządzenia do głosowania). Dzięki HW możemy zweryfikować osobę głosujacą z użyciem klucza prywatnego znajdującym się na tym hardware wallecie do którego ma dostęp wyłącznie ten właściwy wyborca. Dzięki takiemu połączeniu wchodzimy na najwyższy poziom bezpieczeństwa systemu pod warunkiem spójnej koncepcji i poprawnej implementacji protokołu głosowania.

Możliwe byłoby wtedy stworzenie bardzo bezpiecznej i zdecentralizowanej platformy do głosowań opartej o technologię blockchain, którą można by wykorzystać w super ważnych głosowaniach w dużych korporacjach lub nawet wyborach.

Zespół iVoting planuje stworzenie prototypu takiego urządzenia w oparciu o mikrokomputer Raspberry Pi4 i przetestowanie piętnastu takich terminali NODE w sieci protokołu do głosowania iVoting. We wrześniu rozpoczynamy również prace nad hardware wallet iVoting, która potrwa około 9 miesięcy i zakończy się stworzeniem i zbadaniem prototypu tego urządzenia.

Oczywiście zakup domowego terminala do głosowania (node) nie będzie wymagany do wzięcia udziału w głosowaniach przez Internet. Alternatywnie będzie można włączyć node na komputerze i tam przechowywać kopię blockchaina lub użyć portfela stworzonego w oparciu o technologię SPV np. na urządzeniach mobilnych.

Oczywiście są również wyzwania związane z tego typu rozwiązaniem. Wiemy już, że im więcej nodów, tym większe bezpieczeństwo, ale i tym większy stopień komplikacji systemu. Wyobraźmy sobie np. konieczność aktualizacji oprogramowania przez tysiące osób i setki komputerów – jak to skutecznie i sprawnie zrobić? Taki system wymagałby setek godzin pracy supportu lub/i wysokiego poziomu automatyzacji tego typu procesów oraz wysokich kosztów utrzymania sieci. Poza tym konieczna byłaby nowoczesna infrastruktura światłowodowa ponieważ system generowałby dużą ilość danych krążących w sieci. Jak wiadomo zawsze jest coś za coś – wysoki poziom bezpieczeństwa wiąże się z kosztami.

Węzły Node w Bitcoinie utrzymują często pasjonaci tej technologii na domowych komputerach lub innych urządzeniach. Podobnie mogłoby być z systemem do głosowania przez Internet – nietrudno sobie wyobrazić, żeby na świecie nie znalazło się kilka lub kilkanaście tysięcy osób, którzy wydarzą stosunkowo niewielką kwotę rocznie, by pomóc budować i zabezpieczać, ale także weryfikować demokrację internetową, czy głosowania przez Internet w świecie. A wymaga to bardzo niewielkiego poświęcenia – wystarczy podłączyć urządzenie do prądu i internetu w domu.

Oczywiście należy jasno podkreślić, że iVoting nie jest systemem do głosowania w wyborach powszechnych. Zaprojektowanie takiego systemu wymagałoby jeszcze długich lat pracy wielu ekspertów, a przede wszystkim stworzenia konsensusu wokół wymagań jakie taki system musiałby spełnić, aby uznano go za bezpieczny i możliwy do wdrożenia w wyborach powszechnych.

Opisane wyżej założenia publikujemy celem przedłożenia ich pod dyskusję ze środowiskiem naukowym oraz eksperckim. Miło nam będzie przeczytać Państwa konstruktywne opinie lub krytykę w komentarzach.

Share on facebook
Share on twitter
Share on linkedin