W kliencie Ethereum Prysm doszło do incydentu w sieci głównej, w wyniku którego z powodu wyczerpania zasobów nastąpiły masowe braki bloków i świadectw.
Według ChainCatcher, zespół Prysm opublikował raport z analizy incydentu na mainnecie, stwierdzając, że podczas okresu Fusaka na mainnecie Ethereum 4 grudnia, prawie wszystkie węzły sygnałowe Prysm doświadczyły wyczerpania zasobów podczas przetwarzania określonych attestations, co uniemożliwiło im terminowe odpowiadanie na żądania walidatorów i spowodowało znaczne braki bloków i świadectw.
Zakres wpływu incydentu obejmował epochy od 411439 do 411480, łącznie 42 epochy, podczas których w 1344 slotach brakowało 248 bloków, co stanowiło około 18,5% braków; udział w sieci spadł chwilowo do 75%, a walidatorzy stracili około 382 ETH nagród za świadectwa. Przyczyną było to, że Prysm otrzymał attestations pochodzące prawdopodobnie od węzłów niesynchronizowanych z mainnetem, które odnosiły się do blokowych korzeni z poprzedniego epochu.
Aby zweryfikować ich legalność, Prysm wielokrotnie odtwarzał stan starego epochu i wykonywał kosztowne przejścia epochów, co w warunkach wysokiej równoczesności prowadziło do wyczerpania zasobów węzła. Powiązany błąd pochodził z Prysm PR 15965, który został wdrożony na testnecie już miesiąc wcześniej, ale nie wywołał podobnej sytuacji.
Oficjalne tymczasowe rozwiązanie polegało na włączeniu parametru --disable-last-epoch-target w wersji v7.0; kolejne wydania v7.1 i v7.1.0 zawierały już długoterminowe rozwiązanie, polegające na weryfikacji attestations przy użyciu head state, co zapobiegało powtarzającemu się odtwarzaniu historycznych stanów.
Prysm poinformował, że problem zaczął się stopniowo rozwiązywać po godzinie 4:45 UTC 4 grudnia, a udział w sieci powrócił do ponad 95% w epochu 411480.
Zespół Prysm podkreślił, że to zdarzenie uwypukliło znaczenie różnorodności klientów – jeśli udział jednego klienta przekroczy jedną trzecią, może to prowadzić do chwilowej niemożności osiągnięcia finalizacji; jeśli przekroczy dwie trzecie, istnieje ryzyko powstania nieprawidłowego łańcucha finalizacji. Zespół zrewidował także kwestie niejasnej komunikacji dotyczącej przełączników funkcji oraz fakt, że środowisko testowe nie symulowało masowej liczby niesynchronizowanych węzłów, zapowiadając poprawę strategii testowania i zarządzania konfiguracją w przyszłości.
Zastrzeżenie: Treść tego artykułu odzwierciedla wyłącznie opinię autora i nie reprezentuje platformy w żadnym charakterze. Niniejszy artykuł nie ma służyć jako punkt odniesienia przy podejmowaniu decyzji inwestycyjnych.
Może Ci się również spodobać
Doradca Bitwise: Bitcoin OG wieloryby nadal sprzedają, co może nie sprzyjać wzrostowi ceny
