Laden...
de

Ein Post-Mortem der beiden Mainnet-Ausfälle von Ethereum

Am 11. und 12. Mai 2023 kam es im Mainnet von Ethereum zu zwei erheblichen Unterbrechungen. Dies führte zu einer verzögerten Blockproduktion für 4 Epochen bzw. 9 Epochen. Während des zweiten Vorfalls trat eine Inaktivitätsstrafe in Kraft.

Am 11. und 12. Mai 2023 kam es im Ethereum-Mainnet-Netzwerk zu zwei erheblichen Unterbrechungen. Dies führte zu einer verzögerten Blockproduktion für 4 Epochen bzw. 9 Epochen. Während des zweiten Vorfalls trat eine Inaktivitätsstrafe in Kraft. Beide Male gelang es dem Netzwerk jedoch, sich selbstständig zu erholen.

Auswirkungen

Beim ersten Ausfall fehlten etwa 47 Blöcke, beim zweiten kam es zu einem größeren Verlust von etwa 149 Blöcken. Die Verzögerungen und fehlenden Blöcke führten bei den betroffenen Blockproduzenten zu Einnahmeverlusten von etwa 5 ETH. Diese Zahl dürfte jedoch deutlich höher sein, wenn man die Belohnungen für die Blockhersteller berücksichtigt.

Quelle: beaconcha.in

Schätzungsweise waren 65% der Validatoren für 8 Epochen offline, was zu einem Inaktivitätsleck führte, was einen geschätzten Verlust von etwa 28 ETH zur Folge hatte, plus etwa 50 ETH an entgangenen Einnahmen durch fehlende Bescheinigungen. Insgesamt belief sich der geschätzte Verlust auf etwa 83 ETH, was im Durchschnitt weniger als 0,00015 ETH pro Validator entspricht.

Besonders bemerkenswert ist jedoch, dass keine Validator-Slashings auf diese Vorfälle zurückgeführt wurden, was darauf hindeutet, dass die Probleme eher systemischer als individueller Natur waren.

Wurzelursachen

Die Wurzel der Ausfälle liegt in einigen der Konsens-Clients, einschließlich Prysm, die Schwierigkeiten hatten, gültige Bescheinigungen mit einem alten Zielprüfpunkt optimal zu verarbeiten. Dies führte dazu, dass Prysm frühere Beacon-Zustände neu berechnen musste, um die Echtheit der Bescheinigungen zu überprüfen, was zu einer Erschöpfung der Ressourcen und einer erheblichen Verlangsamung bei der Erfüllung von Validator-Client-Anfragen führte.

Auslöser

Eine Reihe von alten Bescheinigungen, die mit einem alten Beacon-Block (einem Block aus Epoche N-2 während Epoche N) abgestimmt waren, wurden gesendet und verursachten die Probleme in Prysm und Teku. Diese gültigen, aber problematischen Bescheinigungen zwangen Prysm dazu, denselben Zustand aufgrund der schnellen Füllung seines Caches mehrfach neu zu generieren.

Entdeckung

Die Probleme wurden nach einem erheblichen Rückgang der Netzwerkbeteiligung in den Epochen 200.551 und 200.750 entdeckt, was zu einer vorübergehenden Beendigung des Kettenabschlusses führte.

Quelle: beaconcha.in

Zusammenfassung

Das Hauptproblem war, dass das Netzwerk aufgrund fehlender Blöcke und Bescheinigungen nicht abgeschlossen werden konnte. Darüber hinaus wurde das Netz durch die vermehrte Verarbeitung von Maximaleinlagen belastet. Insbesondere Prysm hatte mit dem Problem der mehrfachen Wiederholungen (Funktion replayBlocks) zu kämpfen, was zu einer hohen CPU-Auslastung führte.

Trotz dieser Probleme war die Dauer der Vorfälle relativ kurz, und es wurden keine Massenslashings gemeldet. Dank der Vielfalt der Clients im Netzwerk und der Fähigkeit einiger Clients, Blöcke vorzuschlagen und Bescheinigungen zu erstellen, konnte sich die Kette erholen. Wichtig ist, dass kein manueller Eingriff oder eine Notfreigabe erforderlich war, um das Problem der Endgültigkeit zu lösen.

Dieser Vorfall machte die Grenzen von Testnetzen deutlich, die nicht repräsentativ für die Mainnet-Umgebung sind, und unterstreicht damit die Notwendigkeit robusterer Stresstests und einer Notfallplanung. Der Vorfall diente auch als erfolgreicher Praxistest für die Bestrafung von Inaktivitätslecks.

Es wurden mehrere Korrekturen eingeführt, um eine Wiederholung solcher Probleme zu verhindern. Dazu gehören die Verwendung des Kopfstatus für die Validierung von Bescheinigungen für einen aktuellen kanonischen Block als Zielwurzel, die Verwendung des nächsten Slot-Caches für die Validierung von Bescheinigungen für Boundary Slots in der vorherigen Epoche und das Verwerfen von Bescheinigungen, die nicht durch die beiden vorherigen Regeln validiert wurden. Diese Maßnahmen sollten die Wahrscheinlichkeit des Wiederholens von Zuständen verringern und die Bescheinigungen für alte Blöcke unter normalen Bedingungen ignorieren.

Während der Ausfall des Mainnets erhebliche Herausforderungen mit sich brachte, ebneten die schnelle Wiederherstellung und die wertvollen Erkenntnisse den Weg für ein widerstandsfähigeres Ethereum-Netzwerk.

Crossroads 2025

0

Verwandte Nachrichten