Laden...
nl

Een post-mortem van de twee uitval van het Mainnet van Ethereum

Op 11 en 12 mei 2023 ondervond het Mainnet-netwerk van Ethereum twee aanzienlijke onderbrekingen. Dit resulteerde in een vertraagde blokproductie voor respectievelijk 4 epochs en 9 epochs. Tijdens het tweede incident trad een inactiviteitsboete in werking.

Op 11 en 12 mei 2023 ondervond het Mainnet-netwerk van Ethereum'twee aanzienlijke onderbrekingen. Dit resulteerde in een vertraagde blokproductie voor respectievelijk 4 epochs en 9 epochs. Tijdens het tweede incident trad een inactiviteitsboete in werking. Het netwerk wist zich echter beide keren zelfstandig te herstellen.

Impact

De eerste onderbreking resulteerde in ongeveer 47 ontbrekende blokken en de tweede veroorzaakte een groter verlies van ongeveer 149 blokken. De vertragingen en ontbrekende blokken leidden tot een inkomstenderving van ongeveer 5 ETH voor de getroffen blokproducenten. Dit bedrag zal naar verwachting echter aanzienlijk hoger uitvallen als we de builder bundle rewards in aanmerking nemen.

Bron: beaconcha.in

Er wordt geschat dat 65% van de validators offline was gedurende 8 epochs, wat leidde tot een inactiviteitslek, wat resulteerde in een geschat verlies van ongeveer 28 ETH, plus ongeveer 50 ETH aan verloren inkomsten door ontbrekende attesten. In totaal bedroeg het geschatte verlies ongeveer 83 ETH, wat neerkomt op minder dan 0,00015 ETH per validator.

Het is echter opmerkelijk dat er geen validator slashings werden toegeschreven aan deze incidenten, wat aangeeft dat de problemen meer systemisch dan individueel waren.

Onderliggende oorzaken

De hoofdoorzaak van de uitval ligt in enkele van de consensus-clients, waaronder Prysm, die moeite hadden om geldige attesten optimaal te verwerken met een oud doelcontrolepunt. Hierdoor moest Prysm eerdere bakenstatussen opnieuw berekenen om de attesten' authenticiteit te valideren, wat leidde tot uitputting van bronnen en een aanzienlijke vertraging bij het uitvoeren van validatieclientverzoeken.

Trigger

Een reeks oude attesten die waren gestemd op een oud bakenblok (een blok uit tijdperk N-2 tijdens tijdperk N) werd uitgezonden, wat de oorzaak was van de problemen in Prysm en Teku. Door deze geldige, maar problematische attesten moest Prysm dezelfde status meerdere keren regenereren omdat de cache snel vol raakte.

Opsporing

De problemen werden ontdekt na een aanzienlijke daling in de netwerkdeelname in tijdperken 200.551 en 200.750, wat leidde tot een tijdelijke onderbreking van de ketenafronding.

Bron: beaconcha.in

Samenvatting

Het grootste probleem was dat het netwerk niet kon worden voltooid vanwege ontbrekende blokken en attesten. Daarnaast had het netwerk te kampen met stress als gevolg van de toegenomen verwerking van max-stortingen. Vooral Prysm kampte met het probleem van meerdere replays (replayBlocks-functie), wat leidde tot hoog CPU-gebruik.

Desondanks deze problemen was de duur van de incidenten relatief kort en werden er geen massale slashings gemeld. Dankzij de diversiteit van het netwerk en de mogelijkheid van sommige clients om blokken voor te stellen en attesten te maken, kon de keten zich herstellen. Belangrijk is dat er geen handmatige interventie of noodvrijgave nodig was om het finaliteitsprobleem op te lossen.

Dit incident benadrukte de beperkingen van testnets, die niet representatief zijn voor de Mainnet-omgeving, en onderstreepte daarmee de noodzaak van robuustere stresstests en noodplannen. Het diende ook als een succesvolle praktijktest van boetes voor inactiviteitslekken.

Er zijn diverse oplossingen geïntroduceerd om herhaling van dergelijke problemen te voorkomen. Deze omvatten het gebruik van de hoofdstatus voor het valideren van attesten voor een recent canoniek blok als de doelwortel, het gebruik van de cache voor de volgende sleuf voor het valideren van attesten voor grenssleuven in het vorige tijdvak en het weggooien van attesten die niet door de vorige twee regels zijn gevalideerd. Deze maatregelen moeten de kans verkleinen dat toestanden worden overgespeeld en attesten voor oude blokken onder normale omstandigheden worden genegeerd.

Hoewel de Mainnet-uitval voor aanzienlijke uitdagingen zorgde, effenen het snelle herstel en de waardevolle lessen die zijn geleerd de weg voor een veerkrachtiger Ethereum-netwerk.

Solana Weekly Newsletter

0

Gerelateerde Nieuws