Krytyczny błąd stworzył 184 mld Bitcoinów. Zagrożenie dla BTC wciąż istnieje?
Bitcoin od początku swojego istnienia miał być systemem, w którym zasady emisji nowych monet są ściśle określone. Maksymalna podaż została ustalona na 21 mln BTC. Dlatego incydent, do którego doszło 15 sierpnia 2010 roku wciąż szokuje. Wówczas jeden z błędów w kodzie pozwolił na stworzenie zaledwie jedną transakcją ponad 184 mld Bitcoinów. Problem był na tyle poważny, że konieczna była natychmiastowa reorganizacja blockchain. Awaria szybko została naprawiona, ale czy na pewno już nigdy więcej się nie powtórzy?
Błąd w Bitcoinie stworzył 184 mld BTC
Do słynnego value overflow incident doszło w bloku 74 638. Wykorzystana została luka związana z przepełnieniem całkowitoliczbowym. Oprogramowanie Bitcoina nieprawidłowo sprawdzało ogromne wartości przypisane do wyjść transakcji. W efekcie możliwe było utworzenie transakcji, której rzeczywista wartość przekraczała możliwości zastosowanego typu danych.
W rezultacie powstało dokładnie 184 467 440 737,09551616 BTC. Około 92,5 mld BTC trafiło na jeden adres, a kolejne 92,2 mld na drugi. Dla porównania, maksymalna podaż Bitcoina miała wynosić zaledwie 21 mld tokenów.
Można zatem powiedzieć, że była to sytuacja, w której Bitcoina został „wydrukowany z powietrza”. Co ważnie nie doszło jednak do przejęcia serwerów czy kradzieży kluczy prywatnych. Problem tkwił bezpośrednio w zasadach walidacji transakcji zapisanych w ówczesnym kodzie sieci.
Satoshi Nakamoto musiał szybko zareagować
Błąd został szybko zauważony, a twórcy Bitcoina jako pierwsi deweloperzy rozpoczęli dziłania, który celem było szybkie usunięcie problemu. W ciągu kilku godzin udostępnili poprawioną wersję klienta, która odrzucała transakcje wykorzystujące przepełnienie wartości.
Naprawa doprowadziła do tymczasowego rozdzielenia łańcucha bloków. Część węzłów nadal budowała blockchain zawierający błędną transakcję, podczas gdy zaktualizowane oprogramowanie odrzucało ten blok. Poprawny łańcuch ostatecznie przejął kontrolę na wysokości bloku 74 691, a 184 mld sztucznie utworzonych Bitcoinów przestało istnieć w obowiązującej historii BTC.
Czy ten błąd może się powtórzyć?
Skoro coś wydarzyło się raz, to może wydarzyć się ponownie? To główne pytanie, które zadaje sobie wiele osób, które poznały tę historię. Incydent z 2010 roku pokazuje, że nawet Bitcoin od samego początku nie był wolny od krytycznych błędów. Jednocześnie nie oznacza to, że identyczne zagrożenie wciąż jest realne.
Kod odpowiedzialny za obsługę wartości transakcji został poprawiony, a zasady konsensu zostały zaostrzone. Dziś sieć Bitcoina działa również na znacznie większą skalę, a każda zmiana konsensusu jest przedmiotem szczegółowych analiz oraz testów.
Nie można jednak zdecydowanie stwierdzić, że ryzyko błędu programistycznego zupełnie nie istnieje. Bitcoin jest ogromnym, złożonym systemem informatycznym. Dlatego teoretycznie nowa luka mogłaby mieć poważne konsekwencje. Historia bloku 74 368 pozostaje najlepszym przypomnieniem, dlaczego bezpieczeństwo kodu i dokładna weryfikacja zasad konsensusu są dla BTC kluczowe.
Aktualne wiadomośi z rynku kryptowalut:
Strategy łapie oddech po odbiciu Bitcoina. Saylor wróci do zakupów?
Bitcoin ETF przyciąga ponad pół miliarada USD w jeden dzień. BlackRock deklasuje konkurencję
Ekspert zapowiadał sprzedaż Bitcoinów. Co zrobi teraz?