Chargement...
fr

Analyse rétrospective des deux pannes du réseau principal d'Ethereum

Les 11 et 12 mai 2023, le réseau Mainnet d'Ethereum a connu deux interruptions importantes. Cela a entraîné un retard dans la production de blocs pendant 4 époques et 9 époques respectivement. Au cours du deuxième incident, une pénalité d'inactivité a été appliquée.

Impact

La première panne a entraîné la disparition d'environ 47 blocs, et la seconde a causé une perte plus substantielle d'environ 149 blocs. Les retards et les blocs manquants ont entraîné une perte de revenus d'environ 5 ETH pour les producteurs de blocs touchés. Ce chiffre devrait toutefois être nettement plus élevé si l'on prend en compte les récompenses de l'offre groupée des constructeurs.

Source : beaconcha.in

On estime que 65 % des validateurs ont été hors ligne pendant 8 époques, ce qui a entraîné une fuite d'inactivité, une perte estimée à environ 28 ETH, plus environ 50 ETH de revenus perdus en raison d'attestations manquantes. Au total, la perte estimée était d'environ 83 ETH, ce qui représente en moyenne moins de 0,00015 ETH par validateur.

Il convient toutefois de noter qu'aucune perte de validateur n'a été attribuée à ces incidents, ce qui indique que les problèmes étaient plus systémiques qu'individuels.

Causes profondes

La cause profonde des pannes réside dans certains clients de consensus, y compris Prysm, qui ont eu du mal à traiter de manière optimale les attestations valides avec un ancien point de contrôle cible. Cela a conduit Prysm à recalculer des états de balise antérieurs pour valider l'authenticité des attestations, conduisant à l'épuisement des ressources et à un ralentissement significatif dans la satisfaction des demandes des clients validateurs.

Déclenchement

Une série d'anciennes attestations votant pour un ancien bloc de balise (un bloc de l'époque N-2 pendant l'époque N) ont été diffusées, provoquant les problèmes dans Prysm et Teku. Ces attestations valides mais problématiques ont obligé Prysm à régénérer le même état plusieurs fois en raison du remplissage rapide de son cache.

Détection

Les problèmes ont été détectés à la suite d'une baisse substantielle de la participation au réseau aux époques 200 551 et 200 750, entraînant un arrêt temporaire de la finalisation de la chaîne.

Source : beaconcha.in

Résumé

Le principal problème était que le réseau ne parvenait pas à finaliser la chaîne en raison de blocs et d'attestations manquants. En outre, le réseau a été soumis à des tensions en raison d'un traitement accru des dépôts maximaux. Prysm, en particulier, a été confronté au problème des rediffusions multiples (fonction replayBlocks), ce qui a entraîné une utilisation élevée du processeur.

Malgré ces problèmes, la durée des incidents a été relativement courte, et aucun mass slash n'a été signalé. La diversité des clients du réseau et la capacité de certains clients à proposer des blocs et à créer des attestations ont permis à la chaîne de se rétablir. Cet incident a mis en évidence les limites des réseaux d'essai, qui ne sont pas représentatifs de l'environnement du réseau principal, soulignant ainsi la nécessité de tests de résistance et de plans d'urgence plus robustes. Il a également permis de tester avec succès les pénalités pour fuite d'inactivité.

Plusieurs correctifs ont été apportés pour éviter que de tels problèmes ne se reproduisent. Il s'agit notamment d'utiliser l'état de tête pour valider les attestations d'un bloc canonique récent en tant que racine cible, d'utiliser le cache de l'emplacement suivant pour valider les attestations des emplacements limites de l'époque précédente et d'écarter toutes les attestations non validées par les deux règles précédentes. Ces mesures devraient réduire les chances de rejouer les états et d'ignorer les attestations pour les anciens blocs dans des conditions normales.

Alors que la panne du Mainnet a posé des défis importants, la récupération rapide et les précieuses leçons apprises ouvrent la voie à un réseau Ethereum plus résilient.

La panne du Mainnet a posé des défis importants, la récupération rapide et les précieuses leçons apprises ouvrent la voie à un réseau Ethereum plus résilient.

Solana Weekly Newsletter

0

Actualités connexes