AktualnościKryptoDeweloperzy XRP Ledger bronią awaryjnej łaty naprawiającej błąd pozwalający wybić nieograniczoną liczbę XRP

Deweloperzy XRP Ledger bronią awaryjnej łaty naprawiającej błąd pozwalający wybić nieograniczoną liczbę XRP

Autor: Cointelegraph·

Najważniejsze informacje

  • •Przepełnienie liczby całkowitej w silniku płatności XRP Ledger, obecne od 2015 roku, mogło pozwolić atakującym na tworzenie nowych XRP ponad stałą podaż 100 miliardów poprzez wykorzystanie specjalnie wycenionych ofert.
  • •Awaryjna poprawka została wydana 25 września, trzy dni po zgłoszeniu w ramach bug bounty, i stanowiła pierwsze celowe ominięcie procesu poprawek w księdze od ponad dziesięciu lat.
  • •Deweloperzy argumentowali, że zwyczajowe dwutygodniowe głosowanie walidatorów uczyniłoby poprawkę publiczną przed jej wejściem w życie i naraziłoby sieć na potencjalnych atakujących.
  • •Krytycy, w tym założyciel Cyber Capital Justin Bons, stwierdzili, że wydanie wyłącznie w formie binarnej z tymczasowo wstrzymanym kodem źródłowym podważało twierdzenia o decentralizacji XRP, które są powracającym argumentem w sprawie SEC przeciwko Ripple.
  • •Fundacja XRPL i niezależni operatorzy walidatorów, tacy jak XRP Kuwait, obronili skoordynowaną aktualizację jako wspólną decyzję, podkreślając, że koordynacja między operatorami nie oznacza scentralizowanej kontroli.
Deweloperzy XRP Ledger bronią awaryjnej łaty naprawiającej błąd pozwalający wybić nieograniczoną liczbę XRP

Deweloperzy XRP Ledger (XRPL) obronili awaryjną poprawkę bezpieczeństwa wdrożoną w celu naprawienia błędu umożliwiającego tworzenie XRP ponad stałą podaż sieci, argumentując, że nie mogli czekać na zwyczajowe dwutygodniowe głosowanie walidatorów bez narażania tej luki na ataki ze strony potencjalnych przeciwników.

W przeciwieństwie do sieci, które wybijają nowe monety w czasie, XRP Ledger wystartował z całą podażą 100 miliardów XRP już istniejącą — dlatego ścieżka kodu zdolna do wybijania dodatkowych tokenów uderzała w fundamentalną właściwość tego aktywa.

Poprawka została wydana 25 września, trzy dni po zgłoszeniu w ramach programu bug bounty, i zaczęła obowiązywać natychmiast na każdym serwerze, na którym ją zainstalowano. Według deweloperów była to pierwsze celowe ominięcie standardowego procesu poprawek (amendment) w sieci od czasu wprowadzenia tego systemu ponad dziesięć lat temu. Zgodnie z tym procesem zmiany protokołu trafiają jako poprawki i aktywują się dopiero po tym, jak ponad 80% walidatorów poprze je przez dwa kolejne tygodnie — ten sam próg, do którego Fundacja XRPL powołała się później, broniąc obowiązkowego przejścia na wersję 3.4.1.

"Przy normalnym głosowaniu nad poprawką łatka byłaby publiczna przez tygodnie, zanim zaczęłaby obowiązywać, co zagrażałoby bezpieczeństwu sieci" — napisali deweloperzy XRPL w poście na X w niedzielę.

Przyspieszona poprawka wzbudziła pytania o stopień decentralizacji XRP Ledger. Na swojej stronie internetowej XRPL określa się jako w pełni zdecentralizowany, publiczny blockchain — charakterystyka, która stanowiła podstawę argumentów, że jego natywny token, XRP, nie powinien być klasyfikowany jako papier wartościowy. Argumenty te mają znaczenie regulacyjne: amerykańska Komisja Papierów Wartościowych i Giełd (SEC) pozwała Ripple w grudniu 2020 roku, zarzucając niezarejestrowane oferty papierów wartościowych w formie XRP, a stopień decentralizacji XRP był powracającym wątkiem w tej sprawie.

Poprawkaczeństwa "wzbudziła wiele pytań"

Justin Bons, założyciel Cyber Capital, powiedział w czwartek, że promowanie XRP wśród inwestorów detalicznych jako zdecentralizowanego oznacza "wprost oszustwo". Argumentował, że awaryjne wydanie z 25 września trafiło do dystrybucji wyłącznie jako pliki binarne, źródła były tymczasowo niedostępne, a operatorów naciskano na aktualizację.

Fundacja XRPL jednak stwierdziła, że decyzja o pominięciu standardowego procesu poprawek została podjęta wspólnie przez Fundację, RippleX, głównych deweloperów i walidatorów po ocenie powagi błędu.

"Żadna pojedyncza strona nie mogła podjąć tej decyzji samodzielnie. Każdy walidator i operator węzła wybiera, jakie oprogramowanie uruchamiać, a wersja 3.4.1 stała się wymagana dopiero w wyniku normalnego głosowania nad poprawką, z ponad 80% poparciem walidatorów przez dwa tygodnie. Zmiany protokołu nadal przechodzą przez poprawki" — oświadczyła Fundacja.

XRP Kuwait, niezależny operator walidatora, również odrzucił twierdzenia, że skoordynowane aktualizacje sygnalizowały scentralizowaną kontrolę.

"Nie zgadzamy się z twierdzeniem, że koordynowanie aktualizacji przez operatorów jest samo w sobie dowodem scentralizowanej kontroli" — napisano w poście na X. "Koordynacja nie to samo co kontrola. Niezależni operatorzy mogą ocenić sytuację, komunikować się ze sobą i dojść do tych samych wniosków, nie rezygnując ze swojej niezależności."

Błąd mógł wybić nieograniczoną liczbę XRP

Zgodnie z raportem projektu o ujawnieniu podatności błąd stanowiło przepełnienie liczby całkowitej w silniku płatności XRP Ledger, obecne od 2015 roku.

Salda XRP są przechowywane jako liczby całkowite 64-bitowe ze stałą wartością maksymalną. Gdy suma przekraczała tę wartość, obliczenie zawijało się do mniejszej liczby zamiast zakończyć się błędem.

Atakujący mógł wykorzystać tę lukę, tworząc setki specjalnie wycenionych ofert, z których każda żądała bardzo dużej ilości XRP, a następnie wysyłając jedną płatność, która konsumowała je wszystkie. Silnik uznawał każdemu właścicielowi oferty pełną kwotę, obciążając kupującego jedynie maleńką zawiniętą sumą — a różnica materializowała się jako nowo utworzone, wydawalne XRP.

Zgodnie z raportem atak wymagał celowo skonstruowanych ofert i nie mógł zostać wywołany normalną aktywnością handlową. Deweloperzy oświadczyli, że nie znaleźli dowodów na wykorzystanie błędu na jakiejkolwiek sieci publicznej.

Sposób, w jaki luka w jednym z kluczowych komponentów księgi pozostawała niewykryta przez około dekadę, pozostaje otwartym pytaniem w debacie wywołanej tym ujawnieniem.