Nowy błąd Bitcoin Lightning Network: nieprzypisane przekierowywanie płatności

Twórcy Bitcoina są Omawiając nowy błąd Lightning Network, który może powodować nieprzypisane błędy routingu płatności. Ten błąd może spowodować niepowodzenie płatności Lightning Network bez wiedzy zaangażowanych stron.

W przeciwieństwie do bitcoina warstwy bazowej, w której tysiące operatorów węzłów weryfikuje transakcje, płatności Lightning mogą obejmować tylko dwie osoby. Użytkownicy celowo poświęcają bezpieczeństwo łańcucha bloków Bitcoina w zamian za szybsze prędkości i niższe opłaty.

W ramach Lightning Network płatności mogą się nie powieść, jeśli coś pójdzie nie tak na dowolnym etapie różnych procesów z wieloma podpisami. Na przykład odbiorca końcowy może odmówić wydania wstępnego obrazu potwierdzającego, że otrzymał płatność lub węzeł Lightning Network może przejść w tryb offline.

Nieprzypisany błąd routingu płatności oznacza, że wydający nie wiedzieliby nawet, co poszło nie tak. Albo komunikat o błędzie został uszkodzony w drodze powrotnej do nadawcy, albo nigdy nie otrzymali wiadomości. Mogą nadal próbować używać wadliwego węzła, nawet nie zdając sobie sprawy, że wystąpił problem.

Jeśli wydający dostaną powiadomienie o tym, co poszło nie tak, mogą spróbować ponownie po wprowadzeniu kilku poprawek, takich jak przejście do innego węzła Lightning Network.

Możliwe rozwiązania niepowodzenia nieprzypisanego routingu płatności

Deweloper Joost Jager przewidział ten problem i zaproponowane rozwiązanie w 2019 r. Zauważył, że kanał płatności może zająć dużo czasu, aby potwierdzić, że transakcja się powiodła. Zalecił dodanie dwóch znaczników czasu do wiadomości, które węzły wysyłają z powrotem do nadawcy transakcji. Jeden znacznik czasu będzie reprezentował czas, w którym węzeł odebrał transakcję, a drugi znacznik czasu, kiedy węzeł przekazał transakcję do następnego zatrzymania. Oba sygnatury czasowe dać nadawcom wyobrażenie o tym, które kanały wolno przekazują transakcje i unikaj tych kanałów w przyszłości.

19 października 2022 r. Jager napisali zaktualizowaną wersję jego poprawki do nieprzypisanego routingu płatności, która poprawiłaby komunikaty o błędach, tak aby nie wyglądały na bełkot nadawcy. Ulepszone komunikaty pozwolą nadawcom zidentyfikować dokładny węzeł, który spowodował niepowodzenie ich transakcji, aby mogli wykluczyć go z przyszłych transakcji.

Rusty Russell zasugerował alternatywa: każdemu węzłowi routingu zostanie zapłacona jedna sesja, nawet jeśli transakcja się nie powiedzie. Nadawcy mogli stwierdzić, który węzeł routingu zawiódł porównanie liczby wysłanych satoshi z liczbą satoshi, które otrzymali z powrotem. Ta technika liczenia satoshi zadziała nawet, jeśli komunikat o błędzie zostanie uszkodzony. (Uwaga: jedno satoshi równa się stu milionowej części bitcoina.)

Implementacje LND Lightning Network obarczone są błędami

1 listopada 2022, Lightning Labs wydany awaryjna aktualizacja, aby naprawić błąd, który powodował, że węzły LND nie analizowały transakcji, które wymagały wielu danych wejściowych. Węzły, które nie są aktualizowane, mogą nie zapobiegać zamykaniu kanałów przez złośliwe oprogramowanie po wygaśnięciu blokad czasowych.

Deweloper znany jako „Burak” wywołał błąd z transakcją zawierający komunikat: „Uruchomisz CLN [Core Lightning] i będziesz szczęśliwy”.

Burak z powodzeniem zaatakował LND Lightning. Dwa razy.

Burak wywołał podobny błąd 9 października 2022 r., kiedy anonimowy programista wysłał transakcję multisig na 998 z 999. Ten typ transakcji wymagałby 998 podpisów klucza prywatnego do uwierzytelnienia, co utrudniałoby pomyślne przeforsowanie transakcji. On przechwalali się o zrobienie tego za 4.90 USD opłaty.

Czytaj więcej: Bug zawiesza bitcoina w Lightning Network na wiele godzin

Użytkownik Twittera Stadicus nazywa ataki „dzikiego obalenia” i zasugerował uruchomienie programu bug bounty.

Haker o imieniu Anthony Towns twierdził, próbował ostrzec programistów Lightning Network o błędzie, ale mówi, że repozytorium btcd wydaje się brakować mechanizmu zgłaszania błędów bezpieczeństwa.

Dwóch programistów Lightning Network zaproponowało możliwe rozwiązania problemu niepowodzenia nieprzypisanego routingu płatności. Ulepszając komunikaty, propozycja Joosta Jagera ułatwiłaby wskazanie, gdzie wystąpił problem. Propozycja Russella byłaby kosztują nadawców kilka dodatkowych satoshi, ale umożliwiają wyśledzenie problemu nawet jeśli wiadomość nie wraca do nadawcy. Tymczasem programiści naprawiają błędy, które mogą powodować awarie węzłów LND.

Aby uzyskać więcej informacji, śledź nas na Twitter i wiadomości Google lub posłuchaj naszego podcastu śledczego Innowacja: Miasto Blockchain.

Źródło: https://protos.com/new-bitcoin-lightning-network-bug-unattributed-payment-routing/