Solana publikuje pełne sprawozdanie z lutowego przestoju

- Sieć została zatrzymana z powodu wadliwego walidatora
- Wysłano nienormalnie dużą ilość danych
- Logika deduplikacji poradziła sobie z tym, ale blok został ponownie przesłany do sieci
- W efekcie przeciążyło to usługi transferu bloków
Wczoraj, 19 kwietnia, Fundacja Solana opublikowała szczegółowy raport dotyczący awarii blockchaina z 25 lutego. Powodem był wadliwy walidator, który wysłał nienormalnie dużą ilość danych.
Co się stało w lutym?
w dniu 25 lutego Solana uległa awarii po raz kolejny. Pasmo sieciowe znacznie się zmniejszyło, co doprowadziło do prawie całkowitego wyłączenia blockchaina.
Problem został naprawiony po drugim restarcie. Sieć wróciła do normalnego działania dopiero w nocy. Kilka dni później Solana ogłosiła, że planuje poprawić mechanizm wdrażania aktualizacji do sieci.
Przyczyny przestoju
Oto kilka krótkich podsumowań tego, co działo się z siecią w lutym:
- kilka serwisów z wbudowanym oprogramowaniem do przesyłania bloków wysłało przez pomyłkę ogromną ilość danych;
- logika deduplikacji sieci przetworzyła blok, ale został on ponownie przesłany do sieci przez usługi przekierowania;
- te ponownie przekierowane bloki przeciążały logikę i usługi przekazywania, w tym protokół Turbine, co pogorszyło finalizację.
Jednocześnie nienormalny rozmiar bloku jest najprawdopodobniej spowodowany tym, że dowód historii został uzupełniony o «wirtualne pokemony». Dzieje się tak, gdy walidator odbiega od konsensusu z powodu nieprawidłowej konfiguracji, błędu oprogramowania lub awarii sprzętu.
W tym przypadku analiza zdarzenia wykazała, że zatrzymanie nie było podyktowane aktualizacją 1.14.16.
Przygotowana przez inżynierów łatka ma na celu wyeliminowanie awarii w logice deduplikacji. W szczególności ma ona na celu przerwanie replikowanej retransmisji podobnej tablicy. Wprowadzono również zmiany mające na celu zmniejszenie obciążenia filtra protokołu Turbine.