-
El desarrollo controlado por el Estado y la privacidad de los nodos son el principal obstáculo.
-
El gobierno liberó código del sistema en GitHub para el dominio público.
Durante los últimos tres días el gobierno de Rusia usó por primera vez una plataforma blockchain para asegurar los resultados de las elecciones federales de este 13 de septiembre. De acuerdo con las autoridades, las elecciones parciales se realizaron sin «fallas técnicas significativas», pero algunos desarrolladores no están de acuerdo con los métodos utilizados para el desarrollo de esta herramienta.
El ministro de Desarrollo Digital, Comunicaciones y Medios de Comunicación, Maksut Shadayev, declaró al medio Kommersant que el único inconveniente estuvo «asociado con un navegador obsoleto» que un usuario intentó usar para acceder a la plataforma.
En concreto, la plataforma se probó en la región de Kursk y Yaroslavl para las elecciones parciales que sirven para elegir diputados a La Cámara Baja del Parlamento en Rusia. De acuerdo con un comunicado emitido el pasado 27 de agosto, el sistema para asegurar las elecciones fue solicitado por la Comisión Central Electoral (CCE) del país.
Sasha Ivanov, fundador de Waves Enterprise, compañía afiliada a la criptomoneda Waves y que lidera el desarrollo de esta plataforma blockchain para el voto electrónico, comentó en Twitter que «nunca antes se había utilizado una criptografía tan avanzada para elegir funcionarios gubernamentales. No es solo blockchain, es encriptación homomórfica y computación de multi-partida».
Sin embargo, la empresa estatal Rostelecom, que colabora con el desarrollo del sistema de votación, admite que estos modelos no representan una «solución milagrosa». Su objetivo es usar esta herramienta en las elecciones parlamentarias del 2021.
Por su parte, Sergey Aksenov, jefe de desarrollo de software de FunCorp, comentó lo siguiente en el medio ruso:
La blockchain del sistema DEG se almacena en los servidores de Rostelecom. El proceso de votación en sí tiene lugar en sus servidores. Por lo tanto, no hay nada que impida que [los operadores] (…) agreguen una cantidad de votos y luego reescriban toda la blockchain y obtengan el resultado deseado. Los mecanismos de cifrado, firma electrónica y almacenamiento de datos utilizados no evitarían esto en absoluto. Todo el proceso llevaría varías horas.
Sergey Aksenov, jefe de desarrollo de software de FunCorp.
Aksenov se refiere al intento de dar una imagen transparente a la plataforma, mediante la liberación de los códigos fuente del sistema de voto electrónico respaldado en blockchain.
El código fuente liberado de un sistema blockchain vulnerable y centralizado
El código fuente para la plataforma de voto electrónico en Rusia y la especificación sobre sus algoritmos criptográficos fueron liberados entre el 7 y el 10 de septiembre en GitHub. En el sitio web, se puede encontrar las especificaciones técnicas para comprender la programación del software, pero no todas las partes del proceso electoral dependen de la seguridad que pudiera ofrecer el sistema.
Además, es posible consultar en el repositorio de GitHub los códigos de los contratos inteligentes, códigos de la interfaz de usuario del portal, las bibliotecas de esta interfaz y el código fuente de los servidores de conteo de votos de este sistema que permite ejecutar la elección de manera remota.
Con todo, el ingeniero de software y matemático Sultan Salpagarov, citado por el medio ruso, aseguró que los algoritmos utilizados para la seguridad criptográfica de la plataforma no eran «fiables». Puesto que los algoritmos aprobados por el Servicio Federal de Seguridad de Rusia solo pueden ser utilizados en plataformas estatales.
Salpagarov también considera que los algoritmos que ejecuta Rostelecom para este propósito son en sí mismos obsoletos en términos de seguridad; y coincide con Aksenov sobre el hecho de que el almacenamiento de datos se encuentra en servidores centralizados. «No hay nada que impida que el propietario del sistema los sobrescriba por completo sin que nadie se dé cuenta», aseguró.
¿Cómo funciona el voto electrónico basado en blockchain de Rusia?
De acuerdo con el repositorio de GitHub de la plataforma para el voto electrónico en Rusia, el software de la urna electoral funciona de la siguiente manera: se acepta una transacción de votación, se realizan verificaciones del estado de la votación, se valida una firma ciega sustentada en prueba de conocimiento cero y se envía la transacción a la plataforma de conteo.
El sistema para el voto electrónico respaldado por una blockchain en Rusia propone que la aceptación, verificación y almacenamiento se ejecuten con transacciones encriptadas. Se utilizaría además un contrato inteligente para controlar y validar parámetros como nombres, fecha de votación, hash de las boletas, claves públicas e información sobre los participantes o los candidatos.
El resto del proceso incluye un conteo cifrado y la posterior distribución de los resultados, cuando se hayan verificados las llaves correspondientes para desencriptar los datos.
El camino accidentado hacia el voto electrónico en Rusia
En 2019 se probó una plataforma para votos electrónicos respaldados por una blockchain en Moscú. Más adelante, en junio de 2020, se realizó otra prueba durante el polémico referéndum para la enmienda constitucional, que permitiría a Vladimir Putin ser reelecto por otros dos periodos presidenciales de 6 años.
Pero esta última plataforma, cuyo desarrollo estuvo en manos de Bitfury, sufrió un intento de hackeo por uno de los nodos observadores y un error de programación permitió que la agencia de noticias rusa Meduza pudiera descifrar los votos antes de que fuesen contabilizados, tal como reportó CriptoNoticias en su momento.