La era de Shelley se basa en la descentralización, por lo que estamos adoptando un enfoque más descentralizado de las pruebas y la documentación. Es un paso importante en la construcción de la comunidad técnica de Cardano y, en última instancia, en la preparación de todos para el día en que la comunidad se haga cargo de la cadena de bloques.
Equipos de desarrollo
Se crearon dos equipos para el desarrollo de los clientes (nodos) para Shelley:
- Uno de ellos se basa en procedimientos científicos y tiene un enfoque académico, desarrollado en Haskell, donde impera un diseño más lento y minucioso del protocolo, refinando las funcionalidades (como conectarse a la red, validar la blockchain, etc.) de cada demo resultante en distintas iteraciones.
- El otro equipo está desarrollando el cliente bajo Rust, a través de una metodología de desarrollo ágil tradicional, donde se liberan funcionalidades de manera más dinámica, cada una o dos semanas, utilizando sprints, stories, y backlog.
Dentro de la fase Shelley, el proceso de prueba y validación del sistema se llevará a cabo en 3 etapas principales, siendo progresiva su implementación:
Etapa 1 (en Junio): Nodo privado, también conocido como “blockchain in a box”
La primera etapa consiste en crear y alojar un “auto-nodo”. Puede pensar en un auto-nodo como una “blockchain in a box”, un producto mínimo viable (MVP) necesario para probar las capacidades fundamentales. Se trata básicamente de un conjunto de herramientas y documentación para iniciar un propio bloque génesis y ejecutar un entorno de varios nodos en una máquina, donde corroborar cómo funcionan realmente los stake pools. Es como una red completa dentro de una única instancia.
¿Pero qué hay de la red? ¿No se supone que estamos probando una solución descentralizada? Bueno, aunque estamos comenzando con el auto-nodo, hemos programado las cosas para que puedas implementar más características sobre dicho nodo en el futuro. Por lo tanto, a medida que añadimos más funcionalidad - a saber, los componentes de red e incentivos - el código base desarrollado para el auto-nodo cambiará poco y nada. ¡Ese es el plan!
Por lo tanto, la primera fase consiste en establecer la configuración básica para su setup, dando una pauta de lo bien que están funcionando las cosas a nivel local. El código inicial contendrá sólo la funcionalidad central, diseñada para explorar las capacidades fundamentales. A través del grupo Cardano StakePool Best Practice Workgroup, aprenderemos a operar en diferentes hardware, sistemas operativos, entornos de cloud hosting y niveles de habilidad técnica. Obtendremos un conjunto mucho más amplio de datos resultantes mediante la colaboración con dicho grupo de trabajo.
Etapa 2 (en Septiembre): Conectando la red
Una vez que estemos satisfechos con los resultados de la etapa 1, y tengamos un conjunto robusto de nodos propios funcionando, empezaremos a conectarlos. El objetivo será crear una única red de pruebas unificada y añadir más nodos a medida que avanzamos, escalando la red paso a paso. Así que, en lugar de experimentar dentro de una instancia propia, ahora nos estaremos moviendo hacia un sistema donde los nodos se comunicarán entre sí a través de internet. Y luego aprenderemos de un conjunto completamente nuevo de comportamientos y escenarios de riesgo potencial.
A su vez, lanzaremos en paralelo una red de pruebas basada en Haskell. Esta red es más sofisticada y elegante que la red basada en Rust, pero a su vez es más compleja de desarrollar.
Etapa 3: El sistema de incentivos
Aquí es donde añadimos un sistema de incentivos a la red por la validación de transacciones. Mover bloques está muy bien, pero el verdadero potencial de Shelley se concretará con el staking. En esta fase final de pruebas se pondrá en funcionamiento el protocolo completo y final de Shelley, incluyendo tanto la delegación como distribución de los incentivos a los participantes.
Conclusión
Así que, a un alto nivel, eso es lo que verás en los próximos meses. También trabajaremos estrechamente con la gente de Emurgo en esto. Ellos estarán ayudando con las pruebas y también asegurándose de que su billetera Yoroi tenga toda esta interoperabilidad. Seiza, su nuevo explorador de cadena de bloques, será una gran herramienta para visualizar muchas de las cosas que hacemos y que son únicas en nuestro ecosistema.
Este programa de pruebas es un experimento de colaboración comunitaria. Habrán muchas pruebas, recodificación, mejora de la documentación y los materiales de formación, ajustes, etc. a lo largo del camino. Comprobaremos la integridad de los componentes individuales, así como demostraremos que esos componentes juegan muy bien entre sí. El objetivo está claro, pero será interesante ver cómo lo conseguimos. Estamos comprometidos con ella porque encaja: un proceso descentralizado para probar un sistema descentralizado. Y una amplia colaboración con la comunidad para probar un sistema que será propiedad de la comunidad.
Daedalus
Mientras avanza este proceso publicaremos diferentes versiones de Daedalus que conectarán con la red de pruebas, incluyendo las funcionalidades necesarias para la delegación.
P.D.: Para más información sobre cómo participar en el programa de testing de Shelley, aquí.