- La mise à jour v1.72 de Sui a introduit deux bogues distincts ayant provoqué trois pannes du mainnet.
- Les deux premières interruptions proviennent d'un défaut de facturation de gaz lié aux nouveaux soldes d'adresses.
- Un bogue distinct lié à l'état de aléatoire a déclenché la troisième interruption après le redémarrage des validateurs.
La Fondation Sui a publié un post-mortem détaillé expliquant les trois pannes distinctes qui ont interrompu le réseau les 28 et 29 mai.
Selon la foundation, deux bugs introduits lors de la version logicielle v1.72 ont causé les perturbations. Les incidents ont arrêté la blockchain de niveau 1 trois fois en moins de deux jours et ont déclenché une forte baisse du prix du token SUI.
SUI a chuté d'environ 8 % pendant la séquence de panne, atteignant un bas aux alentours de 0,90 $. Le token était négocié autour de 0,90 $ lundi et était en baisse d'environ 19 % sur la semaine.
La fondation a déclaré qu'aucun fonds d'utilisateur n'était en danger pendant aucune des interruptions et qu'aucune transaction effectuée n'a été annulée.
Fonctionnalité nouvelle déclenchée : échec de la facturation du gaz
Les deux premières interruptions ont été liées à une faille dans le système de facturation 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 les frais de transaction directement depuis les soldes de leurs comptes au lieu de compter entièrement sur les objets de monnaie.
La mise à jour a également introduit de nouveaux chemins de paiement combinant les soldes d'adresses avec des paiements traditionnels basés sur des 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 a pu être annulée en raison d'un montant de fonds insuffisant. Toutefois, une partie du système de traitement des frais de gaz a tout de même tenté de prélever ces fonds après l'annulation. Cela a créé un solde négatif lors du règlement, provoquant des plantages des validateurs.
La première panne a commencé vers 7 h PT le 28 mai et a duré jusqu’à environ 13 h 30 PT. Pour rétablir rapidement le réseau, les développeurs ont déployé une solution temporaire. L’équipe a reconnu à l’époque que le correctif comportait un risque connu à faible probabilité pouvant toujours arrêter le réseau. Toutefois, ce risque s’est concrétisé le lendemain matin.
Une correction d'urgence a entraîné un deuxième arrêt
La deuxième panne a commencé vers 5 h 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 était conçu pour détecter a été masquée par une autre erreur d'annulation.
Étant donné que l'erreur originale était masquée, la solution temporaire n'a pas réussi à empêcher la réapparition de la même condition de solde négatif.
Les validateurs ont planté une deuxième fois en raison du même problème de débordement sous-jacent. Les développeurs ont effectué une réparation plus complète, et suffisamment de validateurs ont mis à jour leur logiciel pour restaurer le réseau vers 9 h 40 heure du Pacifique.
Un bug de aléatoire a provoqué le troisième arrêt
La troisième interruption n'était pas liée au bug de gaz en lui-même. Après que les validateurs ont redémarré pour installer le deuxième correctif, la participation au processus de configuration de la randomisation du réseau est tombée en dessous du seuil requis.
Le système de randomisation s'est désactivé automatiquement comme prévu. Toutefois, un bogue distinct a empêché les validateurs d'enregistrer cet état désactivé sur le disque. Lorsque les validateurs ont redémarré, ils ont incorrectement supposé que le processus de randomisation était toujours actif.
Les applications qui dépendaient de la randomisation sur chaîne n'ont pu ni s'exécuter ni échouer, ce qui a provoqué l'accumulation de transactions dans une file d'attente en pause. Le réseau s'est bloqué lors de la transition vers la prochaine epoch car il n'a pas pu vider complètement cette file d'attente.
La troisième interruption a commencé vers 13 h 30 HE et a duré jusqu’à environ 19 h 20 HE. Les développeurs ont corrigé le bug de persistance et ajouté un nouveau mécanisme permettant aux validateurs de fermer de force un epoch en panne si nécessaire.
La fondation a également révélé que des outils internes alimentés par l'IA ont aidé les ingénieurs à diagnostiquer plus rapidement les incidents en interrogeant les journaux des validateurs, en analysant les données de production et en regroupant les métriques opérationnelles pendant les efforts de récupération.
Associé : Sui Mainnet se bloque à nouveau, suscitant des préoccupations concernant sa fiabilité
Avertissement : Les informations présentées dans cet article sont uniquement à des fins informatives et éducatives. Cet article ne constitue pas un conseil financier ou tout autre type de conseil. Coin Edition ne peut être tenu responsable des pertes subies suite à l'utilisation du contenu, des produits ou des services mentionnés. Les lecteurs sont invités à faire preuve de prudence avant de prendre toute action liée à l'entreprise.

