Tess Rinearson.- Hay varios objetivos de Game of Zones : educar al público sobre IBC; hacer una prueba de esfuerzo del sistema en un entorno competitivo y competitivo; y para arrojar luz sobre posibles vulnerabilidades en el protocolo y la implementación de IBC.
Los participantes en Game of Zones nos ayudaron con éxito a identificar un problema. No fue exactamente un error en IBC, pero fue un problema. Estamos emocionados de arreglarlo.
Compartiré más sobre eso en un momento, pero primero, un poco de contexto:
El lunes 11 de mayo, el equipo de Iqlusion , que a veces también se llama » Cosmos Devs «, publicó una actualización para el desafío de Game of Zones.
En resumen, la línea de tiempo se ha ajustado para acomodar el problema antes mencionado, que apareció al final de la Fase 1. (Para más detalles sobre Juego de zonas logísticas, por favor ver de Iqlusion posterior .)
Hoy, estoy siguiendo ese tema en nombre del equipo de Interchain GmbH , que incluye el equipo de desarrollo central para IBC. (Estamos ayudando a Iqlusion a que administren Game of Zones).
Compartiré un análisis más profundo del error y la causa raíz, así como los próximos pasos entre entidades que seguiremos juntos, para garantizar un buen desarrollo. conclusión de Game of Zones y, lo que es más importante, una robusta Red Cosmos.
El Bug
Al finalizar la Fase 1 de Game of Zones, se les pidió a los participantes que actualizaran su software a un nuevo commit de Gaia y Cosmos SDK, y reiniciaran sus nodos.
Después de hacerlo, varios participantes informaron que sus cadenas se estaban deteniendo , y otros participantes informaron haber visto errores de «puerto no válido».
El equipo de Interchain GmbH con sede en Berlín comenzó a investigar el lunes por la mañana CEST, y pudo identificar el problema esa tarde y fusionar un parche .
Luego, el equipo trabajó con miembros de la comunidad para verificar la solución en varios nodos. Esa noche, el equipo de Iqlusion actualizó la línea de tiempo de Game of Zones.
Causa principal
El error provino de la forma en que el módulo de capacidades se estaba inicializando dentro de Gaia. Se estaba inicializando erróneamente con un contexto en caché, lo que significaba que los cambios realizados durante la inicialización de la aplicación no se almacenaban correctamente en la tienda.
Pudimos identificar este problema rápidamente, porque era, de hecho, un error conocido. En realidad, se había solucionado en un parche para el Cosmos SDK , ¡una semana antes!
Entonces, ¿cómo persistió este error en Gaia, incluso después de haber sido identificado y parcheado en el Cosmos SDK?
Causa de raíz
Pudimos identificar el código defectuoso, pero también hemos podido encontrar el problema más grande: a medida que los equipos centrales de desarrollo se han descentralizado en todo el ecosistema Cosmos, la responsabilidad de mantener a Gaia no ha sido clara. Aunque Gaia juega un papel clave como demonio que ejecuta Cosmos Hub, tiene un ciclo de vida de software diferente al Cosmos SDK y Tendermint Core. Más concretamente: Gaia no se actualiza con tanta frecuencia y los cambios en sus dependencias pueden no incorporarse de inmediato.
En este caso, esta falta de coincidencia creó problemas.
Próximos pasos
En el plazo inmediato, Iqlusion será responsable de portar las actualizaciones del SDK a Gaia. Este acuerdo asegurará que se apliquen soluciones clave a Gaia, y que Gaia se mantendrá proactivamente en el futuro; no solo durante Game of Zones, sino también más allá.
El equipo de Interchain GmbH también ayudará aquí, revisando todos los lanzamientos de Gaia y proporcionando un segundo par de ojos en este software tan importante.
El equipo de Interchain GmbH también comenzará a ayudar con el desarrollo, las pruebas y el soporte del relé durante Game of Zones. ¡La verdad es que Game of Zones ha terminado siendo mucho más popular de lo que cualquiera de nosotros esperaba! Nuestra comunidad práctica es abrumadoramente una bendición, pero todos ustedes han hecho de Game of Zones un proyecto más grande de lo que un equipo puede manejar solo.
Como escribí al comienzo de esta publicación: Game of Zones es una oportunidad para descubrir vulnerabilidades en el protocolo y software IBC; hoy también encontramos una brecha en nuestra cobertura organizacional y comunicación en todo el ecosistema. Y estamos reparando estas cosas, tal como corregimos nuestro código.
Estos cambios eventualmente nos ayudarán a continuar Game of Zones de una manera robusta e intencional, y finalmente nos ayudarán a lanzar IBC de manera segura y estable en el Cosmos Hub.
El equipo de Interchain GmbH quiere agradecer a todos por su participación continua, y especialmente por sus comentarios, durante este proceso. Estamos ansiosos por la próxima fase, no solo del Juego de Zonas, sino también del Ecosistema Cosmos. Gracias por trabajar con nosotros para que sea lo más celestial posible.