HomeBlockchainVoto elettronico su blockchain: introduzione agli smart contract

Voto elettronico su blockchain: introduzione agli smart contract

Nel mondo sempre più spesso si sente parlare di blockchain e DLT in riferimento alla possibilità di utilizzare tale tecnologia per effettuare in maniera sicura operazioni di voto elettronico

Un primo esperimento in fase embrionale è quello portato avanti da Vincenzo Di Nicola, founder di Conio, per la piattaforma Rousseau del Movimento 5 Stelle, in cui è particolarmente interessante notare la scelta del protocollo su cui è basata la votazione, ovvero Monero

Fin dal principio è stato infatti individuato il grosso problema della privacy relativo ai classici smart contracts programmati nelle più diffuse blockchain (Ethereum su tutti). 

Sono presenti però alcune difficoltà non trascurabili relative alla praticità della creazione di un sistema di voto basato su una moneta come Monero che ha principalmente un utilizzo specifico ovvero quello di essere scambiata come moneta anonima sicura e non tracciabile, non permettendo, ad esempio, di creare dei veri contratti intelligenti programmabili per funzioni più articolate. 

Proprio per risolvere questi problemi sono nati alcuni progetti con l’obiettivo di creare contratti realmente privati. Uno dei più interessanti di questi, nato a fine 2017 da un team di tre anonimi sviluppatori, è Dero

Dero è una piattaforma blockchain sviluppata partendo dal protocollo originale CryptoNote (derivato a sua volta da Bytecoin), così come Monero, ma riscritto completamente in Golang, permettendo in questo modo di aggiungere numerose funzioni altrimenti non implementabili. 

A livello tecnico il progetto è basato quindi su un algoritmo di consenso PoW che garantisce un anonimato eccezionale, ma la rete è sviluppata con una struttura a DAG (directed acyclic graph), chiamata block-DAG la quale conferisce alla moneta una scalabilità molto interessante, paragonabile ad altri progetti con una struttura simile, come IOTA. 

Oltre a questo, la blockchain di Dero ha una struttura che la rende probabilmente l’unica moneta PoW realmente immune ad un attacco del 51%. Più che immune, tecnicamente, la rete è resistente a un attacco di questo tipo in quanto le blockchain convenzionali elaborano come singola unità di calcolo i blocchi nella loro interezza (se si verifica un double-spend all’interno del blocco, l’intero blocco viene rifiutato). 

La rete di Dero, invece, accetta tali blocchi poiché considera come unità di calcolo le singole transazioni e i blocchi possono quindi contenere doppie spese che vengono filtrate dal protocollo client e ignorate poi dalla rete senza problemi per la sicurezza. 

La block-DAG così costituita elabora quindi le transazioni atomicamente una alla volta e questa cosa è particolarmente interessante dal punto di vista della sicurezza per la creazione di un sistema a prova di manomissione. 

Molto interessante da notare è il block-time di 12 secondi, oltre che l’implementazione del bulletproof in una versione particolarmente efficiente chiamata Rocket Bulletproof, la quale mantiene una velocità di transazione più alta, attualmente attorno alle 75 tps (numero che può aumentare tranquillamente grazie alla struttura a DAG e alla crescita della rete) garantendo comunque lo stesso livello di anonimato. 

L’algoritmo di mining, sviluppato anch’esso da zero, prende il nome di AstroBWT ed è un algoritmo asic-resistant CPU friendly, (minabile anche tramite GPU anche se in maniera meno efficiente). 

La maggiore decentralizzazione così ottenuta ha spianato il terreno per lo sviluppo di una della caratteristiche più interessanti di questo progetto ovvero la possibilità di creare veri e propri smart contracts privati direttamente sul layer-1 della blockchain (funzione già disponibile in testnet), definiti così perché permettono (se necessario) di nascondere tutti i dati delle parti in causa, caratteristica che risolve un grandissimo problema delle reti classiche come Ethereum, permettendo innumerevoli applicazioni tra cui la creazione di un sistema di voto totalmente anonimo ma sicuro. 

Questo avviene grazie alla Dero Virtual Machine su cui si basano i contratti; il linguaggio scelto per l’implementazione è basic, in una versione particolare creata appositamente e denominata DVM- Basic (il linguaggio è stato scelto appositamente per permettere audit molto veloci e sicuri oltre che per dare la possibilità a più persone possibili di creare i loro smart contract). 

L’uscita su mainnet della versione completa (prevista per fine Giugno) comprenderà secondo la roadmap anche una completa crittazione omomorfica degli smart contracts. Se tutto andasse a buon fine, sarebbe il primo caso di tale tecnologia applicata ad un progetto blockchain. 

Ci sono già alcuni contratti molto interessanti sviluppati dalla community che riguardano tra le altre funzioni anche il voto elettronico anonimo

La funzione degli smart contracts privati in generale sarà fondamentale anche per integrare all’interno delle piattaforme un sistema di KYC che funzioni in maniera indipendente e salvaguardando i dati (pensiamo a tutti i potenziali problemi alla privacy che stanno sorgendo con le app per il tracciamento dei contagi da COVID-19). 

La blockchain garantisce l’immutabilità e potenzialmente anche la sicurezza ma non certifica l’autenticità di un dato nel momento in cui viene immesso da una mano umana, per prevenire doppi voti o voti falsati è di fondamentale importanza identificare in modo univoco chi vota. 

E’ possibile immaginare un’applicazione che integra un sistema di smart contract open source con le informazioni inserite tramite un KYC (numero di documento, codice fiscale ecc) e le digitalizza rendendo l’identità associata ad una chiave crittografica univoca (es. indirizzo di un wallet) che rimane però anonima e non tracciabile fino all’origine dei documenti. 

Con tale chiave crittografica univoca si potrebbe a sua volta realizzare il voto su di una piattaforma in cui i dati in ingresso e quelli in uscita sono cifrati e invisibili all’esterno rendendo l’applicazione del voto online più che fattibile mantenendo al tempo stesso sia le caratteristiche di sicurezza che quelle di anonimato totale. 

C’è ancora molto da fare ma considerando la velocità a cui viaggia lo sviluppo di queste nuove tecnologie sarò molto interessante osservare gli sviluppi futuri del settore, specie in un ambiente delicato come quello della privacy. 

Marco Pellegrino

RELATED ARTICLES

MOST POPULARS

GoldBrick