Noticias de la fundación
Autor
Stellar Development Foundation
Fecha de publicación
El 9 de octubre de 2025 (UTC), Stellar Development Foundation (SDF) identificó un problema en la red pública relacionado con una nueva característica llamada “Priorización del Estado en Vivo de Soroban”. Esta característica, introducida en el Protocolo Whisk 23 (P23), tenía como objetivo mejorar cómo la red maneja y almacena datos. Sin embargo, un error en esta característica comenzó a corromper ciertas entradas de datos tan temprano como el 4 de septiembre de 2025, y permaneció sin detectarse durante 35 días.
La Fundación trabajó rápidamente con las partes afectadas y los validadores para contener (para el 10 de octubre de 2025) y resolver (para el 23 de octubre de 2025).
En total, 478 entradas de datos fueron originalmente corrompidas, pero la mayoría de ellas pudieron ser reparadas a su valor esperado. Después de las correcciones, solo 84 permanecieron corrompidas y se tuvieron que tomar mitigaciones por parte de los protocolos y emisores.
La causa raíz del incidente fue un error en la forma en que la red gestionaba la transición de entradas de datos entre diferentes áreas de almacenamiento. La característica se describe con más detalle en “Priorización del Estado en Vivo de Soroban” que introduce un novedoso almacenamiento de libro mayor de dos niveles que ayuda a desbloquear innovación no vista en otras cadenas.
Para hacer esto más claro, aquí hay explicaciones breves de términos clave:
El error ocurrió durante la “evicción”: en lugar de mover la versión más actualizada de cada entrada persistente, el sistema a veces movía una copia desactualizada (como guardar un borrador viejo en lugar del último). Cuando estas entradas desactualizadas se restauraban más tarde, la red terminaba operando con información inconsistente.
Durante el escaneo de evicción al aplicar libros mayores, el sistema generó una lista de candidatos para el “archivo-caliente” incluyendo su valor. El problema fue que estos candidatos eran entradas encontradas durante el escaneo de la Lista de Cubos en niveles arbitrarios que representan diferentes puntos en el tiempo. Para retomar la analogía anterior, a veces se sacaban de la capa incorrecta del archivador en capas. Mientras el código verificaba correctamente la expiración cargando el último valor de Tiempo de Vida (TTL), fallaba en cargar la última versión de la entrada misma si había una, llevando a registrar un valor desactualizado en el “archivo-caliente”.
Nota que antes de Whisk (P23), este mecanismo no era un problema porque la evicción se hacía dentro del estado en vivo, y para eso solo necesitábamos el valor de TTL actualizado: las temporales serían eliminadas, y las entradas persistentes simplemente permanecerían intactas en el libro mayor.
La solución es que cada candidato a evicción cargue la última versión de la entrada desde la instantánea de la Lista de Cubos.
Pasamos tiempo con el equipo interno, desarrolladores externos y socios para discutir áreas de mejora que comenzamos a implementar de inmediato, incluyendo:
Para fortalecer aún más nuestra red y procesos, estamos implementando estrategias específicas:
Al abrazar estas mejoras, SDF reafirma nuestro compromiso con la transparencia, fiabilidad y colaboración continua con todas las partes interesadas en apoyo de la red Stellar.