Sistem de vot electronic

Am vazut in media speculatii privind votul la distanta sau votul prin mijloace electronice.

Doar eu sunt de parere ca e aproape imposibil de facut un sistem de vot sigur pe internet ?

Problema e ca votul trebuie sa fie anonim, nu poti sa faci ceva anonim si sigur in acelasi timp. Daca votul nu e anonim atunci da, exista solutii, dar cum votul trebuie sa ramana anonim ca sa poti vota liber exista n moduri prin care se poate abuza sistemul.

Am putea folosi calculatoare cuantice, cu dispozitive care cripteaza cuantic, dar asta ar insemna 20 de milioane de mini dispozitive care sa trimita un semnal criptat cuantic in functie de optiunea de vot. E singurul mod in care se poate 100% face ceva functional la distanta. Plus fiecare dispozitiv ar trebui sa fie distrus dupa ce cineva moare/nu mai are drepturi de vot. Pe langa asta tot nu ai putea vota de acasa, ar trebui sa te duci undeva unde poti sa introduci o fibra optica in dispozitivul de vot.

ar fi sfarsitul democratiei.

1 Like

Cand ai vazut ultima data un partid aflat la putere sa-si doreasca ca o mare parte din lume sa voteze?

1 Like

Ce treabă are anonimitatea? Și la cabina de vot îți dai buletinul. Și aici îți faci cont cu CNP-ul și votezi. Se știe că CNP-ul x a votat. Voturile sunt altundeva. Nu se asociază CNP-ul cu votul. Doar numărul de CNP-uri să fie egal cu numărul de voturi.

Practic când te naști ți se dă un CNP. De acolo înainte totul ar trebui făcut prin acel CNP și când mori medicul îl marchează că inactiv. Pe parcurs lucrurile pot fi separate. Poți face cereri de pe CNP-ul tău. Poate fi asociată toată cererea sau doar că o cerere a fost făcută, nu și conținutul ei. Sau CNP-ul e trecut în cerere dar nu în jurnalul contului. Practic doar dacă te uiți la cereri afli cine a făcut-o, exact că acum cu cererile pe hârtie.

2 Likes

Ca sa votezi trebuie sa cresti numarul de voturi, putem adauga intr-o baza de date imutabila ca xulescu a votat optiunea 1/2/3/4… Asa putem sa rulam un foreach/count pe baza de date ca sa numaram voturile si stim sigur ca sunt valide.

Daca pur si simplu xulescu trimite un vot fara sa se inregistreze date care il pot compromite exista n locuri in care poti sa mai introduci voturi fara sa poti garanta ca exista relatia 1:1. Daca mentii orice, un id, un timestamp chiar daca nu poti zice ca xulescu a votat cu X, poti sa zici ca in range-ul ala xulescu a votat si aflii de exemplu ca toti care au votat in acel range au votat cu acelasi candidat sau chiar simplu reduci timestamp-ul pe locatie si stii direct cine cu cine a votat daca ai pe cineva de la ISP sa verifice conexiunile ip-ului si cand s-a conectat la server. (indiferent ca stii ce contine sau nu)

Cum stim ca serviciile secrete au acces nelimitat la log-urile ISP-urilor ai o problema din start, timestamp ar fi minimul sa inregistrezi votul.

Pe scurt, e trivial pentru partidul aflat la guvernare sa afle cu cine ai votat daca sistemul nu e atat de simplu incat sa poti adauga voturi fara ca cineva sa observe.

1 Like

Sistemul de vot e un use case clasic pentru tehnologia Blockchain. Totusi, aceasta nu este suficienta fara o implementare a identitatii digitale care de fapt, cred eu, este cea mai mare provocare.

Cu ce e mai bun un blockchain ca o baza de date imutabila replicata in timp real ?

Tot o baza de date ai, doar ca e pe mai multe servere si fiecare server trebuie sa valideze ca are aceeasi date.

Eu sunt adeptul simplitatii, adica iei assembly-ul, il scrii pe hartie si intelegi ce ruleaza calculatorul.
Nu exista un singur blockchain atat de simplu incat sa zic ca l-as putea intelege fara sa stau zile intregi pe youtube.

1 Like

Well, intr-un sistem centralizat nu exista date imutabile. Pentru ca datele tale sa aiba caracteristica de imutabilitate ele trebuie sa fie descentralizate. Distribuit != descentralizat.

1 Like

Nu neaparat, daca scriem baza de date pe ceva read-only fizic nu se mai poate schimba. Poti arunca tot mediul de stocare si sa pui altul cu intervale inlocuite cu alte date, dar asta se observa.

Daca ceva e distribuit are o problema: Trebuie sa fie destul de distribuit ca nimeni sa nu detina peste 51% din noduri. Daca e doar semi-distribuit se poate la fel de usor controla. Poti suprascrie toate datele existente si cei care isi dau seama ca cineva controleaza blockchain-ul ar trebui sa il dea afara si sa faca alt blockchain cu backup-ul.

Totusi problema nu e integritatea datelor la sursa (nu cred ca cineva isi permite sa modifice direct in server voturile sa zicem, nu suntem Rusia/China).
Problema e ca de la un dispozitiv custom/telefon/laptop trebuie sa ajunga votul pe server si nimeni nu ar trebui sa stie cu cine ai votat altfel poti avea probleme.

Chiar si voturile fizice sunt problematice, cineva iti poate da hartie marcata (o pregateste sa ti-o dea cu stampila cat timp dai buletinul) sau daca stii sigur ca toti din sat trebuiau sa voteze cu X si 3 au votat cu altcineva cam stii cine sunt aia, in special daca ai venit la inceput sau la final.

1 Like
1 Like

Chiar exista un concurs in care programatorii incearca sa scrie cod care sa arate exact cum te-ai astepta de la un sistem de vot, dar care are functii in plus ascunse. Au scris unii programe care au trecut cu brio citirea de programatori specializati in asta. Plus stim ca NSA-ul a introdus buffer overflow-uri in Linux.

Totusi, am putea argumenta ca un sistem electronic se poate face intr-un fel in care sa fie cat de cat sigur iar cei fara studii avansate in domeniu sa nu isi poata baga nasul. Chiar daca ar fi vulnerabil, nu ar fi mult mai vulnerabil ca cel fizic. Adica nu ar mai fi cazul cum e acum ca vine omul primarului cand aia din sala dau bip ca e la baie omul de la alt partid ca sa introduca 1000 de voturi in urne.

Cei din Brazilia sunt multumiti de sistemul lor. In Belgia un candidat a primit 4000 de voturi in plus din cauza radiatiei cosmice (bit flip).

S-ar putea să fie un pic off-topic, dar eu mi-aș dori vot public și aș face diferență de pondere între voturi, adică votul unora să atârne mai greu decât votul altora. Apoi aș face și campanii de vot în timpul mandatului, pentru ponderile votanților, în funcție de gradul de satisfacție cu votul electoral anterior. Astfel, în timp (muuult timp), cetățenii care votează spre binele majorității ajung să conteze mai mult la vot.

Totuși nu știu cum și-ar păstra oamenii locurile de muncă (sau viața), dacă votul lor public n-ar place aleșilor. Sau n-ar mai ajunge să fie aleși oamenii care vor să controleze voturile, și toată lumea ar vota liber, în văzul tuturor? :thinking:

Scuze pentru deviere, cred că singura legătură cu subiectul e votul electronic, dar nu chiar răspunde la întrebare. :sweat_smile:

Sistemul e foarte bine cum e, imagineaza-ti ca stai intr-un sat care traieste din furat de lemne cu camionul si trebuie sa voteze cu x sau vine politia peste ei. Tu votezi cu altcineva, a doua zi iti ia foc casa de la un scurt circuit si pompierii se asigura ca nu iti mai ramane nimic.

Tu vrei meritocratie, democratia e mai complicata de atat.

Sunt mai multe obiective in ceea ce priveste “votul electronic”, oricare ar fi el politic sau de orice alta natura

  1. Correctness:
  • Only authorized parties can vote, i.e. registered voters
  • No voter votes more than once
  • No voter can replace votes
  • The party in charge of tabulation cannot change the outcome
  1. Verifiability: universal or private
  2. User anonymity
  3. Receipt-freeness

https://crypto.stanford.edu/pbc/notes/crypto/voting.html

Pentru a vedea cum s-a implementat in alte parti, putem lua exemplu Estoniei

Din păcate chiar dacă software-ul nu ar fi o problemă, sunt destui bad actors care să strice procesul de vot.

Iar acum cu războiul din Ucraina, Rusia conduce un proces de destabilizare a alegerilor.

Constituția din 1938 era mai selectivă.
Se putea vota de la 30 de ani, doar de către cei cu studii.
Scopul era să scoată legionarii din cursă.
Printre altele puteau vota si femeile, iar votul era obligatoriu.
De disperat Carol al II-lea a desființat partidele. In final a fost anulată constituția aia.

right, pt ca cei cu studii sunt total imuni la coruptie.
de fapt, cred ca ar fi mult mai usor sa fraudezi votul cand ai mai putini oamenni de mituit/santajat/manipulat.

Nu corupția este problema mereu.
In cazul lui Carol al II-lea problema era extremismul ideologic. Legionarii aveau in palmares câteva asasinate politice. Iar grosul electoratului legionar erau tinerii fără studii, usor de manipulat si cu înclinații violente.

Eu m-am mai gandit putin si cred ca e posibil un sistem cat de cat sigur:

Absolut fiecare om trebuie sa dea si sa primeasca votul cu o invitatie, adica votezi doar daca ai invitatie de la biroul electoral. Invitatia vine sigilata in plic si se poate prelua de oricine, invitatia in sine nu are valoare, o poti arunca la gunoi, da oricui, cere alta.

Invitatia trebuie activata si se poate activa doar in Romania sau la o ambasada la un chiosc unde ti sa face o poza la fata si buletin si te valideaza (dar nu se stocheaza identitatea cu invitatia - stocam doar ca acel CNP a activat o invitatie si nu mai poate activa alta) Fiecare chiosc de genul va fi pazit de politie si inregistrat tot in jur 24/7. Chioscul pentru activare va fi disponibil la fiecare ambasada/scoala/ post politie timp de luni de zile (doar intre anumite ore - tot sistemul va fi sigilat). Pentru activare vei folosi primul cod (vor fi mai multe coduri in invitatie, doar primul cod va fi vizibil, celalalte coduri vor trebui razuite)

O data invitatia activata se poate folosi pentru a vota, votul se poate si verifica dupa.

Fiecare invitatie vine cu o imagine unica printata pe ea si prin introducerea primelor numere din cod se va vedea imaginea de pe invitatie. (asta ca sa fim siguri ca platforma e cea care trebuie)

Dupa codul invitatiei e din 3 parti: codul de activare, codul pentru vot si codul de verificare

Dupa introducerea codului pentru vot (dupa ce am verificat ca platforma e cea corecta) se poate vota ori de cate ori se doreste pana cand votul nu e trimis, dupa votul trimis se descarca votul in format criptat. (poti verifica ca s-a transmis ce ai votat fiindca ultima parte din invitatie e codul cu care se cripteaza ce ai votat cu invitatia)
Orice program open-source va decripta votul cu parola de pe invitatie.

Poti descarca si verifica votul tau ori de cate ori ai dori in cursul alegerilor si dupa alegeri. Iar daca consideri ca e un pericol daca cineva afla ce ai votat poti distruge invitatia si sterge istoricul de pe calculator sau chiar sa folosesti ceva precum tails os pe orice calculator cu un stick live.

Daca descoperi ca votul tau nu poate fi decriptat sau ceva e ciudat te duci la politie si le dai codul de activare, ei pot verifica instant unde s-a folosit votul si il pun la dosar.

Daca sunt temeri ca s-au activat mai multe invitatii decat trebuie sa pot verifica camerele de la fiecare chiosc de activare. Iar ca sa fim siguri ca nimeni altcineva nu poate activa decat chioscurile vor fi programatori de la fiecare partid ca sa supravegheze sistemul (tracing la strictete - doar nu poti activa voturi fara inregistrare video de la chiosc fara sa nu bata la ochi) si se vor face teste diverse, e.g. cu persoane oricum expuse politic.

Se poate folosi cea mai sigura criptare in browser si peste asta se mai poate supra cripta cu ceva secret cu webassembly. Fiecare om va fi instruit sa foloseasca doar dispozitive sigure, e.g. iphone sau android cu ultimele update-uri, browser fara extensii in modul incognito.

E desigur posibil ca anumiti oameni sa isi vanda votul sau sa li se fure invitatia, asta s-ar putea stopa doar daca s-ar da o valoare votului activat persoanelor defavorizate, e.g. daca dai inapoi invitatia cu codul de activare (restul se pot rupe) primesti 200 de lei sau ceva suma care sa motiveze oamenii sa nu vanda voturile chiar gratuit.

Neactivarea invitatiei ar putea atrage o amenda, votul in sine fiind liber (poti sa nu votezi).

Ia in considerare cardul de identitate electronic care include și semnătura electronică.

Dacă votezi online, cu semnătura electronică obții dreptul de a crea un vot electronic.
Votul electronic nu ar fi asociat cu persoana care votează in niciun fel.

Doar un registru cu cine a votat e necesar, ca atunci când se încearcă un al doilea vot să nu i se permită.

  1. Cam 1% din romani au carte de identitate electronica
  2. Semnatura digitala in relatia cu statul trebuie activata, ai dreptul sa nu o folosești by default ca măsură de securitate personală (e.g. nu ai încredere în stat că semnătura ta va fi doar a ta)