La cause racine, selon le rapport d'incident de Base, est une faille dans la logique de construction de blocs du séquenceur. Après l'échec de l'exécution d'une transaction, le système n'a pas correctement nettoyé l'état du journal — l'enregistrement interne des modifications des comptes et des slots de stockage — laissant un état « obsolète » ou « sale ». Lorsque des transactions légitimes ultérieures ont été exécutées, cet état obsolète a provoqué des calculs de gas anormaux, générant à son tour un bloc avec une transition d'état invalide.
Ce bloc invalide a déclenché une défaillance du consensus : le séquenceur a produit un bloc invalide après le bloc 47 806 542, empêchant le réseau de construire d'autres blocs. Les opérateurs de nœuds n'ont pas pu poursuivre la synchronisation normale tant que le problème n'a pas été résolu.
| Incident | Date | Durée | Temps d'arrêt total (combiné) |
|---|---|---|---|
| Premier | 25 juin 2025 | ~116 minutes (près de 2 heures) | ~136 minutes |
| Second | 26 juin 2025 | ~20 minutes |
Le second incident du 26 juin a été décrit comme la même classe sous-jacente de défaillance de production de blocs qui s'est reproduite peu après le premier incident, bien que le réseau ait récupéré plus rapidement la deuxième fois.
Pendant ces deux périodes, la création de nouveaux blocs a été gelée ou interrompue, perturbant le traitement normal des transactions en chaîne. Cependant, aucun fonds d'utilisateur n'a été signalé comme étant en danger lors de l'un ou l'autre incident.
L'équipe d'ingénierie de Base a appliqué un correctif au séquenceur pour garantir que l'état du journal soit correctement mis à jour lors de l'exécution après une transaction échouée. Le correctif peut être suivi dans une demande de tirage GitHub publique (#3806).
Après le correctif, les opérations normales ont repris, mais Base a conseillé aux opérateurs de nœuds validateurs de redémarrer ou de resynchroniser leurs nœuds pour restaurer l'état de synchronisation. L'équipe a noté que les deux pannes provenaient du même bogue et qu'un second problème connexe (PR #3805) a provoqué la récidive de l'incident le lendemain.
Dans la foulée, Base a reporté d'un jour le déploiement de sa mise à niveau prévue du mainnet Beryl et de l'activation du standard de token B20 afin de stabiliser le réseau.
Ces pannes consécutives ont relancé le débat sur la résilience de la conception à séquenceur unique de Base, courante parmi de nombreux rollups optimistes, mais qui introduit un point de défaillance unique évident.
Les principales préoccupations soulevées par le rapport d'incident et la couverture médiatique du secteur sont les suivantes :
Cet incident montre que même les plus grands réseaux L2 d'Ethereum peuvent être mis hors ligne par un cas limite de gestion d'état dans un seul séquenceur — et que les systèmes de basculement et de récupération automatisés sont encore un chantier en cours dans l'écosystème des rollups.