El fondo de capital riesgo Andreessen Horowitz, también conocido como A16z, ha publicado una biblioteca Solidity que puede utilizarse para la votación anónima en Ethereum. Denominada "Cicada", la biblioteca impide que se conozca la elección de un votante individual antes de que finalice la votación. Cuando se combina con sistemas de pertenencia a grupos de conocimiento cero, como Semaphore, también puede hacer que la identidad del votante sea permanentemente desconocida, según un artículo publicado el 24 de mayo en el blog de Michael Zhu, ingeniero de A16z.

Nos complace anunciar Cicada: un nuevo concepto de votación privada on-chain.

Cicada se basa en rompecabezas de bloqueo temporal, un tipo de criptografía que permite a los usuarios cifrar valores secretos que solo pueden descifrarse una vez transcurrido un periodo de tiempo determinado, según Zhu.

Estos rompecabezas existen desde 1996. Pero antes de 2019, habrían requerido que los usuarios revelaran sus valores secretos una vez transcurrido el período de tiempo. En los sistemas de votación, esto podría haber causado problemas con los usuarios que envían votos y luego se desconectan, impidiendo que todos los votos sean contables.

En 2019, los criptógrafos Giulio Malavolta y Aravind Thyagarajan propusieron el concepto de rompecabezas de bloqueo de tiempo "homomórficos". Esto permitió que los rompecabezas se sumaran para producir un rompecabezas final que era mucho más fácil de resolver que la suma de los rompecabezas individuales. La solución del rompecabezas final solo revela la suma de los valores individuales sin revelar los valores individuales que componen esta suma.

Según el post de A16z, Cicada utiliza estos rompecabezas homomórficos, lo que permite contar los votos aunque los usuarios se desconecten.

Al intentar trasladar el sistema de Malavolta y Thyagarajan a la cadena de bloques, los investigadores de A16z se toparon con un obstáculo para crear un sistema de votación justo: Cada elección debía codificarse como un valor booleano de "1" o "0". Esto significaba que los atacantes podían intentar aumentar su poder de voto codificando incorrectamente el voto - codificando "100" como su valor, por ejemplo.

Para resolver este problema, Cicada exige a los votantes que envíen una prueba de conocimiento-cero de la validez del voto junto con cada voto, dice el post. La prueba demuestra que el voto se ha codificado correctamente, pero sin revelar su contenido.

Cicada solo impide que se conozcan los votos mientras se realiza el sondeo. Una vez que la "encuesta se ha cerrado" o ha pasado el periodo de bloqueo, cualquier persona puede determinar el contenido de un voto forzando la solución del enigma. Sin embargo, A16z sugirió que este problema puede resolverse combinando Cicada con sistemas de pertenencia a grupos de conocimiento cero como Semaphore, Semacaulk o pruebas de estado de conocimiento cero. En este caso, forzar el puzzle solo revelará que el voto ha sido emitido por un votante elegible, pero no revelará las credenciales utilizadas para demostrar la elegibilidad del votante.

Como ejemplo, Zhu proporcionó un enlace a un contrato de muestra producido utilizando Cicada que también se basa en Semaphore para demostrar la elegibilidad del votante.

Los sistemas de votación han sido durante mucho tiempo un componente de las organizaciones autónomas descentralizadas (DAO), los órganos de gobierno que a menudo gestionan las aplicaciones de blockchain. Pero en la mayoría de los casos, las DAO utilizan tokens para representar los votos, lo que significa que los usuarios individuales pueden tener una influencia desproporcionada si poseen un gran número de tokens. Por ejemplo, el 22 de mayo, un atacante tomó el control de Tornado Cash emitiendo votos extra sobre una propuesta maliciosa, utilizándola para drenar todos los fondos del contrato de gobierno. Más tarde, el atacante ofreció devolver el control a los usuarios.

El fundador de Waves, Sasha Ivanov, ha argumentado que las DAO deben pasar a un sistema de votación más democrático si se quieren evitar ataques a la gobernanza como estos.

Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión