🇪🇸 The Cardano Ballot: el desarrollo de una aplicación de votación descentralizada

En la preparación de un evento internacional como la Cumbre Cardano 2022 intervienen múltiples partes móviles, con diversos equipos que se ocupan de diferentes aspectos para asegurar que las cosas se desarrollen con la mayor fluidez posible. El equipo de Herramientas de Metadatos de la Fundación Cardano recibió a finales de julio una nueva tarea: Apoyar la Cumbre mediante el desarrollo de una aplicación de votación que cualquiera pudiera utilizar fácilmente. Esta aplicación también debería aprovechar las posibilidades de la blockchain de Cardano y hacer que cada voto se verificara en la cadena.

Con apenas dos meses para desarrollar una solución elegante y totalmente funcional, el equipo de Herramientas de Metadatos inició un periodo de intenso trabajo y descubrimiento. Hoy, el equipo, junto con toda la Fundación Cardano, se complace en presentar la aplicación La Boleta Cardano :uk:[The Cardano Ballot.]

Estableciendo las bases para una aplicación de votación

Entre los principales requisitos para la votación de Cardano figuraba una aplicación que no sólo sirviera para la Cumbre de Cardano, sino que además mostrara las ventajas y el potencial de la blockchain de Cardano. Era preciso diseñarla y construirla de forma que permitiera a todo el mundo votar por el ponente elegido por la comunidad y premiar a los nominados a la Cumbre. Además, la votación debía ofrecerse sin coste alguno para los usuarios y tener un límite de un voto por usuario.

El equipo de Herramientas de Metadatos examinó numerosos modelos de diseño, algunos utilizando transacciones de metadatos, otros utilizando activos nativos, smart contracts o la :uk: solución de escalabilidad Hydra. Se contempló también la opción de reutilizar las soluciones de votación Cardano existentes.

Identificamos rápidamente la imposibilidad de confiar en modelos de votación ponderados que se basan en la cantidad de ada estacado. Teníamos que garantizar un peso de voto igual por usuario y estos modelos, naturalmente, no podían ofrecer tal garantía. Por otra parte, el equipo descubrió ciertas dificultades a la hora de limitar un wallet a un voto.

Durante el proceso de desarrollo, la papeleta Cardano Ballot evolucionó hasta convertirse en una aplicación de votación Web3 que empleaba el nuevo :uk: Conector de Wallet de código abierto de la Fundación Cardano, permitiendo a los usuarios conectar un wallet Cardano compatible con los estándares :uk: CIP 30 y CIP 8. El equipo implementó dos métodos distintos para verificar la wallet de un usuario: recurrir a un bot de Discord o a un mensaje SMS. Al aprovechar la firma de mensajes del CIP 8 y la dirección de stake de la wallet, exigimos a los usuarios que firmaran un mensaje secreto ofrecido a través de uno de los dos métodos, autenticando así la propiedad de la wallet conectada.

Tomamos la decisión de desarrollar esta nueva biblioteca de conectores de wallet por dos motivos. Ante todo, necesitábamos una solución para la Boleta Cardano y, a través de un importante proceso de prueba y error, descubrimos numerosos problemas en varios proyectos de monederos relacionados con la conexión de monederos que no nos permitían obtener un uso óptimo de ellos. Por otro lado, el equipo quería ofrecer a los futuros desarrolladores de Cardano una solución de código abierto que eliminara la probable carga de trabajo y la carga asociada a los problemas tal y como se plantean en la actualidad.

Promoviendo herramientas de código abierto y optimizando la utilidad

Junto a los problemas de wallet identificados, la biblioteca de código abierto Wallet Connector pretendía ofrecer una solución ligera que no dependiera de las bibliotecas de serialización existentes. Por ello, desarrollamos el componente React a medida para ofrecer una funcionalidad que priorizara la conexión de wallet y la firma de mensajes CIP 8. Como resultado final obtuvimos un conector de wallet de código abierto que permite a cualquier desarrollador o proyecto introducir la conexión y autenticación de wallet Cardano sin problemas. Confiamos en que este nuevo conector de wallet mejore el viaje de los desarrolladores de Cardano y ayude a superar la limitada estandarización en botones y componentes de conexión de wallets con la que se ha encontrado nuestro equipo.

Ahora, disponiendo de una wallet de Cardano conectada y verificada, el usuario puede redactar una Votacion de Cardano para los distintos nominados en las diferentes categorias de ponentes y premios de la Cumbre. El borrador de la aplicación Cardano Ballot también debe firmarse utilizando el estándar CIP 8, momento en el que puede presentarse como voto. En este sentido, la aplicación utiliza CIP 8 tanto para verificar una wallet conectada como para firmar un borrador de papeleta. Para crear una función de inicio de sesión en la aplicación, el equipo también recurrió al CIP 8.

En el transcurso del proceso de desarrollo e implementación del Wallet Connector de código abierto, se hizo evidente que la compatibilidad actual de los dispositivos móviles en el ecosistema Cardano es significativamente limitada. Por otra parte, existe una variación considerable en la forma en que se implementa el estándar CIP 8 en los distintos wallets.

En adelante, la Fundación Cardano también tiene la intención de publicar un verificador y analizador JAVA CIP 8 de código abierto que pueda incorporarse a los proyectos Cardano. Este verificador y analizador JAVA CIP 8 permite la deserialización de firmas CIP 8 y está diseñado específicamente para soportar los flujos de trabajo de extracción de datos para la gobernanza SundaeSwap. De la misma forma, la biblioteca admite la generalización del análisis sintáctico de firmas CIP 8 utilizando el popular lenguaje de programación JAVA.

Disponer de la votación en la cadena [de bloques]

Tras firmar la boleta de Cardano [Cardano Ballot en inglés] y enviarla al sistema, el equipo se enfrentó al reto de decidir qué ofrecería una opción ideal para escribir el voto on-chain [en la cadena]. La manera elegida tendría que englobar una serie de consideraciones, entre ellas un enfoque en la transparencia y la verificación, así como en un uso responsable de la blockchain.

Algunos debates en curso han discutido si la red principal de una blockchain -frecuentemente denominada capa-1- debería utilizarse como base de datos. En el caso de la papeleta de Cardano, esto supondría tener todas las papeletas firmadas escritas en la cadena. Esto ofrecería sin duda las características de transparencia y verificación deseadas, pero también suscitaría inquietudes.

Con conocimientos sobre los árboles merkle y su importancia para la verificación, el equipo se propuso identificar una solución responsable que ofreciera transparencia y verificación, sin utilizar la capa 1 de Cardano como base de datos. Durante esta fase combinada de diseño y desarrollo comenzaron las conversaciones con diferentes proyectos comunitarios.

Al reunirnos con [el equipo de desarrollo del proyecto] Voteaire y a pesar de que el [nuestro] equipo identificó numerosos casos de uso en los que el proyecto presentaba una solución ideal, quedó claro que la integración con su solución de votación requeriría escribir todos los votos en la cadena, por lo que no se ajustaba a nuestros requisitos. Surgieron asimismo algunos problemas relacionados con la garantía de un voto por usuario. Sin embargo, las conversaciones con Voteaire resultaron inestimables. Indagaron en información crucial sobre los problemas existentes con la votación descentralizada y con ofrecer soluciones verificables a los usuarios de forma rentable.

Por su parte, SundaeSwap ha implementado recientemente un modelo de gobernanza que emplea árboles merkle como medio para verificar los datos y que lo hace sin escribir la totalidad de los datos en la blockchain de Cardano. Las interesantes conversaciones con SundaeSwap, junto con su disposición a compartir las valiosas lecciones que aprendieron mientras desarrollaban su solución, nos permitieron identificar una solución viable para el mecanismo de verificación de la votación de Cardano que ofrecía transparencia y verificación, pero que no requería escribir grandes cantidades de datos en la cadena. Además, lo hacía a un coste mínimo.

Esta colaboración con SundaeSwap también es un ejemplo del trabajo de colaboración de la Fundación Cardano con la comunidad Cardano. Forma parte de los constantes esfuerzos de la Fundación tanto para mostrar como para ayudar a la madurez del ecosistema.

De la papeleta de Cardano a la utilidad blockchain

En el camino hacia el diseño y desarrollo de la Bola de Cardano, el equipo de Herramientas de Metadatos encontró tanto aspectos encomiables dentro del ecosistema de desarrollo de Cardano como áreas que podrían beneficiarse de una mayor exploración y desarrollo. Con la voluntad de seguir colaborando con el ecosistema, ahora estamos documentando y analizando posibles vías para mejorar la experiencia del desarrollador y del usuario de Cardano.

Si bien la aplicación la Boleta Cardano se diseñó específicamente para la Cumbre Cardano 2022, suscitó debates en torno a una solución de nivel empresarial y lo que se necesitaría para implementarla. Tanto la Fundación Cardano en general como el equipo de Herramientas de Metadatos en particular conocen la creciente investigación y desarrollo sobre la identidad autosuficiente (SSI). Somos igualmente conscientes de la emisión de identificadores descentralizados (DID) en Cardano con proyectos como Atala Prism, RootsID, IAMX y Sidetree-Cardano. Además, numerosas normas y sistemas que existen dentro de SSI -como DIF, W3, Trust Over IP, KERI- deben ser tenidos en cuenta si el objetivo es diseñar y desarrollar una solución de identidad verdaderamente interoperable.

En última instancia, la papeleta Cardano será refactorizada en una biblioteca de código abierto. Esperamos que resulte útil a otras personas de la comunidad y para fines que vayan más allá de los de la Cumbre Cardano 2022.

El presente proyecto de desarrollo ofreció una experiencia reveladora para el equipo, ya que identificamos áreas en el viaje del desarrollador de Cardano que requieren un mayor debate. Con esto en mente, la Fundación Cardano planea llevar a cabo un taller sobre el Conector de Wallet y DApp en la Cumbre Cardano 2022, así como organizar debates en torno a los estándares CIP, la votación descentralizada y mucho más.

Los miembros del equipo de Herramientas de Metadatos y la Fundación Cardano animan a toda la comunidad Cardano a votar primero por las categorías de ponentes y después por los premios inaugurales de la Cumbre Cardano. Asimismo, esperamos ver a todos en persona o virtualmente en la Cumbre, y esperamos seguir colaborando con la comunidad Cardano.


Traducción al español de “The Cardano Ballot: developing a decentralized voting app”, escrito por la @Cardano-Foundation, en octubre 18 de 2022.


Notas del traductor

  • Corchetes del traductor.
  • :uk: indica que el enlace apunta a un contenido en idioma inglés.
  • :es: indica que el enlace apunta a un contenido en idioma español.

Considere suscribirse a las siguientes fuentes de información en español de Cardano según su interés.