Zespół Kopalnie Krypto - sobota 13 sierpnia 2022
Aktualizacja standardu CAT - interwencja w białym kapeluszu
Pod koniec lipca szerokim echem odbiła się przyspieszona aktualizacja standardu CAT. Okazało się, że Chia Network poradziła sobie w ten sposób z usterką kodu. Na szczęście wykryto ją w porę i wprowadzono rozwiązanie, które pozwoliło zminimalizować szkody. Dowiedz się, co dokładnie się stało i jak Chia poradziła sobie z trudnościami.
Co to jest CAT?
Na początek wyjaśnijmy sobie podstawowe pojęcie. Pod skrótem „CAT” kryją się wymienne tokeny zasobów Chia emitowane w łańcuchu bloków Chia. Standard wymiany finansowej CAT1 dopięto w styczniu 2022 roku. Do tokenów CAT należą m.in. stablecoin USD (USDS), Marmot (MRMT) i Spacebucks (SBX).
Sedno problemu
A zatem – co się stało? W dużym skrócie: Chia Network w szybkim tempie wyeliminowała z blockchaina tokeny CAT1 i zastąpiła je tokenami CAT2. Powodem dla takiej decyzji – jak sieć przyznała już po fakcie – było wykrycie poważnej usterki w kodzie, a mianowicie błędu nieskończonej inflacji.
Zamówiony przez Chia niezależny audyt bezpieczeństwa przeprowadzony przez firmę Trail of Bits wykazał, że kod CAT1 pozwalał na tworzenie nieskończonej ilości tokenów. Mówiąc w dużym uproszczeniu, istniała możliwość uruchomienia „drukarki pieniędzy”, która będzie drukowała do oporu fałszywe kopie CAT. Zespół Chia Network od razu zareagował na wykryty problem. Gdy tylko potwierdzono, że owa luka nie została nigdy wykorzystana, opracowano strategię jej załatania. W ciągu doby udało się zbudować narzędzie do monitorowania łańcucha bloków, które ostrzegłoby zespół o jakichkolwiek nadużyciach. Żeby tokenów nie można było podrobić, konieczne okazało się uruchomienie standardu CAT2.
Natychmiastowa poprawka nie wchodziła w grę – zwłaszcza, że ryzyko dotyczyło tylko standardu CAT1, a nie XCH. Chia Network opracowała więc solidny zestaw naprawczy, a kiedy był on już gotowy, przygotowała giełdy publiczne i cały ekosystem na wielką zmianę. Odcięcie standardu CAT1 ogłoszono z 24-godzinnym wyprzedzeniem. Taki ruch pozwolił zminimalizować ryzyko dla użytkowników końcowych.
Nowy protokół wymiany finansowej wdrożono tak szybko ze względu na bezpieczeństwo całej sieci, która pozostaje dla Chia priorytetem. Zamknięcie wszystkich otwartych ofert w jednym momencie pozwoliło zapobiec nadużyciom i związać potencjalnym oszustom ręce.
Zarządzanie kryzysowe i white hat
Użytkownicy, którzy 25 lipca zapoznali się z komunikatem Chia Network, nie mieli jeszcze pełnego oglądu tej sprawy. Dowiedzieli się tylko, że jeśli mają w portfelach jakiekolwiek aktywa CAT1, powinni jak najszybciej uaktualnić swoją wersję blockchaina, i że w edycji 1.5.0, obsługującej standard CAT2, poprzednie tokeny nie będą już obsługiwane. Stare saldo CAT1 będzie natomiast odpowiadało zasobom CAT2 w ich nowych portfelach (po ponownym wydaniu tokenów przez programistów).
Sieć przestrzegła też, że posiadacze aktywów nie powinni podejmować żadnych innych działań, a w szczególności zawierać transakcji z udziałem CAT aż do czasu aktualizacji blockchaina. Złożenie lub przyjęcie oferty transakcji z CAT1 już po wielkiej blokadzie wiązałoby się bowiem z utratą środków XCH. Uzyskane tokeny nie mogłyby zostać zamienione na CAT2, z kolei nieaktualne aktywa CAT1 okażą się po zmianach kompletnie bezwartościowe.
Po blokadzie Chia sama rozpoczęła fałszowanie CAT i wypełnianie nimi nieanulowanych ofert, akceptując je, a następnie zwracając XCH ich oryginalnym posiadaczom. Etyczne hakerstwo – tzw. white hat, czyli hakerstwo w białych kapeluszach – było tym przypadku najlepszym możliwym rozwiązaniem. Dzięki temu, a także dzięki przeniesieniu ofert CAT1 do trybu offline oraz zablokowaniu tworzenia nowych transakcji, udało się ograniczyć ryzyko do absolutnego minimum.
Wprowadzone zmiany nie wpływają na bezpieczeństwo Chia Network i samego łańcucha bloków – wdrożona aktualizacja załatała lukę w CAT1. Z kolei samym transakcjom NFT czy XCH nigdy nic nie groziło. Problem dotyczył tylko i wyłącznie tokenów CAT1 i udało się go wyeliminować.
Pożar ugaszony
Z perspektywy czasu usterka w krytycznym oprogramowaniu wydaje się oczywista i trudna do przeoczenia. Praca na nowych technologiach i stymulacja rozwoju jest jednak zawsze obarczona pewnym ryzykiem błędu. Jasne, że na nieprzebytej wcześniej drodze pojawią się pewne przeszkody. Grunt, żeby odpowiednio szybko je wyłapać i skutecznie się z nimi uporać.
I tu trzeba uczciwie przyznać, że Chia Network wykryła problem i sprawnie wprowadziła rozwiązanie, które pozwoliło zminimalizować szkody. Dobrze, że osoby decyzyjne odważyły się na poprawki od razu i uczciwie przyznały się do błędu, a nie czekały pod miotłą do momentu, aż wydarzy się prawdziwa katastrofa. Pozostaje mieć nadzieję, że z tej bolesnej lekcji zostaną wyciągnięte wnioski, i że Chia Network jeszcze bardziej przyłoży się do fazy testów oraz audytów. Robi to zresztą regularnie – kontrola firmy Trail of Bits była już trzecim niezależnym audytem kodu Chia.
Należy też docenić uczciwość sieci i fakt, że na blogu Chia Network opublikowano obszerne wpisy objaśniające kulisy całej sprawy. Na szczęście dzięki współpracy programistów i wydawców CAT udało się w porę ugasić pożar. Choć społeczność została narażona na duże zmiany, były to zmiany konieczne – i z całą pewnością na lepsze.