Czy zacinanie kanałów jest zagrożeniem dla błyskawicznej sieci Bitcoin? Analiza danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Czy zacinanie kanałów jest zagrożeniem dla błyskawicznej sieci Bitcoin?

(Specjalne podziękowania dla Antoine’a Riarda i Gleba Naumenko, których ostatnie badania jest podstawą tego artykułu.)

Blokowanie kanałów to jeden z nierozwiązanych problemów sieci Lightning Network, który może zakłócić skuteczność płatności przesyłanych przez tę sieć. Jest to powszechnie znany problem wśród programistów, który był zrozumiany jeszcze zanim sama sieć została uruchomiona w sieci głównej i zaczęła przetwarzać nawet pojedyncze satoshi.

Jak dotąd problem ten nie miał tak naprawdę żadnego negatywnego wpływu na sieć, jednak biorąc pod uwagę ten fakt, należy pamiętać, że sieć jest nadal, ogólnie rzecz biorąc, stosunkowo mała. Zaczęli go wspierać procesorzy handlowi, podobnie jak kilka giełd i wiele natywnych usług i firm Lightning/Bitcoin, ale w rzeczywistości to niewiele. Sieć jest nadal bardzo małą rzeczą, z której korzystają głównie Bitcoinerzy i wcale nie stanowi to bardzo dużej części świata.

Co więcej, liczba Bitcoinerów, którzy regularnie wydają i wykorzystują swoje Bitcoiny w ustawieniach handlowych, stanowi jeszcze mniejszy podzbiór tej i tak już małej grupy. Tylko dlatego, że obecnie możliwe ataki nie mają miejsca, ludzie nie powinni zakładać, że oznacza to, że nie będą one miały miejsca, gdy sieć rozrośnie się na większą skalę. Im będzie większy, tym bardziej będzie konkurencyjny i wrogi.

Co to jest zagłuszanie kanałów?

Podstawowa koncepcja zagłuszania kanałów polega na kierowaniu płatności przez kanał Lightning, który chcesz zablokować od siebie do siebie, a następnie nie finalizowaniu ich poprzez uwolnienie obrazu wstępnego do skrótu płatności w hashowane kontrakty timelock (HTLC). Ofiara (ofiary) nie będzie mogła usunąć filmów HTLC ze swojego kanału do czasu wygaśnięcia blokady czasowej zwrotu pieniędzy, ponieważ nie miałaby możliwości wyegzekwowania swoich roszczeń dotyczących należnych im pieniędzy, gdyby obraz wstępny został udostępniony po jego usunięciu. Jeśli w ten sposób całkowicie zablokujesz kanał, kanał ten nie będzie mógł przekazywać żadnych płatności do czasu wygaśnięcia blokady czasowej dla wszystkich złośliwych płatności.

Aby przeprowadzić atak, można tu zastosować dwie różne strategie. Możesz albo spróbować zablokować dostępną w kanale ilość routingu, albo możesz spróbować zablokować wszystkie pojedyncze sloty HTLC w kanale. Kanał Lightning może mieć tylko 483 oczekujące zapytania HTLC w każdym kierunku, w którym może być przekierowany – dzieje się tak, ponieważ istnieje maksymalny limit wielkości transakcji Bitcoin. Jeśli dodasz więcej niż 483 kody HTLC na kierunek w kanale, transakcja mająca na celu zamknięcie kanału, jeśli zajdzie taka potrzeba, będzie zbyt duża i nie będzie możliwa do przesłania do sieci. To sprawiłoby, że wszystko w kanale byłoby niewykonalne w łańcuchu.

Zatem osoba atakująca może albo spróbować zablokować całą płynność w kanale, albo spróbować zablokować wszystkie sloty HTLC w kanale. Każda strategia sprawi, że kanał będzie bezużyteczny, ale zagłuszanie szczelin będzie generalnie tańsze niż zagłuszanie ilości. Osoba atakująca musi mieć monety w sieci, aby przeprowadzić ten atak, zatem przekierowanie minimalnej dozwolonej wartości dla HTCL o pojemności 483 będzie bardziej opłacalne niż próba zablokowania całej płynności dostępnej w kanale.

Dlaczego ktoś miałby chcieć zagłuszać kanał oświetleniowy?

Istnieje wiele powodów, dla których warto wykonać ten atak. Po pierwsze, złośliwy podmiot chcący zaatakować samego Bitcoina może zablokować wszystkie kluczowe kanały w „rdzeniu” sieci, tak aby większość sieci nie nadawała się do routingu płatności, z wyjątkiem węzłów, które są ze sobą bardzo blisko połączone . Wymagałoby to znacznie większej liczby monet, aby działać na tę skalę, ale nie należy tego lekceważyć jako możliwości, tym bardziej, że Bitcoin rośnie i staje się alternatywą dla objętych sankcjami rządu systemów pieniężnych i płatności.

Po drugie, węzeł trasujący lub sprzedawca może podjąć próbę przeprowadzenia ataku na konkurenta, aby narzucić mu opłaty, w przeciwieństwie do konkurencji. Sprzedawca sprzedający podobne produkty może zablokować kanały konkurencji, uniemożliwiając klientom dokonywanie tam zakupów, w nadziei, że zachęci ich do robienia zakupów w ich sklepie. Węzeł trasujący, który ma podobną łączność kanałową jak inny węzeł, może blokować kanały konkurencyjnego węzła trasującego, uniemożliwiając ich wykorzystanie do routingu płatności. Z biegiem czasu zniszczyłoby to reputację tego węzła pod względem niezawodności routingu, a ze względu na podobną łączność zwiększało prawdopodobieństwo, że portfele użytkowników wybiorą węzeł atakującego w celu przekierowania płatności przez sieć.

Ataki te mogą być jeszcze bardziej efektywne dla atakującego, jeśli wielokrotnie przechodzą okrężnie przez jeden kanał. Jeśli w sieci znajdują się wystarczająco blisko ofiary, mogą utworzyć trasę płatności, która będzie zapętlona i będzie przebiegać przez kanał ofiary. Istnieją ograniczenia co do długości trasy płatności, więc nie można tego robić w nieskończoność, ale wykonanie takiej zapętlonej trasy płatności może drastycznie zmniejszyć ilość monet potrzebnych atakującemu, aby całkowicie zablokować kanały ofiary.

Łagodzenie ataków zakłócających kanał

Można zastosować pewne podstawowe, częściowe środki łagodzące, aby zwiększyć koszty dla atakujących i złagodzić szkody dla ofiar. Pierwszy z nich byłby wieloetapowym procesem obsługi HTLC.

Obecnie każdy HTLC indywidualnie dodaje nowe dane wyjściowe w transakcji zobowiązań dla bieżącego stanu kanału. Proces dwuetapowy mógłby stworzyć pojedynczy dodatkowy wynik w transakcji zobowiązania, a następnie mieć drugą transakcję, po której zostanie dodany rzeczywisty HTLC. Pozwoliłoby to uzyskać maksymalnie 483 pomnożone przez 483 szczeliny HTLC na kanał (lub 233,289 XNUMX szczelin). Jednak samo to tak naprawdę niczego nie naprawia i wymagałoby wydłużenia blokad czasowych, ponieważ dodajesz dodatkową transakcję w celu wymuszenia działania w łańcuchu i mogłoby w rzeczywistości pomóc atakującemu bardziej niż ofierze, gdyby wykorzystała tę nową strukturę transakcji i ofiara nie. Pomoże to jednak w połączeniu z inną techniką, która zostanie wkrótce wyjaśniona.

Druga byłaby strategią reaktywną, w której węzeł, który padł ofiarą zagłuszania, może po prostu otworzyć nowy kanał dla tego samego partnera, co ten, który jest zagłuszany. Wymagałoby to jednak posiadania dodatkowego kapitału, aby to zrobić, nie ustala kosztu alternatywnego w postaci zablokowania drugiego kanału i utraty przychodów z opłat, a nowy kanał również mógłby zostać później zablokowany, jeśli atakujący będzie miał na to dostępny kapitał .

Trzecią techniką byłoby łączenie slotów HTLC. Obecnie dostępnych jest 483 slotów i jest to jeden limit slotowy obowiązujący powszechnie dla wszystkich płatności bez względu na wartość wpłaty. Węzły mogłyby tworzyć oddzielne koszyki z mniejszymi limitami slotów i stosować je do płatności o różnych wartościach, tj. płatności o wartości 100,000 150 sat lub mniejszych mogłyby mieć dostęp tylko do XNUMX slotów. Zatem kierowanie płatności o mniejszej wartości nie może zająć wszystkich dostępnych miejsc HTLC.

Płatności w wysokości od 100,000 1 sat do 300 miliona sat mogą zapewnić dostęp do 1 slotów, a od 10 miliona sat do 483 milionów sats mogą uzyskać dostęp do pełnych 483 slotów. Znacząco podniosłoby to koszt kapitałowy atakującego związanego z zacięciem automatu, ponieważ nie byłby on już w stanie wykorzystać wszystkich 546 automatów za możliwie najmniejszą kwotę. Dodatkowo, ponieważ wyjścia HTLC poniżej progu pyłu (obecnie 0 sat) nie mogą nawet być nadawane i wymuszane w łańcuchu, wszystko poniżej tego limitu może być traktowane jako „wiadro XNUMX”, ponieważ i tak nie jest tworzone żadne wyjście HTLC. Węzły mogą po prostu egzekwować limity na te transakcje w oparciu o wykorzystane zasoby procesora lub inne wskaźniki, aby zapobiec ryzyku odmowy usługi, w zależności od tego, na ile mogą sobie pozwolić na stratę, jeśli nie zostaną rozliczone uczciwie.

Podział przedziałów czasowych w połączeniu z dwuetapową obsługą HTLC można wykorzystać do optymalizacji stosowania limitów HTLC, tj. płatności o wyższej wartości mogą korzystać ze struktury dwuetapowej w celu utworzenia dla nich większej liczby przedziałów czasowych na kanał, ponieważ wyższa wartość płatności zwiększa koszt zagłuszając je atakującemu, zmniejszając prawdopodobieństwo nadużycia wyższego limitu miejsca w celu zagłuszania atakujących.

W cytowanych powyżej badaniach Riard i Naumenko wykazali, że przy optymalnej kombinacji szczelin kubełkowych i dwustopniowego przedłużania szczelin, przyczyna zakleszczenia szczelin może być tak kosztowna, jak zakleszczenie ilościowe. Nie rozwiązałoby to kompleksowo problemu, ale podnosi minimalny koszt przeprowadzenia ataku, jeśli jest szeroko wdrażany przez węzły w sieci.

Dwa kompleksowe rozwiązania, które rozważali, to opłata z góry/opłata za utrzymanie płynności za zablokowanie płynności oraz system reputacji wykorzystujący zaślepione tokeny Chaumian. TLDR systemu opłat polega na tym, że za skierowanie HTLC, którego rozliczenie zajmie dużo czasu, zostanie wpłacona kaucja z tytułu opłaty z góry, a im dłużej pozostanie ona nierozliczona, spowoduje to zwolnienie każdego węzła trasującego z opłaty za kawałek czasu, który upłynął bez rozliczenia. Problem polega na tym, że egzekwowanie tego może prowadzić do konieczności zamykania kanałów, jeśli opłaty nie zostaną przesłane, gdy jest to wymagane, i spowoduje uzasadnione przypadki użycia, które wymagają długich czasów blokowania, aby uiścić tę samą wyższą opłatę, jaką zrobiłby atakujący próbujący zagłuszyć kanał.

Schemat reputacji obejmowałby „obligację udziałową” wykorzystującą dowody wiedzy zerowej w celu udowodnienia kontroli nad Bitcoinem jako obronę Sybil, a następnie wykorzystanie obligacji powiązanej z twoją reputacją w celu zdobycia zaślepionych tokenów Chaumian z węzłów routingu, które zostałyby wykorzystane i ponownie wydane na HTLC pomyślnie osiedlić się w sposób chroniący prywatność. Węzły będą wydawać tokeny raz dla każdej tożsamości, a jeśli HTLC nie zostanie uregulowane lub zwrócone w odpowiednim czasie, węzły mogą odmówić ponownego wystawienia tokena, uniemożliwiając w ten sposób użytkownikowi przekierowanie przez swój węzeł, chyba że poświęci czas i pieniądze na utworzenie nowego obligacja udziałowa z różnymi monetami, która ma zostać wyemitowana w postaci nowego tokena.

Dla tych, którzy chcą przeczytać więcej na temat tych dwóch rozwiązań, więcej informacji można znaleźć w rozdziałach pięć i sześć w badaniach Riarda i Naumenki.

Warto również zauważyć, że gdyby węzły trasujące przyjęły systemy depozytowe stron trzecich lub linie kredytowe oparte na zaufaniu, o czym pisałem tutaj, wszystkie problemy związane z zagłuszaniem kanałów przestaną na nie wpływać. Byłaby to ogromna zmiana w modelu zaufania dla węzłów routingu, ale miałaby zerowy wpływ na osoby korzystające z prawdziwych kanałów Lightning do wysyłania i odbierania sygnału satelitarnego, bezpieczeństwo ich funduszy lub możliwość egzekwowania tego w łańcuchu.

Ludzie mogą nie chcieć tego słyszeć, ale ostatecznie, jeśli powyższe rozwiązania łagodzące zagłuszanie kanałów w przypadku rzeczywistych kanałów nie wystarczą, systemy innych firm zawsze stanowią potencjalną opcję.

To jest gościnny post Shinobi. Wyrażone opinie są całkowicie ich własnymi i niekoniecznie odzwierciedlają opinie BTC Inc lub Bitcoin Magazine.

Znak czasu:

Więcej z Magazyn Bitcoin