Sui révèle la cause de trois pannes du mainnet après la mise à jour de la version 1.72

Sui révèle la cause de trois pannes du mainnet après la mise à jour de la version 1.72

Last Updated:
Sui révèle la cause de trois pannes du mainnet après la mise à jour de la version 1.72
  • La mise à jour v1.72 de Sui a introduit deux bugs distincts qui ont provoqué trois coupures du mainnet.
  • Les deux premiers arrêts étaient dus à une faille liée à la facturation du gaz liée aux nouveaux soldes d’adresse.
  • Un bug distinct d’état aléatoire a déclenché la troisième panne après le redémarrage des validateurs.

La Fondation Sui a publié une autopsie détaillée expliquant les trois coupures distinctes qui ont interrompu le réseau les 28 et 29 mai.

Selon la fondation, deux bugs introduits lors de la version 1.72 ont causé ces perturbations. Ces incidents ont fermé la blockchain de couche 1 à trois reprises en moins de deux jours et provoqué une forte baisse du prix du token SII.

SUI a chuté d’environ 8 % pendant la séquence de coupures pour atteindre un creux proche de 0,90 $. Le jeton se négociait à environ 0,90 $ lundi et a chuté d’environ 19 % sur la semaine.

La fondation a indiqué qu’aucun fonds utilisateur n’était en danger lors des coupures et qu’aucune transaction complétée n’avait été annulée.

Nouvelle fonctionnalité a déclenché une défaillance de la recharge du gaz

Les deux premières coupures étaient liées à une faille du système de recharge du gaz du réseau. La version 1.72 a introduit les « soldes d’adresse », une fonctionnalité conçue pour permettre aux utilisateurs de payer directement les frais de transaction à partir des soldes des comptes au lieu de dépendre uniquement des objets en pièces.

La mise à jour a également introduit de nouveaux chemins de paiement qui combinent les soldes d’adresse avec les paiements traditionnels à pièces. Le problème est apparu lorsque plusieurs transactions ont tenté de dépenser le même solde en même temps.

Dans certains cas, une transaction pouvait être annulée faute de fonds disponibles. Cependant, une partie du système de traitement du gaz a tout de même tenté de facturer ces fonds après l’annulation. Cela a créé un solde négatif lors du règlement, provoquant le plantage des validateurs.

La première panne a commencé vers 7 heures du matin (heure du Pacifique) le 28 mai et a duré jusqu’à environ 13h30 heure du Pacifique. Pour restaurer rapidement le réseau, les développeurs ont déployé une solution provisoire. L’équipe a reconnu à l’époque que le correctif contenait un risque connu de faible probabilité qui pouvait encore stopper le réseau. Cependant, le risque s’est matérialisé le lendemain matin.

Un patch d’urgence a conduit à un second arrêt

La deuxième panne a commencé vers 5 heures du matin PT le 29 mai. Sui a indiqué que certaines transactions peuvent échouer pour plusieurs raisons simultanément. Dans un scénario, l’erreur de fonds insuffisants que le correctif visait à détecter a été obscurcie par une autre erreur d’annulation.

Comme l’erreur initiale était masquée, la correction temporaire n’a pas réussi à empêcher que la même condition d’équilibrage négatif ne se reproduise.

Les validateurs ont planté une seconde fois avec le même problème sous-jacent de sous-flux. Les développeurs ont réalisé une réparation plus complète, et suffisamment de validateurs ont été mis à niveau pour rétablir le réseau vers 9h40 PT.

Bug d’aléatoire provoqué un troisième arrêt

La troisième panne n’était pas liée au bug du gaz lui-même. Après que les validateurs ont redémarré pour installer le second correcteur, la participation au processus de configuration de l’aléatoire du réseau est tombée en dessous du seuil requis.

Le système d’aléatoire s’est automatiquement désactivé comme prévu. Cependant, un bug distinct empêchait les validateurs d’enregistrer cet état désactivé sur disque. Lorsque les validateurs ont redémarré, ils ont supposé à tort que le processus d’aléatoire était toujours actif.

Les applications dépendantes de l’aléa on-chain ne pouvaient ni s’exécuter ni échouer, ce qui entraînait l’accumulation de transactions dans une file d’attente en pause. Le réseau est resté bloqué lors de la transition de l’époque suivante car il n’a pas pu complètement effacer cette file.

Le troisième arrêt a commencé vers 13h30 PT et a duré jusqu’à environ 19h20 PT. Les développeurs ont corrigé le bug de persistance et ajouté un nouveau mécanisme permettant aux validateurs de fermer de force une époque immobilisée lorsque nécessaire.

La fondation a également révélé que les outils internes alimentés par l’IA aidaient les ingénieurs à diagnostiquer les incidents plus rapidement en interrogeant les journaux de validateurs, en analysant les données de production et en assemblant des métriques opérationnelles lors des efforts de récupération.

En lien : Le mainnet de Sui se fige à nouveau, soulevant des inquiétudes de fiabilité

Disclaimer: The information presented in this article is for informational and educational purposes only. The article does not constitute financial advice or advice of any kind. Coin Edition is not responsible for any losses incurred as a result of the utilization of content, products, or services mentioned. Readers are advised to exercise caution before taking any action related to the company.