A16z rilascia un sistema di voto anonimo per Ethereum

Il fondo di venture capital Andreessen Horowitz, noto anche come A16z, ha rilasciato una libreria Solidity che può essere utilizzata per il voto anonimo su Ethereum. Chiamata "Cicada", la biblioteca impedisce che la scelta di un singolo elettore sia nota prima della fine del sondaggio. Se combinato con sistemi di appartenenza a gruppi a conoscenza zero come Semaphore, può anche rendere l'identità dell'elettore permanentemente inconoscibile, secondo un post sul blog del 24 maggio dell'ingegnere A16z Michael Zhu.

Cicada si basa su puzzle a blocco temporale, un tipo di crittografia che consente agli utenti di crittografare valori segreti che possono essere decifrati solo dopo che è trascorso un determinato periodo di tempo, ha affermato Zhu.

Questi enigmi esistono dal 1996. Ma prima del 2019, avrebbero richiesto agli utenti di rivelare i loro valori segreti una volta trascorso il periodo di tempo. Nei sistemi di voto, ciò avrebbe potuto causare problemi con gli utenti che inviavano voti e poi andavano offline, impedendo il conteggio di tutti i voti.

Nel 2019, il concetto di puzzle time-lock "omomorfici" è stato proposto dai crittografi Giulio Malavolta e Aravind Thyagarajan. Ciò ha permesso di sommare i puzzle per produrre un puzzle finale che era molto più facile da risolvere rispetto alla somma dei singoli puzzle. La soluzione dell'enigma finale rivela solo la somma dei singoli valori senza rivelare i singoli valori che compongono questa somma.

Secondo il post A16z, Cicada utilizza questi puzzle omomorfici, consentendo di contare i voti anche se gli utenti vanno offline.

Durante il tentativo di trasferire il sistema di Malavolta e Thyagarajan alla blockchain, i ricercatori di A16z si sono imbattuti in un ostacolo alla creazione di un sistema di voto equo: ogni scelta doveva essere codificata come un valore booleano di "1" o "0". Ciò significava che gli aggressori potevano tentare di aumentare il proprio potere di voto codificando in modo errato il voto, ad esempio codificando "100" come valore.

Per risolvere questo problema, Cicada richiede agli elettori di presentare una prova di validità del voto a conoscenza zero insieme a ogni voto, afferma il post. La prova mostra che il voto è stato codificato correttamente, ma senza rivelare il contenuto del voto.

Correlato: Anchorage Digital apre il voto DeFi per i clienti di custodia

Cicada impedisce solo che i voti siano noti durante lo svolgimento del sondaggio. Una volta che il "sondaggio si è chiuso" o il periodo di blocco temporale è trascorso, chiunque può determinare il contenuto di un voto forzando brutamente la soluzione del puzzle. Tuttavia, A16z ha suggerito che questo problema può essere risolto combinando Cicada con sistemi di appartenenza a gruppi a conoscenza zero come Semaphore, Semacaulk o prove di stato a conoscenza zero. In questo caso, la forzatura bruta del puzzle rivelerà solo che il voto è stato espresso da un elettore idoneo ma non rivelerà le credenziali utilizzate per dimostrare l'eleggibilità dell'elettore.

Ad esempio, Zhu ha fornito un collegamento a un contratto campione prodotto utilizzando Cicada che si basa anche su Semaphore per dimostrare l'idoneità al voto.

I sistemi di voto sono stati a lungo un componente delle organizzazioni autonome decentralizzate (DAO), gli organi di governo che spesso gestiscono le app blockchain. Ma nella maggior parte dei casi, le DAO usano i token per rappresentare i voti, il che significa che i singoli utenti possono avere un'influenza enorme se detengono un gran numero di token. Ad esempio, il 22 maggio, un utente malintenzionato ha preso il controllo di Tornado Cash assegnando voti extra a una proposta dannosa, utilizzandola per prosciugare tutti i fondi del contratto di governance. L'attaccante si è poi offerto di restituire il controllo agli utenti.

Il fondatore di Waves Sasha Ivanov ha sostenuto che le DAO devono passare a un sistema di voto più democratico se si vogliono evitare attacchi alla governance come questi.

Fonte: https://cointelegraph.com/news/a16z-releases-anonymous-voting-system-for-ethereum