Come sarebbe un sistema di voti modificabili ma segreti e affidabili?

Ciao a tutti,

nell’immaginarmi un sistema di voto ideale per una piattaforma digitale democratica, ho pensato a queste caratteristiche:

  1. deve garantire l’anonimato del voto, o almeno un certo livello di riservatezza : questo significa che il sistema come minimo non deve memorizzare chi vota cosa, in modo di evitare ai gestori del sistema di fare attività di profiling sugli utenti della piattaforma ( lo so che comunque questi dati si possono registrare di nascosto, ma almeno non rendiamo le cose facili ).

  2. deve permettere riflessioni o ripensamenti: questo significa che le votazioni debbano tenersi in periodi medio-lunghi, idealmente devono essere permanenti, e deve essere possibile cambiare i proprio voto dopo averlo dato

  3. deve essere auto-certificante, cioè deve permettere agli utenti stessi la possibilità di verificare la correttezza della registrazione dei voti.

Ora, il primo punto rende più difficile l’implementazione degli altri 2, che in un sistema a voto palese sarebbe banale. Una implementazione possibile che ho pensato è questa: ogni utente dopo aver votato riceve un “identificativo di voto” ed un “codice segreto di voto”.:

  • L’ identificativo di voto serve ad identificare il proprio voto all’interno della lista di voti registrati che viene continuamente pubblicata dal sistema. In questo modo, collettivamente, ci si accerterebbe che il conteggio dei voti sia corretto (occorrerebbe anche sapere quanti sono i votanti )

  • Il codice segreto di voto permette a chi ha votato di cambiare il proprio voto.

Che ne pensate? Ed esistono sistemi che si avvicinano a queste caratteristiche?

1 Mi Piace

Allora, per quanto riguarda il punto 2, LQFB è flessibile su questo: il tempo di voto è deciso dalla configurazione dello stesso, difatti il tempo di voto su alcuni argomenti è piuttosto lungo. Inoltre è possibile modificare il voto finchè non scade il tempo.

Punto 3: essendo LQFB col voto palese, è ovviamente autocertificante. Per unire il punto 1 e 3, mi pare che airesis implementa una cosa simile:> Una delle particolarità di Airesis è che gruppi possono scegliere se dibattere le proposte in modo anonimo o meno.

Se l’anonimato viene abilitato, autori e commentatori delle proposte sono indicati con uno pseudomino. Questa peculiarità consente di valutare le proposte, le critiche e i suggerimenti unicamente in base al loro contenuto, in modo imparziale, senza che il “nome” degli autori e le dinamiche di simpatia/antipatia interpersonali influenzino il dibattito.

In ogni caso, al termine del dibattito e dopo la votazione, i partecipanti verranno visualizzati con i loro nomi in modo da poter verificare gli interventi.

Questa opzione è applicabile anche alla votazione: è dunque possibile scegliere che questa abbia luogo con voto palese oppure segreto. Entrambe le opzioni presentano vantaggi e svantaggi, la cui entità dipende dalla particolare decisione da prendere. Ad esempio, il voto segreto evita che i membri della comunità possano essere messi sotto pressione per le loro opinioni (o peggio, perseguitati); il voto palese può incentivare una scelta responsabile nei confronti della collettività. Per ogni proposta è possibile scegliere il metodo di voto ritenuto più appropriato.

Importante, soprattutto in caso di voto segreto, è la possibilità di verificare l’effettiva registrazione del proprio voto e la non presenza di brogli. Questo è possibile attraverso il sistema di auditable voting implentato in Airesis. https://www.airesis.it/edemocracy

Sarebbe interessante poter appplicare questa possibilità anche su LQFB…

La certificazione dell’identità è inizialmente necessaria, dopo questa fase abbiamo un utente con delle credenziali e la possibilità di lasciare voti palesi (facile verifica, ma meno libertà da pressioni) o segreti (eventuali problemi di fiducia).

Le credenziali permettono di cambiare il voto durante la fase di votazione o anche controllarlo in seguito. Però, se il voto è segreto, potrebbe esserci onestà nei voti registrati per ciascuno, ma imbrogliare sui conteggi. Infatti, una persona può controllare solo il suo voto, non c’è una verifica d’insieme e quindi nei conteggi si potrebbe teoricamente imbrogliare.

Bisognerebbe riproporre la “verifica d’insieme” cercando di tener segrete le identità. Quel che mi viene in mente è questo:

Il conteggio non deve essere solo un numero, ma un elenco di hashcode, questi vengono prodotti usando l’identificativo di una votazione, l’identità di una persona che ha votato, un codice casuale e segreto generato per ogni votazione. In questo modo abbiamo un elenco di hashcode palesi in cui si vede come si è votato (es. 60 per il NO, 40 per il SI).

Finita la votazione, se la gente ci tiene a controllare e si fida poco, può accedere al sistema e validare il suo hashcode. Pubblicamente comparirà di fianco agli hashcode un simbolo “validato”, privatamente la singola persona vede se il suo hashcode pubblico corrisponde alla votazione che segretamente ha fatto (SI o NO). Se tutti validassero i loro hashcode, i conteggi essendo pubblicamente disponibili, non si potrebbero falsare. Inoltre, ciascuno controlla al tempo stesso che la propria preferenza è stata rispettata, quindi non si può imbrogliare nel registrare preferenze fasulle.

In questo modo, abbiamo affidabilità pubblicamente controllabile e segretezza del voto prima e dopo. Conteggi per forza onesti perché pubblicamente controllabili e preferenze correttamente registrate.

Se validare il proprio hashcode è noioso, potremmo avere programmi il cui codice sorgente è pubblicamente visibile e molto molto semplici, magari persino in JavaScript (facili da verificare), che alla fine della votazione validano l’hashcode in automatico e informano semplicemente l’utente della preferenza che è stata registrata, così che sa se corrisponde al vero o è scorretta.

Capiterà anche che ci siano persone che hanno votato male e non si sono resi conto o non si ricordano… ma saranno casi rarissimi. Quindi se meno dello 0,1% (o altra percentuale da scoprire sperimentalmente) dichiara che il suo voto è stato manipolato, possiamo ignorare il problema, se si supera quella percentuale si può sospettare qualcosa e fare ulteriori controlli a tutto il sistema (da persone esterne e diverse rispetto a quelle che attualmente gestivano il sistema).

Si potrebbe infine temere che in base alle credenziali inserite e agli indirizzi IP i server siano stati manomessi per presentare dati che privatamente fanno tornare i conti, ma pubblicamente comportano un imbroglio, ma una tale manomissione diventa tanto difficile da essere quasi impossibile, perché gli IP cambiano, si può accedere da altri amici, si possono fare controlli incrociati, incongruenze di questo tipo (anche 1 sola se ne trovasse) sarebbero molto più palesi e documentabili, di altri imbrogli meno sofisticati ed operati “dietro le quinte”.

L’ultimo problemaccio che mi viene in mente è che se chi ha votato per esempio SI, vede che ha perso, per creare problemi dichiara che il suo voto è stato manipolato, così che si arriva al 2% o più di dichiarazione di voti falsati, sperando di annullare la votazione. Per prevenire questo si deve evitare di annullare una votazione, ma semplicemente ricontrollare tutto il sistema. Inoltre, si potrebbe trovare una percentuale più alta che includa non solo i bassissimi errori in buona fede, ma anche questo atteggiamento disonesto, giusto per limitare di dover controllare tutto il sistema ogni volta…

Mi sembra un sistema comunque eccellente. Che ne pensate?

Se però l’identità non viene rivelata puoi mantenere un voto palese ma anonimo. Di fatto è quello che facciamo noi nel PP-IT dove garantiamo agli iscritti (se lo desiderano) anonimato.

Abbiamo discusso spesso di voto segreto e/o anonimo. Dai proponenti di Airesis ci viene presentato come mezzo per combattere i pregiudizi mentre noi con gli strumenti di convivenza preferiamo non sviluppare tali pregiudizi. La trasparenza politica è un valore importante. Accidenti, non riesco a trovare i link dove abbiamo veramente approfondito il pericolo di corruzione attraverso il voto segreto…

Ho proposto una policy di voto per LQFB che non arriva mai a terminazione bensì permette di rivalutare la questione ad libitum, indicando le preferenze attraverso il supporto delle proposte. Ne parlo anche qui.

Ci vuole una LQFB-API che permetta di scaricare i dati e controllarli con un proprio strumento Schulze ecc… sigh. TODO.

Vorrei un approccio più scientifico… razional-collettivo… non di fiondarci sul voto anonimo senza averne studiato le implicazioni a mio avviso negative. Raccomando di rileggere i thread del passato che ho l’impressione che i pregiudizi riguardo al voto segreto ed altri temi continuano a rispuntare come se non li avessimo già discussi…

1 Mi Piace

Ho sentito la cosa accennata da te in qualche occasione, ma non ricordo di essermi dedicato a discussioni specifiche. Inoltre cercando “voto segreto” non salta fuori nulla di chiaro e cruciale. Dedicherei una discussione apposta.

Questo è vero, però quella forma di tutela è poco robusta. Infatti, il nickname anonimo è sempre lo stesso e se uno individua chi è una tale persona questa dovrebbe cambiare l’identità fittizia… Per questo pensavo a degli hashcode che cambiano ad ogni votazione quando vengono resi pubblici. Molto più robusto. Inoltre, la fase di discussione / emendamenti svela parecchio l’identità di qualcuno…

Come fanno su Airesis, dei nickname diversi durante la fase di discussione (in realtà di emendamenti su LQFB) sarebbero preferibili volendo prendere questa strada.

Credo che l’escursione riguardo al voto segreto si sia già conclusa grazie allo studio scientifico che dimostra come una “intuizione” frequente sia comunque sbagliata. Se perciò togliamo questo aspetto dalla richiesta di @bockman restano le altre due che sono realizzabili con LQFB.

Giusto per chiarite, la mia era solo una richiesta di informazione, nn una proposta …

Al di la della questione della desiderabillitá del voto segreto, su cui ho risposto nel thread dedicato, mi sembra una buona idea che raffina quello che avevo in mente io. Grazie del contributo :slight_smile:

1 Mi Piace

Usando crittografia omomorfica puoi fare decrittare ad ognuno il suo voto e nel frattempo contarli insieme senza doverli decrittare… c’è gente che ci sta lavorando…

MA…

Un sistema di voto anonimo ma verificabile è tale fin quando il mafioso del paese non minaccia la tua famiglia. In quel caso, se puoi verificare tu, possono verificare anche loro. Si chiama metodo del tubo di gomma.

1 Mi Piace

Non si potrebbe trovare uno stratagemma di questo tipo: Elezioni: Impedire la scheda ballerina / Pericoli del voto elettronico

1 Mi Piace

Sì, ma non so se si può fare in maniera abbastanza semplice

https://gnunet.org/dold2014thesis

1 Mi Piace