Po latach irytacji i dziesiątkach nieudanych prób, Bitcoin Core wreszcie rozwiązał jeden z najbardziej upartych błędów w historii sieci. Mowa o ataku „disk fill”, który od 2020 roku zatruwał życie operatorom pełnych węzłów. Tym razem jednak wszystko wskazuje na to, że problem został definitywnie zażegnany.
Pięć lat walki z uporczywym błędem
Atak „disk fill” polegał na zalewaniu dysków pełnych węzłów bezużytecznymi logami, co prowadziło do ich zapychania, spowolnień, a czasem nawet awarii. Hakerzy wykorzystywali polecenia takie jak LogPrintf, LogWarning czy LogError, aby wymusić zapisywanie zbędnych danych na dysku.
Szczególnie starsze maszyny z dyskami talerzowymi (HDD) cierpiały na skutek tego ataku. Jednak nawet nowoczesne dyski SSD nie były bezpieczne — ciągłe nadpisywanie danych skracało ich żywotność, a w niektórych przypadkach prowadziło do ich uszkodzenia.
Teraz jednak wszystko się zmienia. W Pull Request 32604, który jest kontynuacją aż czterech wcześniejszych prób (21559, 21603, 19995), Gloria Zhao, jedna z czołowych programistek Bitcoin Core, wprowadziła łatkę 2d59977 do głównej gałęzi kodu.
Koniec z dyskowymi torturami?
Poprawka przeszła 19 testów weryfikacyjnych i nie otrzymała żadnego „NACKa” (czyli głosu sprzeciwu) od pozostałych deweloperów. To znak, że środowisko w pełni popiera ten ruch.
Obecnie około 16% operatorów node’ów korzysta z najnowszej wersji 29.0 (wydanej 14 kwietnia). Pozostali muszą ręcznie zaktualizować swoje oprogramowanie, ponieważ Bitcoin Core nie aktualizuje się automatycznie.
Zatem: jeśli wszystko pójdzie zgodnie z planem, atak „disk fill” przejdzie do historii. I choć może nie brzmi to spektakularnie dla przeciętnego użytkownika, dla operatorów pełnych węzłów to ulga, na którą czekali od pięciu lat.