Przewodnik po sieci Bitcoin Lightning dla początkujących
Strona Główna
Artykuły
Przewodnik po sieci Bitcoin Lightning dla początkujących

Przewodnik po sieci Bitcoin Lightning dla początkujących

Początkujący
Opublikowane Nov 28, 2018Zaktualizowane May 15, 2024
20m

Najważniejsze informacje

  • Rozwiązania warstwy drugiej zostały stworzone jako odpowiedź na nieodłączne ograniczenia technologii blockchain w zakresie skalowalności.

  • Sieć Lightning to rozwiązanie do skalowania warstwy drugiej, które umożliwia szybkie transakcje bez konieczności potwierdzania bloku, co umożliwia sprawne mikropłatności.

  • Zapewnia bezpieczne i skalowalne płatności za pośrednictwem adresów multisignature (podpis wielokrotny) oraz kontraktów z czasową blokadą hash.

Wprowadzenie

Kryptowaluty mają kilka dosyć wyjątkowych właściwości. Nie da się ich łatwo zhakować ani wyłączyć i każdy może za ich pomocą przesyłać wartość na całym świecie bez ingerencji stron zewnętrznych.

Aby zagwarantować zachowanie tych właściwości, konieczne są istotne kompromisy. Ponieważ za prowadzenie sieci kryptowalutowej odpowiada wiele węzłów, występują ograniczenia przepustowości. W rezultacie liczba transakcji na sekundę (TPS), jaką jest w stanie przetworzyć sieć blockchain, jest stosunkowo niska jak na technologię, która miałaby się masowo upowszechnić.

Aby pokonać nieodłączne ograniczenia technologii blockchain, zostało zaproponowanych kilka rozwiązań w zakresie skalowalności, które mają zwiększyć liczbę transakcji, jaką sieć będzie w stanie obsłużyć. W tym artykule zajmiemy się szczegółowo siecią Lightning, jednym z takich rozszerzeń protokołu Bitcoin.

Czym jest sieć Lightning?

Sieć Lightning to sieć, która działa na sieci blockchain i koordynuje szybkie transakcje peer-to-peer, czyli między punktami równorzędnymi. Nie dotyczy to wyłącznie sieci Bitcoin – została również wdrożona przez inne kryptowaluty.

Być może się zastanawiasz, co to znaczy, że „działa na sieci blockchain”. Sieć Lightning to tzw. rozwiązanie off-chain, czyli rozwiązanie warstwy 2. Umożliwia osobom prywatnym realizację transakcji bez konieczności rejestrowania każdej z nich w sieci blockchain.

Sieć Lightning jest oddzielona od sieci Bitcoin – ma własne węzły i oprogramowanie, ale mimo to komunikuje się z łańcuchem głównym. Aby wejść do sieci Lightning lub z niej wyjść, trzeba utworzyć specjalne transakcje w sieci blockchain.

Tak naprawdę pierwsza transakcja to stworzenie czegoś w rodzaju smart kontraktu z drugim użytkownikiem. Wkrótce przejdziemy do szczegółów – na razie wyobraźmy sobie tylko smart kontrakt, na którym zapisana jest prywatna księga dla nas i drugiego użytkownika. Do tej księgi można wpisać wiele transakcji. Są one widoczne tylko dla nas i naszego kontrahenta, ale żadna ze stron nie może oszukiwać ze względu na pewne szczególne właściwości konfiguracji.

Ta mini-księga to tzw. kanał. Powiedzmy, że Alice i Bob włożyli w smart kontrakt po 5 BTC. Na swoim kanale oboje mają teraz saldo 5 BTC. Alice może wpisać do księgi „zapłać 1 BTC Bobowi”. Teraz Bob będzie mieć po swojej stronie 6 BTC, a Alice 4. Następnie Bob może w późniejszym terminie odesłać 2 BTC Alice i uaktualnić salda do 6 BTC po stronie Alice i 4 BTC po stronie Boba. Mogą tak robić jeszcze przez jakiś czas.

W każdej chwili każde z nich może opublikować aktualny stan kanału w sieci blockchain. Wówczas następuje przypisanie sald po obu stronach kanału odpowiednim stronom w trybie on-chain.

Zgodnie z nazwą transakcje Lightning są błyskawiczne. Nie trzeba czekać na potwierdzenia bloków – płatności można realizować w takim tempie, na jakie pozwala łącze internetowe.

Dlaczego sieć Lightning jest potrzebna?

Jak na razie wszystko wskazuje na to, że Lightning Network (lub po prostu LN) to najrozsądniejsze podejście do skalowania sieci blockchain Bitcoin. Koordynowanie zmian w tak rozległym ekosystemie jest trudne – zachodzi ryzyko hard forków i potencjalnie katastrofalnych błędów. Ponieważ w grę wchodzi tak wielka wartość, eksperymenty są niezwykle niebezpieczne.

Kiedy przeniesiemy te eksperymenty poza sieć blockchain, mamy o wiele większą elastyczność. Jeżeli coś pójdzie nie tak, nie ma to wpływu na prawdziwą sieć Bitcoin. Rozwiązania warstwy drugiej nie podważają żadnego z założeń bezpieczeństwa, które utrzymują protokół od ponad 15 lat.

Nie ma też przymusu zmiany starego sposobu działania. Użytkownik końcowy nadal może normalnie realizować transakcje w trybie on-chain, ale ma teraz również możliwość zawierania transakcji w trybie off-chain.

Korzystanie z sieci Lightning ma kilka zalet. Poniżej przyjrzymy się kilku najważniejszym. 

Skalowalność

Bloki w sieci Bitcoin powstają mniej więcej co dziesięć minut i mieści się w nich tylko określona liczba transakcji. Miejsce w bloku jest zasobem deficytowym, więc trzeba się licytować z innymi użytkownikami o szybkie wpisanie swojej transakcji. Górnikom zależy przede wszystkim na zarobku, więc w pierwszej kolejności wpisują transakcje z wyższymi opłatami.

Kiedy środki próbuje wysłać niewielu użytkowników naraz, nie stanowi to problemu. Można ustawić niską opłatę i transakcja prawdopodobnie zostanie uwzględniona w następnym bloku. Jednak kiedy transakcje rozgłasza jednocześnie zbyt wielu użytkowników, może to prowadzić do znacznego wzrostu średniej opłaty. Wielokrotnie zdarzało się, że przekraczała 10 $. W szczytowym punkcie hossy w 2017 roku przekroczyła 50 $. W kwietniu 2021 r. średnia opłata transakcyjna w sieci Bitcoin przekroczyła 60 $.

Może się to wydawać nieistotne w przypadku realizowania transakcji w bitcoinie na tysiące dolarów, ale w przypadku mniejszych płatności jest to nie do utrzymania. Kto będzie chciał zapłacić za kawę o wartości 3 $, jeżeli opłata transakcję będzie wynosić 10 $?

W przypadku sieci Lightning nadal ponosimy dwie opłaty – jedną za otwarcie kanału, a drugą za jego zamknięcie. Ale po otwarciu kanału z kontrahentem możemy realizować tysiące transakcji za darmo. Po zakończeniu wystarczy opublikować ostateczny stan w sieci blockchain.

W ogólnym rozrachunku jeżeli więcej użytkowników będzie korzystać z rozwiązań off-chain, np. z sieci Lightning, wykorzystanie miejsca w bloku będzie bardziej wydajne. Przelewy o niskiej wartości i wysokiej częstotliwości można będzie realizować w kanałach płatniczych, a miejsce w bloku będzie służyć do większych transakcji oraz do otwierania/zamykania kanałów. Dzięki temu system będzie dostępny dla znacznie szerszej bazy użytkowników, co w dłuższej perspektywie pozwoli na jego skalowanie.

Mikropłatności

Jest pewna minimalna kwota bitcoina, jaką można wysłać w ramach jednej transakcji – około 0,00000546 BTC. W chwili pisania tego tekstu jest to równowartość około 38 centów. Jest to kwota niewielka, ale sieć Lightning daje możliwość przesuwania granic w taki sposób, aby realizować transakcje o wartości najmniejszej obecnie dostępnej jednostki – 0,00000001 BTC, czyli jednego satoshi.

Sieć Lightning jest o wiele bardziej atrakcyjna w przypadku mikropłatności. Z uwagi na opłaty za regularne transakcje wysyłanie niewielkich kwot na łańcuchu głównym jest niepraktyczne. Jednak w obrębie kanału można wysłać ułamek ułamka bitcoina za darmo.

Mikropłatności nadają się do wielu zastosowań. Część osób spekuluje, że mogą być realnym zamiennikiem modeli subskrypcyjnych i użytkownicy będą odprowadzać niewielkie kwoty za każdym razem, kiedy będą korzystać z usługi.

Prywatność

Wtórną zaletą sieci Lightning jest to, że daje użytkownikom wysoki stopień poufności. Strony nie muszą informować o swoich kanałach całej sieci. Chociaż można sprawdzić sieć blockchain i zobaczyć, że dana transakcja otworzyła kanał, niekoniecznie widać, co się na nim dzieje. Jeżeli uczestnicy ustalą, że ustawiają kanał jako prywatny, tylko oni będą wiedzieć, jakie transakcje mają miejsce.

Jeżeli Alice ma kanał z Bobem, a Bob ma kanał z Carol, Alice i Carol mogą sobie wysyłać płatności przez Boba. Jeżeli Dan ma połączenie z Carol, Alice może mu wysyłać płatności. Można sobie wyobrazić rozszerzenie tej koncepcji na rozległą sieć wzajemnie połączonych kanałów płatności. W takiej konfiguracji po zamknięciu kanału nie wiadomo, do kogo Alice wysłała środki.

Jak działa sieć Lightning?

Wyjaśniliśmy, w jaki sposób sieć Lightning działa na kanałach między węzłami na powierzchni. Zajrzyjmy teraz pod maskę.

Adresy multisignature (podpis wielokrotny)

Adres multisignature (czyli multisig) to adres, z którego może realizować wydatkowanie wiele kluczy prywatnych. Tworząc klucze prywatne, określamy, ile kluczy prywatnych może wydawać środki i ile z tych kluczy jest potrzebnych do podpisania transakcji. Np. system 1 z 5 oznacza, że prawidłowy podpis może wygenerować pięć kluczy, a potrzebny jest tylko jeden. System 2 z 3 oznacza, że spośród trzech potencjalnych kluczy do wydatkowania środków potrzebne są dowolne dwa.

Aby zainicjować kanał Lightning, uczestnicy zamrażają środki w systemie 2 z 2. Są tylko dwa klucze prywatne, które mają możliwość podpisywania, i oba są potrzebne do przesyłania monet. Wróćmy teraz do naszych znajomych, Alice i Boba. W najbliższych miesiącach będą realizować wiele płatności wzajemnych, więc postanawiają otworzyć kanał w sieci Lightning.

Na początek oboje wpłacają – powiedzmy – po 3 BTC na wspólny adres multisig. Warto jeszcze raz podkreślić, że Bob nie może przenieść środków z adresu bez zgody Alice ani odwrotnie. 

Teraz mogą po prostu zapisywać na kartce papieru zmiany sald po obu stronach. Oboje mają saldo początkowe w wysokości 3 BTC. Jeżeli Alice będzie chciała dokonać płatności w wysokości 1 BTC na rzecz Boba, dlaczego po prostu nie zapisze, że Alice ma teraz 2 BTC, a Bob 4 BTC? Mogą rejestrować salda w ten sposób, dopóki nie postanowią przenieść środków.

Można tak robić, ale co w tym fajnego? I – co ważniejsze – czy nie sprzyja to sytuacjom, w których ktoś odmówi współpracy? Jeżeli Alice ostatecznie należy się 6 BTC, a Bobowi nic, Bob nic nie traci, odmawiając wydania środków (może z wyjątkiem znajomości z Alice).

Kontrakty z czasową blokadą hash (HTLC)

Powyższy system jest nudny i nie ma zbyt wiele do zaoferowania w porównaniu z dzisiejszymi konfiguracjami zaufanymi. Robi się o wiele ciekawiej, kiedy wprowadzimy mechanizm, który wymusza tzw. kontrakt między Alice a Bobem. Jeżeli jedna ze stron postanowi grać nie fair, druga wciąż ma możliwość wyciągnięcia środków z kanału.

Ten mechanizm to kontrakt z czasową blokadą hash (lub HTLC). Nazwa może onieśmielać, ale tak naprawdę koncepcję nietrudno zrozumieć. Łączy w sobie dwie inne technologie (blokady hash i blokady czasowe), aby zaradzić wszelkim niekooperacyjnym zachowaniom w kanałach płatności.

Blokada skrótu to warunek nakładany na transakcję, zgodnie z którym środki można wydać dopiero po udowodnieniu, że znamy tajemnicę. Nadawca hashuje dane i dołącza hash, czyli skrót, do transakcji na rzecz odbiorcy. Odbiorca może je wydać tylko poprzez podanie pierwotnych (tajnych) danych, które pasują do skrótu. A dane te może podać tylko jeżeli przekaże je nadawca.

Blokada czasowa to warunek, który uniemożliwia wydanie środków przed upływem określonego czasu. W praktyce podaje się ją jako jednostkę czasu albo określoną wysokość bloku.

Blokady HTLC powstają poprzez połączenie blokad hash i blokad czasowych. W praktyce przy użyciu blokad HTLC można tworzyć płatności warunkowe – odbiorca musi podać tajemnicę przed upływem pewnego czasu, bo inaczej nadawca może z powrotem odebrać środki. Następną część prawdopodobnie lepiej wyjaśnić na przykładzie, więc wróćmy do Alice i Boba.

Otwieranie i zamykanie kanałów

Podaliśmy przykład Alice i Boba, którzy właśnie utworzyli transakcje zasilające adres z wieloma podpisami, który będą wspólnie użytkować. Ale te transakcje nie są jeszcze opublikowane w sieci blockchain! Najpierw musimy jeszcze coś zrobić.

Trzy monety od Boba i trzy monety od Alice.

Trzy monety od Boba i trzy monety od Alice.

Pamiętajmy że te monety mogą opuścić multisig dopiero po wspólnym podpisaniu transakcji przez Alice i Boba. Gdyby Alice chciała wysłać wszystkich sześć monet na adres zewnętrzny, musiałaby mieć zgodę Boba. Najpierw musiałaby przygotować transakcję (sześć bitcoinów na ten adres) i dodać własny podpis.

Mogłaby podjąć próbę rozgłoszenia transakcji od razu, ale byłaby ona nieważna, ponieważ Bob nie złożył podpisu. Alice musi mu najpierw przekazać niedokończoną transakcję. Nabierze ona ważności, kiedy Bob doda swój podpis.

Wciąż jeszcze nie wdrożyliśmy mechanizmu, dzięki któremu wszyscy muszą grać uczciwie. Zgodnie z powyższą wzmianką, jeżeli nasz kontrahent odmówi współpracy, nasze środki są praktycznie rzecz biorąc zablokowane. Przejdźmy do mechanizmu, który temu zapobiega. Jest tu kilka różnych zmiennych, więc trzeba się wykazać cierpliwością.

Każda ze stron musi wymyślić tajemnicę – nazwijmy je A i B. Gdyby Alice i Bob je ujawnili, byłyby to słabe tajemnice, więc ich nie ujawnią. Para generuje skróty swoich tajemnic – s(A) i s(B). W ten sposób zamiast ujawniać sobie tajemnice, przekazują sobie te skróty.

Alice i Bob przekazują sobie nawzajem skróty swoich tajemnic.

Alice i Bob przekazują sobie nawzajem skróty swoich tajemnic.

Alice i Bob muszą również utworzyć kilka transakcji zobowiązujących, zanim opublikują pierwsze transakcje na adresie multisignature (podpis wielokrotny). Da im to środek zaradczy na wypadek, gdyby druga strona postanowiła uciec ze środkami.

Jeżeli wyobrazimy sobie kanał jako wspomnianą wcześniej mini-ledger, transakcje zobowiązujące to uaktualnienia ledgera. Za każdym razem, kiedy tworzymy nową parę transakcji zobowiązujących, na nowo bilansujemy środki między dwoma uczestnikami.

Transakcja Alice będzie miała dwa wyjścia – jedno na adres, którego jest właścicielką, i drugie, które jest zablokowane w nowym adresie multisig. Podpisuje ją i daje Bobowi.

Transakcja Alice ma dwa wyjścia – jedno na jej własny adres i drugie na nowy multisig. Aby była ważna, musi jeszcze uzyskać podpis od Boba.

Transakcja Alice ma dwa wyjścia – jedno na jej własny adres i drugie na nowy multisig. Aby była ważna, musi jeszcze uzyskać podpis od Boba.

Bob robi to samo – jedno wyjście płaci jemu, a drugie innemu adresowi multisig. Podpisuje ją i wręcza Alice.

Mamy dwie niedokończone transakcje, które są bardzo podobne.

Mamy dwie niedokończone transakcje, które są bardzo podobne.

Normalnie Alice mogłaby dodać podpis do transakcji Boba, aby nadać jej ważność. Zauważmy jednak, że środki te są wydawane z multisig typu 2 z 2, który jeszcze nie jest zasilony. To trochę tak, jakby próbować wydać czek z konta, które na razie ma zerowe saldo. Dlatego te częściowo podpisane transakcje będą dostępne dopiero po uruchomieniu multisig. 

Nowe adresy multisignature (które mają przypisane 3 wyjścia BTC) mają pewne szczególne właściwości. Rzućmy okiem na niedokończoną transakcję, którą Alice podpisała i przekazała Bobowi. Wyjście multisig można wydatkować pod następującymi warunkami:

  1. Obie strony mogą dokonać wspólnego podpisu.

  2. Bob może je po pewnym czasie wydać sam (ze względu na naszą blokadę czasową).

  3. Alice może je wydać, jeżeli zna B tajemnicy Boba.

Jeżeli chodzi o transakcję, którą Bob dał Alice:

  1. Obie strony mogą dokonać wspólnego podpisu.

  2. Alice może ją po pewnym czasie sama wydać.

  3. Bob może ją wydać, jeżeli zna A tajemnicy Alice.

Należy pamiętać, że żadna ze stron nie zna tajemnicy drugiej strony, więc warunek 3 nie wchodzi jeszcze w grę. Należy również zwrócić uwagę na to, że jeżeli podpiszemy transakcję, nasz kontrahent może ją natychmiast wydatkować, ponieważ nie ma specjalnych warunków dotyczących jego wyjścia. Możemy albo poczekać na wygaśnięcie blokady czasowej i samodzielnie wydać środki, albo od razu je wydać we współpracy z drugą stroną.

OK! Teraz możemy opublikować transakcje na pierwotny adres multisignature typu 2 z 2. Jest to wreszcie bezpieczne, ponieważ możemy odzyskać środki, jeżeli kontrahent opuści kanał.

Po potwierdzeniu transakcji następuje uruchomienie kanału. Ta pierwsza para transakcji pokazuje nam bieżący stan mini-ledgera. Aktualnie wypłaca 3 BTC Bob i 3 BTC Alice.

Kiedy Alice chce zrealizować nową płatność na rzecz Boba, tworzą dwie nowe transakcje, które zastępują pierwszy zestaw. Zasada jest taka sama – są tylko w połowie podpisane. Jednak Alice i Bob najpierw porzucają swoje stare tajemnice i wymieniają się nowymi skrótami na kolejną rundę transakcji.

Gdyby np. Alice chciała zapłacić 1 BTC Bobowi, te dwie nowe transakcje oznaczałyby przyznanie 2 BTC Alice i 4 BTC Bobowi. W ten sposób następuje uaktualnienie salda.

 Gdyby np. Alice chciała zapłacić 1 BTC Bobowi, te dwie nowe transakcje oznaczałyby przyznanie 2 BTC Alice i 4 BTC Bobowi. W ten sposób następuje uaktualnienie salda.

Każda ze stron może w każdej chwili podpisać i rozgłosić jedną z najnowszych transakcji, aby „rozliczyć” ją w sieci blockchain. Ale niezależnie od tego, która ze stron to zrobi, musi poczekać, aż upłynie blokada czasowa, a druga strona może przystąpić do wydawania od razu. Pamiętaj, że jeżeli Bob podpisze i rozgłosi transakcję Alice, będzie ona miała wyjście bez żadnych warunków.

Obie strony mogą uzgodnić wspólne zamknięcie kanału (zamknięcie kooperacyjne). Jest to prawdopodobnie najłatwiejszy i najszybszy sposób na przywrócenie środków do łańcucha. Jednak nawet jeżeli jedna ze stron przestanie odpowiadać lub odmówi współpracy, druga może i tak odzyskać środki po upływie blokady czasowej.

W jaki sposób sieć Lightning zapobiega oszustwom?

Być może udało się Wam już rozpoznać wektor ataku. Jeżeli Bob ma aktualnie saldo 1 BTC, dlaczego miałby nie rozgłosić starszej transakcji, w której miał więcej? Ma już na wpół podpisaną transakcję od Alice, więc wystarczy, że tylko doda swój podpis i ją rozgłosi, prawda?

Nic nie stoi temu na przeszkodzie – poza tym, że może stracić całe saldo. Powiedzmy, że to zrobi i rozgłosi starą transakcję, w której przekazuje jedną monetę Alice i pięć monet na wspomniany wcześniej adres multisig.

Alice od razu otrzymuje monetę. Natomiast Bob musi poczekać, aż upłynie blokada czasowa, aby wydać środki z adresu multisig. Pamiętacie drugi warunek, o którym wspomnieliśmy, dzięki któremu Alice mogłaby od razu wydać te same środki? Musi mieć tajemnicę, której wtedy nie miała. Teraz już ma – zaraz po stworzeniu drugiej rundy transakcji Bob zdradził tę tajemnicę.

O ile Bob może tylko czekać na koniec blokady czasowej, o tyle Alice może te środki przenieść. Ten mechanizm karny oznacza, że uczestnicy raczej nie będą nawet próbowali oszukiwać, ponieważ kontrahent uzyska dostęp do ich monet.

Przekierowywanie płatności

Wspomnieliśmy o tym wcześniej – kanały można łączyć. Inaczej sieć Lightning nie nadawałaby się tak dobrze do płatności. Naprawdę zamrozilibyście 500 $ na kanale z kawiarnią tylko po to, żeby mieć codzienną dawkę kofeiny na kilka miesięcy?

Nie musicie. Jeżeli Alice otworzy kanał z Bobem, a Bob będzie już mieć kanał z Carol, Bob może przekierowywać płatności między nimi. Może to robić na kilka razy, co oznacza, że Alice może tak naprawdę zapłacić każdemu, do kogo prowadzi ścieżka.

W tym przypadku Alice ma do Franka kilka tras. W praktyce zawsze wybierze najłatwiejszą.

W tym przypadku Alice ma do Franka kilka tras. W praktyce zawsze wybierze najłatwiejszą.

Za przekierowywanie pośrednicy mogą pobierać niewielką opłatę (choć nie ma takiego obowiązku). Sieć Lightning jest jeszcze stosunkowo nowa, więc rynek opłat jeszcze się nie pojawił. Wiele osób przewiduje, że opłaty będą zależne od dostarczanej płynności.

W łańcuchu bazowym opłata zależy wyłącznie od tego, ile miejsca w bloku zajmuje – przesyłana wartość nie ma znaczenia – płatności na kwoty 1 $ i 10 000 000 $ kosztują tyle samo. Natomiast w sieci Lightning nie ma czegoś takiego, jak miejsce w bloku. 

Pojawia się za to koncepcja sald lokalnych i zdalnych. Saldo lokalne to kwota, którą możemy „przepchnąć” na drugą stronę kanału, a saldo zdalne to kwota, jaką nasz kontrahent może przepchnąć do nas.

Czas na kolejny przykład. Przyjrzyjmy się bliżej jednej z powyższych ścieżek: Alice <> Carol <> Frank.

Saldo użytkowników przed przelewem i po przelewie 0,3 BTC od Alice do Franka.

Saldo użytkowników przed przelewem i po przelewie 0,3 BTC od Alice do Franka.

Alice <> Carol i Carol <> Frank mają łącznie 1 BTC pojemności. Saldo lokalne Alice wynosi 0,7 BTC. Gdyby teraz dokonali rozliczenia w sieci blockchain, otrzymałaby 0,7 BTC, a Carol otrzymałaby saldo zdalne (czyli 0,3 BTC).

Jeżeli Alice chce wysłać 0,3 BTC do Franka, przepycha 0,3 BTC na stronę kanału Carol. Wówczas Carol przepycha 0,3 BTC ze swojego salda lokalnego na kanale z Frankiem. W rezultacie saldo Carol pozostaje bez zmian: +0,3 BTC od Alice i -0,3 BTC od Franka nawzajem się znosi.

Carol nie traci wartości z tego powodu, że pełni funkcję łącznika między Alice i Frankiem, ale staje się mniej elastyczna. Może bowiem teraz wydać 0,6 BTC na swoim kanale z Alice, ale tylko 0,1 BTC na kanale z Frankiem.

Można sobie wyobrazić sytuację, że Alice jest połączona tylko z Carol, a Frank jest połączony ze znacznie szerszą siecią. Carol mogła wcześniej przesłać innym osobom łącznie 0,4 BTC za pośrednictwem Franka, a teraz może przepchnąć tylko 0,1 BTC, ponieważ tylko tyle ma po swojej stronie kanału.

W tej sytuacji Alice po prostu zabiera Carol płynność finansową. Możliwe, że bez żadnej zachęty Carol nie będzie chciała sobie osłabić własnej pozycji. Może natomiast po prostu powiedzieć, że każde 0,01 BTC będzie przekierowywać za opłatą w wysokości dziesięciu satoshi. W ten sposób im więcej swoich lokalnych sald Carol poświęca na „silniejsze” trasy, tym więcej zyskuje.

Zgodnie z wcześniejszą wzmianką tak naprawdę nie ma wymogu pobierania opłaty. Niektóre osoby mogą się nie przejmować spadkiem płynności. Inne mogą po prostu otwierać kanały bezpośrednio do odbiorcy.

Ograniczenia sieci Lightning

Byłoby fantastycznie, gdyby się okazało, że sieć Lightning rozwiązuje wszystkie problemy związane z możliwością skalowania sieci Bitcoin. Niestety ma pewne wady, które mogą stanowić przeszkodę. 

Łatwość obsługi

Bitcoin nie jest najbardziej intuicyjnym systemem dla początkujących – przyswojenie koncepcji adresów, opłat itp. bywa trudne. Po skonfigurowaniu klienta Lightning użytkownicy muszą również zacząć otwierać kanały, zanim będą mogli zacząć realizować płatności. Może to być czasochłonne i przytłaczające, kiedy nowicjusz musi się zapoznawać z takimi pojęciami, jak przepustowość na wejściu/wyjściu.

W związku z tym stale pojawiają się ulepszenia, aby zmniejszyć bariery wejścia i zapewnić użytkownikom sprawniejszą obsługę.

Płynność

Jednym z najczęstszych zarzutów pod adresem sieci Lightning jest to, że może ograniczać zdolność do zawierania transakcji. Nie da się wydać więcej, niż kwota zamrożona na kanale. Jeżeli wydamy wszystkie środki i wszystkie środki kanału znajdą się na saldzie zdalnym, trzeba będzie zamknąć kanał. Możemy także poczekać, aż ktoś nam zapłaci za jego pośrednictwem, ale nie jest to rozwiązanie idealne.

Ścieżki może również ograniczać całkowita pojemność kanału. Rozpatrzmy to na wcześniejszym przykładzie Alice <> Carol <> Frank. Jeżeli Alice i Carol mają na swoim kanale 5 BTC pojemności, a Carol i Frank mają tylko 1 BTC pojemności, Alice nigdy nie będzie mogła wysłać więcej niż 1 BTC. Nawet wtedy całe saldo musiałoby być po stronie Carol kanału Carol <> Frank, aby było to możliwe. Może to poważnie ograniczać ilość środków, jakie da się przekazywać kanałami LN, a tym samym mieć pośredni wpływ na łatwość obsługi.

Scentralizowane ośrodki

Ze względu na problem wspomniany w poprzednim punkcie zachodzą pewne obawy, że sieć będzie dążyć do tworzenia ogromnych „ośrodków”. Czyli dużych, silnie powiązanych podmiotów o dużej płynności. Wszelkie ważniejsze płatności będą musiały przepływać przez kilka takich podmiotów.

Oczywiście nie będzie to sytuacja dobra. Osłabi to system, ponieważ przejście tych podmiotów w tryb offline będzie prowadzić do poważnych zakłóceń w relacjach między punktami równorzędnymi. Występuje również większe ryzyko cenzury, ponieważ transakcje przepływają tylko przez kilka punktów.

Bieżący stan sieci Lightning

Jeżeli chodzi o stan na marzec 2024 roku, sieć Lightning wygląda dobrze. Ma ponad 13 000 węzłów w trybie online, ponad 52 000 czynnych kanałów i nieco ponad 4570 BTC pojemności.

Rozkład węzłów sieci Lightning na świecie. Źródło: explorer.acinq.co

Rozkład węzłów sieci Lightning na świecie.

Istnieje kilka różnych implementacji węzłów – wśród przykładów można wymienić np. c-lightning firmy Blockstream, Lightning Network Daemon firmy Lightning Labs i Eclair firmy ACINQ. Użytkownikom, którzy są mniej biegli technicznie, wiele firm oferuje węzły typu plug-and-play. Wystarczy tylko włączyć urządzenie i węzeł jest gotowy do pracy z siecią Lightning.

Wnioski Końcowe

Od czasu uruchomienia mainneta w 2018 roku sieć Lightning odnotowała znaczny wzrost. Nadal są do pokonania pewne przeszkody praktyczne, ponieważ obecnie obsługa węzła Lightning wymaga pewnego stopnia biegłości technicznej. Jednak z uwagi na rozwój bariery wejścia z czasem prawdopodobnie się obniżą.

Dalsza Lektura

Wyłączenie odpowiedzialności: Niniejsza treść jest prezentowana użytkownikowi w stanie jakim jest, wyłącznie w celach ogólnoinformacyjnych i edukacyjnych, bez jakichkolwiek gwarancji ani zapewnień. Nie należy jej interpretować jako porady finansowej, prawnej ani innego rodzaju porady specjalistycznej. Nie ma ona również charakteru zachęty do zakupu jakiegokolwiek konkretnego produktu ani usługi. Użytkownik powinien zasięgnąć własnej porady u odpowiednich zawodowych doradców. Jeżeli artykuł jest napisany przez osobę z zewnątrz, należy pamiętać, że wyrażone poglądy są poglądami tej osoby i nie muszą odzwierciedlać poglądów Akademii Binance. Więcej informacji można znaleźć w naszym pełnym wyłączeniu odpowiedzialności tutaj. Ceny aktywów cyfrowych bywają zmienne. Możliwe, że wartość Twojej inwestycji spadnie lub wzrośnie i nie odzyskasz zainwestowanej kwoty. Ponosisz wyłączną odpowiedzialność za swoje decyzje inwestycyjne, a Akademia Binance nie ponosi odpowiedzialności za ewentualne straty. To nie jest porada z zakresu finansów, prawa ani innej dziedziny. Aby uzyskać więcej informacji, zapoznaj się z naszymi Warunkami Użytkowania i Ostrzeżeniem o Ryzyku.