neox-rs v2.7.0 integra 185 commits upstream de Reth y cierra nueve vulnerabilidades
Puntos clave
- •neox-rs v2.7.0 integra 185 commits del upstream Reth 2.7.0, con el número de versión saltando de v2.5.2 para coincidir con la convención de numeración upstream de Reth.
- •Nueve vulnerabilidades de cargo audit fueron corregidas mediante actualizaciones de dependencias a quinn-proto 0.11.18 y rustls 0.23.46, y el proyecto ahora reporta cero vulnerabilidades conocidas.
- •Cuatro cambios fortalecieron el ciclo de vida del validador DKG, incluyendo permitir que las preparaciones DKG sobrevivan a los avances del canonical head y restaurar los validadores al estado Ready tras operaciones Submit rechazadas.
- •El candidato de lanzamiento superó una compuerta de validación G8 de 1,402 bloques que confirmó la progresión de rondas DKG, registró cero reorgs y cero errores transitorios de RPC, y los 427 tests Neo X pasan.
- •La sincronización completa de MainNet desde el génesis con datadir limpio sigue en progreso tras el lanzamiento, aunque sus dos prerrequisitos, la conectividad de pares y la recuperación de headers, fueron confirmados como funcionales.

R3E Network ha lanzado neox-rs v2.7.0, una nueva versión del cliente full-node de Neo X basado en Rust que integra 185 commits del upstream Reth 2.7.0, resuelve nueve vulnerabilidades de cargo audit y fortalece el ciclo de vida del validador de generación distribuida de claves (DKG).
Jimmy Liao, desarrollador core de Neo y fundador de R3E Network, anunció el lanzamiento el 20 de octubre.
Desde su debut en julio, el cliente ha pasado por tres versiones previas: una pre-release inicial, una primera versión estable con correcciones de consenso y una versión de remediación de auditoría que cerró 11 hallazgos. El número de versión saltó de v2.5.2 directamente a v2.7.0 para mantenerse alineado con la numeración upstream de Reth, una convención sincronizada que permite a los operadores de nodos rastrear cada build de neox-rs hasta la línea base upstream exacta que hereda.
Integración upstream de Reth 2.7
La actualización lleva a neox-rs a la base de código de Reth 2.7.0, incorporando 185 commits de la línea base anterior mientras conserva las capas de protocolo específicas de Neo X, incluyendo el consenso dBFT, el cifrado de umbral DKG, el procesamiento de sobres Anti-MEV y endpoints RPC personalizados. Reth es el cliente de ejecución en Rust para Ethereum desarrollado por Paradigm, y lasaciones upstream regulares de este tipo permiten que un cliente derivado absorba correcciones y mejoras de su base a medida que la base de código upstream evoluciona, en lugar de alejarse de ella.
Junto con la integración, el oráculo de Neo X Geth fue sincronizado con su línea base más reciente. Los archivos génesis de MainNet y TestNet fueron verificados para coincidir con los bytes canónicos, preservando los hashes de los bloques génesis. El lanzamiento incluye binarios para Linux y Windows x86_64, cada uno publicado con checksums SHA-256; los artefactos aarch64 no fueron compilados para esta versión.
Remediación de seguridad
Nueve vulnerabilidades de cargo audit fueron resueltas mediante actualizaciones de dependencias a quinn-proto 0.11.18 y rustls 0.23.46, y el proyecto ahora reporta cero vulnerabilidades conocidas de cargo audit. Cargo audit verifica el árbol de dependencias de un proyecto Rust contra una base de datos de avisos publicados, por lo que un reporte sin hallazgos indica que no quedan alertas de vulnerabilidades conocidas en el conjunto de dependencias actual.
La revisión de seguridad fue realizada por un proceso autorizado por agentes en lugar de una auditoría independiente de terceros, distinción señalada en el lanzamiento como una aceptación de riesgo registrada.
Fortalecimiento del ciclo de vida DKG
Cuatro cambios apuntan a la confiabilidad en el ciclo de vida del validador DKG, abordando modos de falla observados durante ejecuciones extendidas de validación:
- Las preparaciones DKG ahora sobreviven a los avances del canonical head, evitando estados previamente varados.
- Las operaciones Submit rechazadas restauran el validador al estado Ready en lugar de dejar la tarea preparada huérfana.
- La coincidencia de shares ahora usa la ronda y la clave global agregada juntas, eliminando fallas falsas de epoch mismatch durante la progresión normal de bloques.
- Los shares del signer ya no se reinstalan en cada bloque; el sistema hashea las entradas canónicas liquidadas en lugar del canonical head.
El DKG es el procedimiento de criptografía de umbral mediante el cual un conjunto de validadores genera material de claves en conjunto de modo que ningún participante individual posea la clave completa, una de las capas específicas de Neo X que la integración upstream tuvo que preservar. Estas correcciones abordan casos límite donde el estado DKG podría volverse inconsistente entre límites de bloques, escenarios que surgirían durante validaciones sostenidas de múltiples rondas.
Validación y pruebas
El candidato de lanzamiento fue validado mediante una compuerta G8 de 1,402 bloques que abarcó las alturas 2,404 a 3,805. La compuerta confirmó la progresión de rondas DKG de la ronda uno a la dos, mantuvo un compromiso agregado idéntico de 128 bytes durante toda la prueba y registró cero reorgs y cero errores transitorios de RPC.
El descifrado de sobres fue verificado en escenarios del epoch actual entre epochs, con un sobre de la ronda uno guardado que fue descifrado y minado con éxito después de que la cadena avanzó a la ronda dos. Las pruebas de fallas incluyeron retrasos de 60 segundos del prover, reinicios forzados de procesos y reemplazo de shares con recibos faltantes.
Los 427 tests de Neo X pasan, junto con verificaciones limpias de clippy y formato. También se confirmó la compatibilidad del datadir: un directorio de datos v2.7.0 y un keystore DKG se abrieron con éxito bajo v2.5.2, y el binario de lanzamiento cargó un datadir de archivo de MainNet existente, verificaciones relevantes para los operadores, ya que demuestran que los datos de cadena existentes y los keystores DKG siguen siendo utilizables entre límites de versiones.
Perspectivas
La sincronización completa de MainNet desde el génesis con datadir limpio sigue en progreso tras el lanzamiento, aunque la conexión de pares y el pipeline de headers han sido verificados. Esa sincronización es el hito pendiente a observar, con sus dos prerrequisitos, la conectividad de pares y la recuperación de headers, ya confirmados como funcionales.
neox-rs continúa sirviendo como una implementación independiente en Rust del protocolo Neo X, aportando diversidad de clientes junto al cliente Neo X Geth basado en Go mantenido por Bane Labs. La diversidad de clientes, es decir, ejecutar implementaciones independientes del mismo protocolo, es una práctica de resiliencia de larga data en redes blockchain, ya que un defecto confinado a una base de código no afecta automáticamente a la otra.
La página del lanzamiento está disponible en: https://github.com/R3E-Network/neox-rs/releases/tag/neox-v2.7.0