Błąd w kontraktach Bitcoin z blokadą czasową może pozwolić górnikom na okradanie się nawzajem

Błąd w „zablokowanych czasowo” umowach bitcoinowych może pozwolić górnikom na okradanie się - Bitcoin Bug 1024x640W raporcie opublikowanym pod koniec kwietnia inżynier znany pod pseudonimem 0xb10c stwierdził, że ponad milion transakcji zablokowanych czasowo między wrześniem 2019 r. A marcem 2020 r. Nie zostało poprawnie przeprowadzonych w sieci.

Zwiększa to ryzyko potencjalnej formy ataku, w której górnicy mogliby zasadniczo ukraść bitcoiny od innych górników. Błąd dotyczy 10% transakcji zablokowanych czasowo lub 2% cytat Bitcoin w ogóle. Odkrycia raportu rzucają światło na kluczowy obszar badań nad bitcoinami, który ma na celu zapobieganie nadmiernej mocy górników lub oszukiwaniu na różne sposoby.

Jak działa wykryty błąd

Transakcja z blokadą czasową uniemożliwia odbiorcy bitcoina natychmiastowy dostęp do niego, ponieważ musi poczekać, aż sieć doda najpierw pewną liczbę blokad do rejestru rozproszonego.

Ponieważ ładowanie każdego nowego bloku zajmuje około 10 minut, można zaprogramować blokadę czasową, według uznania osoby ją wykonującej, która zostanie wykonana po załadowaniu pewnej liczby bloków w przyszłości.

Ale zły timelocked wykryty przez 0xb10c ma bardziej natychmiastowe działanie. Ustawione na bieżący blok, mają na celu uczynienie „potencjalnie destrukcyjnej strategii wydobywczej zwanej wycinaniem opłat mniej opłacalną”, powiedział 0xb10c.

W przypadku snajperowania opłat niewłaściwy górnik może zastąpić blok, który ktoś inny właśnie sprawdził, w tym konkretną transakcję i potencjalnie inne oczekujące transakcje. Mechanizm timelocka zapobiega włączeniu tych ostatnich, ograniczając łupy akcji i czyniąc taki atak mniej wygodnym.

Ryzyko długoterminowe

„Obecnie niestosowanie blokady czasowej nie ma wpływu na większość transakcji. Za kilka lat, gdy nagrodą bloku będą głównie opłaty transakcyjne, może to prowadzić do opłacalnej obniżki prowizji ”- powiedział 0xb10c.

Dlatego błąd może być bardziej szkodliwy w przyszłości sieci. Ale w tej chwili jest bardzo prawdopodobne, że będzie to kwestia „niskiego priorytetu” dla większości usług portfela, ponieważ nie spowoduje to utraty pieniędzy przez użytkowników ani wpływania na timelocks ustawione w przyszłości, powiedział 0xb10c. Ponadto błąd niekorzystnie wpływa na prywatność użytkownika.

Główny organ zaangażowany w rozprzestrzenianie błędu jest gotowy do znalezienia rozwiązania

Wiele nieprawidłowych transakcji wykrytych przez 0xb10c zostało wykonanych przez jeden znaczący obiekt, którego nie wyznaczył. Inżynier powiedział, że skontaktował się z nim i otrzymał „profesjonalną” odpowiedź, powiedział, znajdując rozwiązanie problemu.

Jednak wdrożenie rozwiązania może zająć trochę czasu. 0xb10c ma nadzieję, że jego badania zwiększą świadomość ryzyka ataków o zerowym koszcie, aby portfele, które nie skonfigurowały poprawnie transakcji z blokadą czasową, mogły to zrobić, dzięki czemu sieć Bitcoin będzie nieco bardziej niezawodna. „Trudno jest znaleźć odpowiednie implementacje, które tworzą te transakcje”, powiedział 0xb10c. „Niektóre z nich mogą nie być open source, co czyni to jeszcze trudniejszym”.