Nos complace anunciar el lanzamiento de znet, la primera iteración de la red de pruebas sin Coordinador. De hecho, esta red de pruebas ha estado viva durante varias semanas, pero nos gustaría abrirla oficialmente a la participación y contribución de la comunidad. Para ello, invitamos a los miembros de la comunidad a unirse a la discusión en Discord, a ver la visualización en vivo del znet Tangle, para contribuir con temas y código al repositorio de CLIRI Github, y por supuesto: para ejecutar los nodos de CLIRI y unirse a la red.
CLIRI y el Coordinator
Demos un paso atrás y discutamos por qué necesitamos otra red de pruebas, y qué hace que CLIRI sea especial. CLIRI significa «Coo-less IRI«. Basicamente, es una bifurcación del IRI, con todos los componentes relacionados con el Coo que han sido eliminados. Su propósito es proporcionar un banco de pruebas para el funcionamiento de una red de IOTA sin Coordinator. Este es un primer paso necesario para comprender los retos a los que se enfrentará una red principal Coo-less algún día.
Recapitulemos lo que realmente hace el Coordinator, para ver qué cambios hemos tenido que codificar en CLIRI. Cada minuto más o menos, el Coo lanza un milestone, que es una transacción firmada por la Fundación IOTA. Todas las transacciones referenciadas por un milestone se consideran inmediatamente confirmadas.
A simple vista, deshacerse de Coo parece sencillo: podemos dejar de enviar estos milestones , o hacer que CLIRI los trate como si fueran transacciones ordinarias, y ya está. Desafortunadamente, los milestones (hitos) vuelven a aparecer en varios contextos:
- Selección del punto de partida. En el IRI, el paseo aleatorio comienza unos cuantos milestones en el pasado. Sin milestones que nos guíen, necesitamos un método alternativo para decidir por dónde empezar la random walk. Hemos creado un algoritmo heurístico bastante aproximado, que funciona retrocediendo desde un tip reciente hasta que alcanza un punto con suficiente peso acumulativo. Esta parte de la selección de tips está resultando bastante difícil de hacer bien, y más revisiones serían bienvenidos.
- Cálculo del estado del ledger. Los milestones se utilizan para optimizar el cálculo del ledger. En lugar de calcular el estado completo del ledger a partir de la génesis, guardamos un estado intermedio para cada milestone.
- Sincronización de nodos. Los milestones son útiles para determinar cuándo un nodo ha caído fuera de sincronización. Si el último milestone sólido de un nodo es mucho más antiguo que el de su vecino, probablemente se esté quedando atrás.
Testnet de Zero-Value
Para simplificar la primera iteración de CLIRI, hemos decidido eliminar completamente la validación del ledger: todas las transacciones son válidas, siempre y cuando cumplan el requisito del PoW. Esta versión se ejecutará en una nueva red de prueba, que llamamos znet, que significa «valor cero» (zero-value). Nuestro objetivo es estabilizar este código y establecer su resiliencia, antes de implementar una lógica de validación más compleja.
También nos gustaría recopilar más análisis sobre el rendimiento de znet. Por ejemplo, hemos introducido una nueva API de getConfidence, que calcula la confianza de confirmación de una transacción, tal y como se define en el white paper. Sería interesante hacer un seguimiento de los niveles de confianza a lo largo del tiempo, ver qué porcentaje de transacciones alcanzan un nivel de confianza elevado y cuánto tiempo les lleva alcanzarlo.
Damos la bienvenida a la participación de la comunidad. Puedes ayudar ejecutando un nodo CLIRI, identificando problemas y participando en la discusión sobre Discordia, en el canal #cliri-discusión.
Artículo original: A Testnet with no Coordinator