Solana pour empêcher l'arrêt futur du réseau si un bogue d'exécution survient à nouveau : détails

La Réseau Solana a connu sa dernière panne le 1er juin, lorsque le cluster Solana Mainnet Beta a cessé de créer des blocs en raison d'un consensus au point mort. Cela a été créé par un bogue d'exécution dans la fonctionnalité de transactions nonce durables, qui régit la façon dont la blockchain gère une forme spécifique de la transaction destinée à une utilisation hors ligne.

Après avoir désactivé ces « transactions nonce durables », les validateurs ont commencé à redémarrer le réseau quatre heures et demie plus tard. Le lendemain, à 9h00 UTC, la production de blocs a redémarré et les opérateurs de réseau ont continué à rétablir les services clients au cours des heures suivantes.

La récente panne a suggéré un échec dans la capacité de Solana à gérer des nonces durables. Les validateurs du réseau comptaient deux fois ces entrées de niche comme une seule transaction à deux hauteurs de bloc distinctes, plutôt que de les considérer comme une seule transaction. Le mécanisme de consensus de Solana a été effectivement brisé par cette situation impossible.

Solana prend des mesures proactives

Pour augmenter le débit, Solana utilise le traitement parallèle des transactions sans chevauchement. Un nonce incrémentant peut être utilisé par les réseaux qui exécutent des transactions en série ; Solana utilise un mécanisme différent pour s'assurer que les transactions ne sont pas traitées deux fois. Étant donné que les transactions nonce durables ne sont pas destinées à expirer, elles nécessitent une approche différente pour éviter le double traitement et sont traitées de manière séquentielle.

annonces

Le traitement d'une transaction nonce durable a révélé un bogue dans le runtime qui a empêché le réseau de progresser tout au long de la panne. Une transaction réussie n'aurait pas causé ce problème car la transaction nonce durable aurait échoué.

La fonctionnalité de transaction nonce durable a été désactivée dans les versions v1.9.28/v1.10.23 pour empêcher le réseau de se bloquer si la même circonstance se reproduisait. Les transactions nonce durables ne s'exécuteront pas tant que l'atténuation n'aura pas été déployée et la fonctionnalité réactivée dans une future version.

Source : https://u.today/solana-to-prevent-future-network-shutdown-if-runtime-bug-arises-again-details