Zaproponowana w białej księdze z 2016 r. Lightning Network (LN) to rozwiązanie warstwy 2 zbudowane na bazie Bitcoina. LN powstał w odpowiedzi na problemy ze skalowalnością Bitcoina, a mianowicie szybkością i kosztem transakcji Bitcoin.

Obecna teoretyczna maksymalna liczba transakcji na sekundę (TPS) Bitcoina wynosi 10, choć w rzeczywistości waha się od 3 do 7. Porównajmy to z tradycyjnymi procesorami płatniczymi, takimi jak VISA, które obsłużyły średnio 6000 TPS w 2020 r. (na podstawie twierdzeń VISA o 188 miliardach transakcji rocznie rok).

Opłaty transakcyjne Bitcoin mogą się znacznie różnić w zależności od aktualnego zapotrzebowania na korzystanie z sieci. Na przykład 20 kwietnia 2021 r. średnie opłaty transakcyjne przekraczały 50 USD, podczas gdy 9 sierpnia 2021 r. średnia wynosiła około 2,50 USD. W przypadku dużych transakcji, takich jak przelewy bankowe lub przekazy międzynarodowe, prędkość i koszt Bitcoina są porównywalne lub lepsze w stosunku do alternatyw. Jeśli jednak Bitcoin ma służyć do codziennych płatności (tzw. mikrotransakcji, np. filiżanka kawy, benzyna), prędkość transakcji musi wzrosnąć, a koszty transakcji muszą drastycznie spaść.

Sieć Lightning w teorii

Aby zrozumieć, jak działa LN i obecne wyzwania stojące przed LN, musimy porozmawiać o Bitcoinie. Czynnikiem ograniczającym sieć Bitcoin jest to, że każda transakcja musi zostać umieszczona w nowym bloku w łańcuchu. Ponieważ bloki są dodawane do łańcucha mniej więcej co 10 minut, istnieje twarde ograniczenie liczby możliwych transakcji bez znaczącej zmiany protokołu Bitcoin.

Debaty na temat poważnych przeróbek protokołu Bitcoin miały miejsce już wcześniej i zakończyły się „hard forkami”, w szczególności utworzeniem Bitcoin Cash. Lightning Network zamiast tworzyć nowy blockchain, jest rozwiązaniem warstwy 2. Oznacza to, że pozwala na zachowanie protokołu Bitcoin stosunkowo niezmieniony, ale zapewnia korzyści, jakie mogą przynieść większe przeróbki – przynajmniej w teorii.

LN działa poprzez utworzenie kanału płatności pomiędzy dwiema stronami, w którym tylko pierwsza i ostatnia transakcja są umieszczane na blockchainie Bitcoin. Dowolna liczba transakcji pomiędzy pierwszą a ostatnią będzie miała miejsce poza łańcuchem, co oznacza, że ​​transakcje te nie są ograniczone przez protokół Bitcoin.

Aby uruchomić kanał płatności, obie strony muszą zadeklarować kwotę Bitcoin. Ten Bitcoin jest przetrzymywany i nie można go zwolnić, dopóki kanał płatności pozostaje otwarty. Całkowita ilość Bitcoinów, którą można przesłać tym kanałem, to całkowita kwota przekazanych Bitcoinów. Spójrzmy na przykład, który to zilustruje:

Alicja i Bob chcą stworzyć ze sobą kanał płatności. Alicja wpłaca 10 BTC, a Bob 5 BTC w kanał płatności. Transakcja otwierająca zawierająca łącznie 15 BTC Alicji i Boba jest umieszczana na łańcuchu bloków Bitcoin. Po dodaniu tej transakcji do łańcucha bloków, co może zająć 10 minut lub dłużej, Alicja i Bob mogą przeprowadzać transakcje nieograniczoną liczbę razy ze znacznie większą szybkością i efektywnie zerowymi kosztami. Poniżej znajdują się transakcje pomiędzy Alicją i Bobem:

  1. Alicja wysyła Bobowi 1 BTC Alicja: 9 BTC Bob: 6 BTC

  2. Alicja wysyła Bobowi 2 BTC Alicja: 7 BTC Bob: 8 BTC

  3. Bob wysyła Alicji 3 BTC Alicja: 10 BTC Bob: 5 BTC

  4. Bob wysyła Alicji 1 BTC Alicja: 11 BTC Bob: 4 BTC

Kiedy jedno lub oboje chcą zamknąć kanał, do łańcucha bloków wysyłana jest transakcja zamykająca z saldem końcowym Alicji i Boba. W tym przypadku saldo końcowe Alicji wynosi 11 BTC, a saldo Boba wynosi 4 BTC.

A co jeśli Alicja będzie chciała przeprowadzić transakcję z Carol? Cóż, tak się składa, że ​​Bob ma kanał płatności z Carol, więc Alicja dokonuje transakcji z Bobem, a Bob przekazuje transakcję Carol. Należy pamiętać, że w tym scenariuszu Bob może pobrać niewielką opłatę za przekazanie transakcji. Z biegiem czasu, zgodnie z teorią sześciu stopni separacji, LN pozwala Alicji na przeprowadzanie transakcji z dowolną inną osobą.

Sieć Lightning w praktyce

LN to nowy protokół, będący nadal w fazie testów. W związku z tym stoi przed wieloma wyzwaniami, począwszy od użyteczności po bezpieczeństwo.

Istnieją obawy dotyczące łatwości uruchomienia węzła LN. Aby LN odniósł sukces, wymaga solidnej sieci węzłów Bitcoin obsługujących protokół LN. Uruchomienie węzła LN może być dość trudne i może się zdarzyć, że wystąpią problemy z zachętami do płatności za prowadzenie mniejszych węzłów. Można jednak argumentować, że uruchomienie LN nie jest dużo trudniejsze niż uruchomienie pełnego węzła Bitcoin. Ponieważ jednak LN jest nastawiony głównie na mikrotransakcje, codzienne korzystanie z LN będzie odbywać się za pośrednictwem portfeli obsługujących LN. Portfele obsługujące LN nie są zbyt przyjazne dla użytkownika i większość z nich ostrzega, że ​​ponieważ wciąż znajdują się one na etapie publicznych testów, zaleca się nie wpłacać zbyt dużych środków. W przeciwieństwie do niektórych bardziej znanych portfeli Bitcoin, nowość tych portfeli z obsługą LN oznacza, że ​​istnieją kompromisy między wersjami przechowującymi i niezabezpieczonymi. Portfele LN bez depozytu są nieco trudne w użyciu – bardziej zagmatwane i mniej proste. Opcje depozytowe są łatwiejsze w użyciu, ale w przypadku Bitcoinów musisz polegać na stronie trzeciej.

I wreszcie, co najbardziej niepokojące, LN napotkał szereg luk w zabezpieczeniach. Obejmują one:

  • Ataki typu Griefing: Fundusze nie są tracone, ale powodują zamrożenie funduszy Lightning ofiary, tak że kanał płatniczy nie może przetworzyć żadnych transakcji.

  • Powódź i łup: osoba atakująca zmusza wiele ofiar do jednoczesnego odebrania środków z blockchainu (powódź). Osoba atakująca wykorzystuje to przeciążenie do kradzieży środków, których nie udało się odebrać przed upływem terminu (łup).

  • Ataki polegające na dylatacji czasu: osoba atakująca wydłuża czas, w którym ofiara dowiaduje się o nowych blokach, opóźniając dostarczenie bloku.

  • Ataki przypinające: osoba atakująca nakłania ofiarę do nieprawidłowego zamknięcia kanału LN i kradnie poszczególne transakcje.