Come potrebbe funzionare i sistemi di voto su blockchain?

Innanzitutto iniziamo ad elencare quali potrebbero essere i vantaggi derivanti dall’utilizzo di blockchain sui sistemi di voto.

Read this article in the English version here.

Sicuramente il sistema sarebbe più trasparente.

Ad oggi, con i sistemi di voto attuali, una volta effettuato il conteggio, è praticamente impossibile verificarne la correttezza, se non rifacendo i calcoli. Invece, registrando i dati su blockchain sarebbe possibile, per chiunque, verificarli ed eventualmente riconteggiarli.

Anzi, per chi esprime il voto sarebbe persino possibile verificare che questo sia stato conteggiato correttamente, mantenendo tuttavia l’anonimato del voto.

Questo potrebbe ridurre le frodi e i tentativi di imbrogliare il sistema, visto che si potrebbe verificare chi ha votato e quando, pur non potendo sapere pubblicamente per chi.

Il conteggio dei voti inoltre sarebbe effettuato in tempo reale, ovvero al momento della chiusura delle urne il risultato potrebbe già essere noto e pubblico.

Questo potrebbe permettere di effettuare molte più votazioni, perché di fatto potrebbe anche ridurne sensibilmente il costo.

Un sistema del genere, una volta messo a punto, potrebbe essere utilizzato anche da altre istituzioni, e non solo dagli Stati: non solo istituzioni pubbliche, ma anche private, o addirittura aziende.

Infine rendendo possibile il voto dallo smartphone, o dal computer, votare diventerebbe facile ed accessibile facilmente quasi a tutti, forse incrementando l’affluenza degli elettori.

Visto che con le tecnologie attuali non dovrebbe essere difficile nascondere il voto all’interno di una blockchain pubblica, pur rendendo pubblici i dati anonimizzati di chi e quando ha votato, i problemi sarebbero altri.

Per prima cosa il cittadino dovrebbe registrarsi e dimostrare la propria cittadinanza e la propria identità.

Per la verifica dell’identità una delle soluzioni già adottate, ad esempio in Svizzera, è quella di consegnare fisicamente al cittadino un codice segreto da utilizzare per votare: questa procedura servirebbe anche per dimostrare la cittadinanza.

In questo caso il problema pertanto non sarebbe tanto la verifica in sé dell’identità o della cittadinanza, ma la segretezza del codice assegnato.

Come essere sicuri che il cittadino non lo riveli a nessuno, o addirittura non lo venda in cambio di denaro o favori? Questo problema per ora non sembra avere una soluzione certamente valida.

Per poter essere abilitato a votare, il cittadino dovrebbe poi anche ricevere sul suo dispositivo un token di abilitazione al voto, valido per una singola votazione, con un limite temporale entro cui può essere usato per votare.

In questo caso il problema non sarebbe il token, o la sua ricezione, ma la disponibilità del dispositivo: e se il cittadino non avesse più la possibilità di utilizzare il dispositivo su cui ha memorizzato il suo codice segreto? E se questo dispositivo venisse rubato, o venduto?

In tali casi la soluzione ci sarebbe, ma richiederebbe qualche passaggio ulteriore, come la convalida del dispositivo ad ogni votazione, o una procedura di recupero del codice segreto per utilizzarlo su altri dispositivi.

Il voto consisterebbe nell’invio di questo token all’indirizzo del candidato, e sarebbe sufficiente che l’applicazione utilizzata permettesse di sceglierlo facilmente da una lista. In tal caso l’unico vero problema potrebbe essere l’esperienza d’uso dell’applicazione, che dovrebbe essere molto semplice.

Quindi dal punto di vista strettamente tecnico non ci sono in realtà grosse problematiche da superare. Inoltre una volta inviato il token questa transazione sarebbe registrata, anonima, sulla blockchain, in modo da essere immutabile, verificabile e trasparente.

In realtà è molto più complicato.

Infatti, il sistema dovrebbe essere realizzato in modo da impedire alle persone di votare utilizzando codici segreti di altri. Inoltre sarebbe necessaria un’autorità centrale per verificare l’identità e la cittadinanza.

Si potrebbero, ad esempio, utilizzare dei dati biometrici per la convalida del voto, come impronte digitali o scansioni della retina, ma in tal caso servirebbero dispositivi molto sicuri, o addirittura realizzati ad hoc.

Inoltre, bisognerebbe assicurarsi che nessuna delle informazioni pubbliche memorizzate sulla blockchain consentisse di risalire all’identità della persona e dedurre per chi abbia votato. Le informazioni sul mittente del token devono essere completamente nascoste e anonimizzate.

Ci sono diversi modi per farlo, ed ognuno ha i propri vantaggi e svantaggi: la vera sfida sarebbe ottenere l’anonimato assoluto, però mantenendo allo stesso tempo la perfetta verifica dell’identità.

Per questi motivi il voto tramite blockchain non è ancora pronto per essere realmente utilizzato, tanto che per ora sono stati effettuati solamente dei test, o delle mere archiviazioni dei risultati su blockchain. Non si sa quando i problemi di cui sopra potranno essere risolti, ma si sa che ben più di un progetto in corso sta tentando di risolverli.