Bug zawiesza bitcoina w Lightning Network na wiele godzin

Późno w niedzielę naukowcy odkryty krytyczny błąd walidacji w LND, popularnej implementacji Bitcoin's Lightning Network wspieranej przez Lightning Labs.

W szczególności implementacja pełnego węzła Bitcoin LND, BTCD, miała błąd jego Wdrożenie Macica. (BTCD to pełna implementacja węzła dla Bitcoin, która jest popularna wśród użytkowników Lightning Network.)

Błąd dotyczy wersji LND 0.15.1 i starszych. LND zachęca wszystkich użytkowników do aktualizacji do wersji 0.15.2.

Błąd LND wpłynął na działanie węzłów Lightning i uniemożliwił użytkownikom LND wyjście z warstwy 2 Lightning Network na sieć główną, warstwę 1 Bitcoin na kilka godzin. Chociaż błąd nie został rozwiązany, użytkownicy LND nie udało się utworzyć lub zamknąć nowych kanałów Lightning.

Masowa transakcja Taproot z wieloma znakami ujawniła błąd

Badacze odkryli błąd LND podczas testowania granic Język skryptowy Bitcoin, język programowania Bitcoin. Chcieli przetestować niezwykle zaawansowany inteligentny kontrakt, który wymagał współuwierzytelnienia przez wiele stron.

Aby wykonać ten test, jeden z badaczy, Burak, stworzony duży 998-z-999 multi-sig Taproot transakcja. Wymagało to 998 podpisów klucza prywatnego do uwierzytelnienia wysyłania bitcoinów — nadzwyczajna liczba współsygnatariuszy.

Aby umieścić tę liczbę 998 w kontekście, weź pod uwagę, że użytkownicy Lightning Network zazwyczaj otwierają kanały, korzystając tylko z transakcji multi-sign 2 z 2.

Transakcja Taproot na 998 z 999 multi-sig była akceptowane przez producentów bloków testnetowych. Transakcja została później wydobyta w bloku Bitcoin w sieci mainnet. Następnie transakcja złamał LND.

Ta transakcja pomyliła metodę używaną przez LND do obliczenia ostatniego bloku Bitcoin. W szczególności LND nie był w stanie przeanalizować nowego bloku z powodu jego wadliwego biblioteka. Następujące wiadomość pojawi się w dziennikach błędów: „Nie można ukończyć ponownego skanowania łańcucha: readScript: element monitorowania skryptu jest większy niż maksymalny dozwolony rozmiar”.

Lightning Labs natychmiast rozpoczął pracę na błąd LND stały, aktualizując bibliotekę parsowania przewodów BTCD i planując wydanie wersji 0.15.2

Czytaj więcej: Płatności offline Bitcoin Lightning wkrótce będą możliwe

Podkreśla potrzebę świadczenia usług strażniczych w ramach wdrożenia krzyżowego

Po procesie rozwiązywania błędów badacze zaczęli wyrażać zapotrzebowanie na usługi strażnicze, które są niezależne od implementacji.

Ten błąd dotyczył tylko LND. LND to popularna implementacja Lightning Network. Inne implementacje to Éclair i Core Lightning.

Strażnice to usługi stron trzecich, które monitorują publicznie dostępną sieć Bitcoin Lightning Network i umożliwiają użytkownikom dochodzenie odszkodowania za niewłaściwe zachowanie. Strażnice mogą monitorować wszystkie implementacje Lightning, aby chronić użytkowników podczas przerw w działaniu dowolnej konkretnej implementacji.

Na przykład, ponieważ większość użytkowników dołącza do Lightning jako transakcję 2 z 2 multi-sig, oni zwykle ufaj jednemu kontrahentowi, aby nie kłamał na temat salda końcowego bitcoinów we wzajemnym posiadaniu podczas zamykania kanału i wychodzenia z sieci na mainnet Bitcoin.

Jeśli ktoś kłamie na temat posiadanego bitcoina podczas próby zamknięcia kanału Lightning, użytkownik, który może udowodnić to kłamstwo, może opublikować kolejne, tzw. Sprawiedliwość Transakcjai biorą 100% bitcoinów na swoim kanale jako nagrodę za złapanie kłamstwa.

Wieża obserwacyjna, która monitoruje wszystkie implementacje (LND, Core Lightning, Éclair itp.) Może chronić użytkownika podczas błędów lub włamań, umożliwiając mu publikowanie transakcji Sprawiedliwości jeśli ktoś próbuje ukraść pieniądze podczas przerw w świadczeniu usług. Istnieje kilka małych, krzyżowych wdrożeń strażniczych, takich jak Oko Satoshi, ale nie są one powszechnie używane.

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/taproot-bug-freezes-bitcoin-inside-lightning-network-for-hours/