Votaciones basadas en bitcoin

mixnetDavid y Eduardo han estado trabajando desde hace años en cómo hacer seguro un sistema de votaciones de democracia líquida que sea secreto y verificable, entre otras características. No es suficiente que sea software libre para que sea seguro, ya que nadie te asegura que el código que se ejecuta es el que se ha auditado. Para ello se utilizan diferentes autoridades, una puede ser la de los desarrolladores, otra de una universidad, otra de una empresa, etc. y todos los participantes deberían ponerse de acuerdo para poder hacer un pucherazo. Técnicamente hablaron de ello por ej. en 2011 en SecuritybyDefault.

Ahora se proponen un nuevo reto, utilizar bitcoin, que según la Wikipedia:

bitcoinBitcoin es una moneda electrónica descentralizada … que propone un sistema de transacciones electrónicas que no depende de la confianza, sino que permite realizar transferencias de forma directa sin la necesidad de un intermediario. 

Copio aquí la entrevista que Ferdinand les ha hecho donde hablan sobre el tema (también está en inglés en Bitcoin Magazine):

Hablamos con Eduardo Robles que, junto David Ruescas, son los principales impulsores del proyecto Agora Voting.

Ferdinand Reyes:¿Qué es Agora Voting?

Eduardo y David: Agora Voting es un sistema de votación software libre que nació cómo Ágora Ciudadana en 2008 de un grupo de desarrolladores que buscaban la posibilidad de crear un sistema de votación que pudiera ser utilizado por el Partido de Internet. Actualmente es un proyecto en el cual colaboran un total de 15 personas y que ha sido utilizado en experiencias en el Parlamento Español y por partidos pirata de todo el mundo.

Es una herramienta flexible para poder adaptarse a los diferentes casos de uso: diferentes niveles de privacidad y seguridad, delegación de voto opcional, múltiples tipos de pregunta, múltiples sistemas de autenticación, y una API avanzada.

Buscamos que sea confiable, manteniendo altos estándares de seguridad para intentar mantener la legitimidad en los procesos de votación. Mucha gente ya compra por Internet, pero mucha gente desconfía del voto por ordenador. Para aquellos que sean más optimistas, nosotros entendemos que al menos hay que proporcionar la herramienta de votación más segura posible.

Por eso desde el principio hemos estado investigando las mejores medidas de seguridad, buscando que las votaciones sean verificables y que la confianza esté repartida entre varios actores para que sea un sistema más robusto.

En la última votación de la Iniciativa Congreso Transparente implementamos la primera versión del sistema de seguridad que ya veníamos trabajando desde hace dos años, basado en sistemas criptograficos de votaciones ampliamente conocidos como mixnets.

Pero no nos queremos quedar ahí, queremos hacer el sistema más robusto, y aquí es donde entra Bitcoin; ya que tiene varias propiedades interesantes. Una de ella es su Trustlesness, que básicamente significa que no tienes que confiar en una serie de autoridades como en el esquema anterior sino que delegas la confianza en la red, por tanto está muy distribuida y es más robusta. Otra es que no es maleable, es decir, lo que se escribe en el blockchain es permanente, inmutable. Otro beneficio es la protección frente un ataque DDoS que, en un sistema centralizado, puede inutilizar una votación pero, en cambio, mediante Bitcoin sería muy difícil.

Hemos estado hablando con los desarrolladores de bitcoin sobre cómo implementar un sistema más eficiente, y, una de las formas es usando chronobit, que permite asociar a cada bloque del blockchain cierta información en forma de hash, previo acuerdo con un pool de mineros.

Usando el sistema basado en chronobit, el recuento podría hacerse aún con el sistema de mixnets, pero conseguimos un registro inmutable y distribuido de los votos; los votos quedan registrados y fechados por el blockchain. Existiendo varios mirrors que contengan los ficheros con los votos podrías descargarte el fichero de alguno de ellos y comprobar con el hash que proporciona un bloque del blockchain. Es en el blockchain dónde depositas la confianza, Bitcoin haría de cibernotaría.

Esta es una de las formas más básicas de usar blockchain para registrar votos; estamos investigando opciones más avanzadas basadas en Zerocoin, que tiene una propiedad muy interesante; las transacciones totalmente anónimas -al contrario de las pseudoanónimas de bitcoin-. La noción es votar mediante transacciones anonimizadas a cuentas asociadas a una opción de voto. De esta forma, el recuento final lo hace la propia criptomoneda: la cuenta asociada a una opción de voto que más dinero tenga es la ganadora. Por ahora estamos hablando con el equipo de Zerocoin para ver de qué manera podemos trabajar juntos.

Aún no tenemos una forma definitiva de cómo desarrollar todo esto, pero estamos aprendiendo y investigando. Hay un importante trabajo y desarrollo por hacer.

262255_166064443531183_467425016_a

FR:¿Cómo bitcoin puede ayudar a una sociedad más democrática?

E&D: Mediante bitcoin, paypal no podría haber retenido las donaciones a wikileaks. Y no podría haber ocurrido el corralito en argentina ¿por qué? porque no es necesario un intermediario: ni paypal, ni el banco, ni ningún gobierno que fuerce a ninguno de estos, ni ningún tercero que fuerce al gobierno… Es un sistema que se mantiene independiente de raíz: es más confiable. Eso es muy beneficioso para la sociedad.

Bitcoin establece unas nuevas reglas del juego, que van mucho más allá de ser una simple moneda electrónica. Elimina intermediarios. Es un sistema de generación de información bajo ciertas reglas, confiable, inalterable, altamente distribuido y difícilmente atacable. Se basa en la confianza en una red que funciona por reglas democráticas.

Sistemas basados en bitcoin pueden aplicarse en diferentes ámbitos y aprovecharse de esas propiedades interesantes antes mencionadas: se puede hacer un sistema de resolución de nombres (DNS) que no dependa de la ICANN, o un sistema de certificados SSL confiables sin autoridades certificadoras de por medio. O, como es nuestra intención, se puede crear un sistema de votación descentralizado que no requiera la confianza en un servidor web o en un sistema de autoridades.

Cuando eliminas intermediarios en los que confiar, consigues que el sistema sea más robusto. Si se trata de un sistema crucial en una sociedad democrática, como es el dinero o unas votaciones, consigues una mayor calidad democrática.

FR: ¿Cómo se compatibiliza la delegación en la democracia líquida con el voto mediante bitcoin?

E&D: Aún está por ver. Tenemos desde luego ya algunas ideas sobre cómo hacer viable la democracia líquida en un sistema basado en zerocoin, pero nada definitivo. Este es un campo nuevo por explorar.
¿Es este el único proyecto de este tipo que quiere utilizar las cryptocoins para este fin?
Que conozcamos no existe ningún sistema de votación basado en bitcoin viable que sea seguro, verificable, y anónimo por ahora.

FR: ¿Qué posibles puntos fuertes y débiles tiene?

E&D: Como puntos fuertes: el sistema que proponemos basado en zerocoin es resistente a DDoS, mantiene el anonimato de los votantes, el recuento es verificable y es Trustlessness es decir la confianza está distribuida en la red. Es un sistema mucho más descentralizado si lo comparas con los sistemas seguros de votación actualmente existentes.

Como puntos débiles podríamos decir que una votación podría tener cierto coste en bitcoins (aunque por otra parte te ahorras en servidores web y otros servicios). Otro posible problema es que al registrar los votos en el blockchain implica que los votos no se registran de forma instantánea. Además la utilización de transacciones anónimas cómo forma de voto dificulta la revocación del voto, necesaria para la democracia líquida. Finalmente queda investigar el coste y eficiencia computacional de elecciones sobre bitcoin.

FR: ¿Cuáles son vuestros planes?

E&D: Nuestro objetivo principal es conseguir el sistema de votación más distribuido y seguro posible. Planeamos seguir manteniendo el soporte a las dos versiones hasta ahora: La de votación de voto público y las votaciones con mixnets y autoridades, seguiremos soportando y mejorándolo.

Nuestro objetivo principal es conseguir un sistema de votación cada vez más distribuido, robusto y seguro. Queremos explorar las fronteras de lo posible. Esto requiere de un esfuerzo constante para mantener la seguridad y a la vez avanzar en las técnicas criptográficas. Por eso hemos abierto una cuenta de Bitcoin dónde recibir donaciones 1EwqtN6GwHmkfYEfxGhuVcjrNBdQwvXMd3 para darle un empujón al desarrollo de este proyecto que requiere de un trabajo considerable.

Este año nuestro software se ha utilizado dos veces en el Congreso de los Diputados de España y tenemos una implementación inicial del sistema de voto cifrado basado en mixnets. Todo eso sin financiación. El año que viene esperamos conseguir financiación, y promete ser mejor que el anterior ¡agarraos los cinturones!

FR: ¿Cuál es vuestro objetivo monetario y dónde se pueden hacer las donaciones?

E&D: En el post en el blog donde anunciábamos la ídea de usar bitcoin en Agora nos hemos marcado una cifra inicial de 100BTC (64.416 € a 21 de enero). Puede parecer una cifra grande para algunos, pero realmente un sistema de votaciones no se escribe solo. Especialmente si queremos que sea seguro, esto requiere un trabajo profesional, cualificaciones muy específicas, y una dedicación plena. Nuestros objetivos son ambiciosos pero factibles. Si quieres colaborar donando, puedes hacerlo a 1EwqtN6GwHmkfYEfxGhuVcjrNBdQwvXMd3.

También puedes colaborar en el proyecto de software libre en la parte criptográfica, escribiendo código, traduciendo, haciendo testing, escribiendo documentación, ayudando a la gente en las listas, trabajando en la parte de infraestructura o de cualquier otra forma en nuestra lista de correo.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s