Il client Neo X neox-rs v2.7.0 integra 185 commit upstream di Reth e risolve nove vulnerabilità
Punti chiave
- •neox-rs v2.7.0 integra 185 commit provenienti da upstream Reth 2.7.0, con il numero di versione passato da v2.5.2 per allinearsi alla convenzione di numerazione upstream di Reth.
- •Nove vulnerabilità rilevate da cargo audit sono state corrette tramite aggiornamenti delle dipendenze a quinn-proto 0.11.18 e rustls 0.23.46, e il progetto segnala ora zero vulnerabilità note.
- •Quattro modifiche hanno rafforzato il ciclo di vita dei validator DKG, tra cui la capacità delle preparazioni DKG di sopravvivere agli avanzamenti della testa canonica e il ripristino dei validator allo stato Ready dopo operazioni Submit rifiutate.
- •La release candidate ha superato un gate di validazione G8 di 1.402 blocchi che ha confermato la progressione dei round DKG, registrando zero reorg e zero errori RPC transienti, e tutti i 427 test Neo X passano.
- •La sincronizzazione completaNet da genesis con datadir pulita resta in corso dopo il rilascio, sebbene i suoi due prerequisiti, connettività peer e recupero degli header, siano stati confermati funzionanti.

R3E Network ha rilasciato neox-rs v2.7.0, una nuova versione del client full-node Neo X basato su Rust che integra 185 commit provenienti da upstream Reth 2.7.0, risolve nove vulnerabilità rilevate da cargo audit e rafforza il ciclo di vita dei validator della generazione distribuita delle chiavi (DKG).
Jimmy Liao, core developer di Neo e fondatore di R3E Network, ha annunciato il rilascio il 20 ottobre.
Dal suo debutto a luglio, il client è passato attraverso tre rilasci precedenti: una pre-release iniziale, una prima versione stabile con correzioni al consenso e un rilascio di rimedio post-audit che ha chiuso 11 segnalazioni. Il numero di versione è passato direttamente da v2.5.2 a v2.7.0 per mantenersi allineato alla numerazione upstream di Reth — una convenzione sincronizzata che consente agli operatori di nodo di ricondurre ogni build di neox-rs alla esatta baseline upstream da cui deriva.
Merge upstream di Reth 2.7
L'aggiornamento porta neox-rs alla codebase di Reth 2.7.0, incorporando 185 commit dalla baseline precedente e conservando i livelli di protocollo specifici di Neo X, tra cui il consenso dBFT, la crittografia a soglia DKG, l'elaborazione delle envelope Anti-MEV e gli endpoint RPC personalizzati. Reth è il client di esecuzione Rust per Ethereum sviluppato da Paradigm, e merge upstream regolari di questo tipo permettono a un client derivato di assorbire correzioni e miglioramenti dalla propria base man mano che la codebase upstream evolve, anziché allontanarsene.
Oltre merge, l'oracolo Neo X Geth è stato sincronizzato alla propria baseline più recente. I file genesis di MainNet e TestNet sono stati verificati e risultano corrispondere ai byte canonici, preservando gli hash dei blocchi genesis. Il rilascio include binari per Linux e Windows x86_64, ciascuno pubblicato con checksum SHA-256; gli artefatti aarch64 non sono stati compilati per questa versione.
Rimedio alla sicurezza
Nove vulnerabilità rilevate da cargo audit sono state risolte tramite aggiornamenti delle dipendenze a quinn-proto 0.11.18 e rustls 0.23.46, e il progetto segnala ora zero vulnerabilità note da cargo audit. Cargo audit confronta l'albero delle dipendenze di un progetto Rust con un database di avvisi pubblicati, quindi un rapporto senza segnalazioni indica che non restano flag di vulnerabilità note nell'attuale set di dipendenze.
La revisione di sicurezza è stata condotta tramite un processo autorizzato da agente anziché da un audit indipendente di terza parte, una distinzione indicata nel rilascio come accettazione del rischio registrata.
Rafforzamento del ciclo di vita DKG
Quattro modifiche puntano all'affidabilità nel ciclo di vita dei validator DKG, affrontando le modalità di guasto osservate durante estese sessioni di validazione:
- Le preparazioni DKG ora sopravvivono agli avanzamenti della testa canonica, prevenendo stati precedentemente bloccati.
- Le operazioni Submit rifiutate ripristinano il validator allo stato Ready invece di lasciare il task preparato orfano.
- L'abbinamento delle share ora utilizza insieme round e chiave globale aggregata, eliminando falsi errori di mismatch di epoch durante la normale progressione dei blocchi.
- Le share dei firmatari non vengono più reinstallate a ogni blocco; il sistema calcola l'hash degli input canonici regolati invece della testa canonica.
Il DKG è la procedura di crittografia a soglia con cui un insieme di validator genera congiuntamente materiale crittografico in modo che nessun singolo partecipante detenga la chiave completa — uno dei livelli specifici di Neo X che il merge upstream doveva preservare. Queste correzioni affrontano casi limite in cui lo stato DKG poteva diventare incoerente attraverso i confini di blocco, scenari che sarebbero emersi durante validazioni prolungate su più round.
Validazione e test
La release candidate è stata validata tramite un gate G8 di 1.402 blocchi compreso tra le altezze 2.404 e 3.805. Il gate ha confermato la progressione dei round DKG dal round uno al round due, hauto un impegno aggregato di 128 byte identico per tutto il periodo e ha registrato zero reorg e zero errori RPC transienti.
La decifratura delle envelope è stata verificata sia in scenari dell'epoch corrente sia tra epoch diversi, con una envelope del round uno salvata correttamente decifrata e inclusa in un blocco dopo che la catena era avanzata al round due. I test sui guasti hanno incluso ritardi del prover di 60 secondi, riavvii forzati dei processi e sostituzione di share con ricevute mancanti.
Tutti i 427 test Neo X passano, insieme a controlli clippy e di formattazione puliti. È stata inoltre confermata la compatibilità della datadir: una directory dati v2.7.0 e un keystore DKG si sono aperti correttamente sotto v2.5.2, e il binario di rilascio ha caricato una datadir archive MainNet esistente — verifiche rilevanti per gli operatori, poiché dimostrano che i dati di catena esistenti e i keystore DKG restano utilizzabili attraverso i confini di versione.
Prospettive
La sincronizzazione completa MainNet da genesis con datadir pulita resta in corso dopo il rilascio, sebbene la connessione ai peer e la pipeline degli header siano state verificate. Tale sincronizzazione è la milestone ancora da osservare, con i suoi due prerequisiti — connettività peer e recupero degli header — già confermati come funzionanti.
neox-rs continua a fungere da implementazione Rust indipendente del protocollo Neo X, offrendo diversità di client accanto al client Neo X Geth basato su Go mantenuto da Bane Labs. La diversità di client — eseguire implementazioni indipendenti dello stesso protocollo — è una pratica di resilienza di lunga data nelle reti blockchain, poiché un difetto confinato a una codebase non influisce automaticamente sull'altra.
La pagina di rilascio è disponibile all'indirizzo: https://github.com/R3E-Network/neox-rs/releases/tag/neox-v2.7.0