Co to Lightning Network?

05.12.2018

Czym jest Lightning Network?

Lightning Network (w skrócie LN), jako koncept zaproponowane zostało w 2015 roku przez Josepha Poona i Thaddeusa Dryja. Głównym powodem stojącym za powołaniem LN było stworzenie protokołu płatności, który może być wykorzystywany poza głównym łańcuchem (ang. off-chain) sieci Bitcoin, co dodatkowo pomoże rozwiązać problem skalowalności. Sama koncepcja LN jednak może być również zastosowana do innych projektów kryptowalut.

Powstanie Lightning Network zostało spowodowane nowo pojawiającymi się oraz istniejącymi już ograniczeniami, z którymi boryka się nie tylko Bitcoin, ale także wiele innych kryptowalut. Obecnie sieć blockchain Bitcoin jest w stanie przetworzyć jedynie od 2 do 7 transakcji na sekundę (ang. TPS). Wraz z rozwojem ekosystemu kryptowalut, przypływem ilości przykładów ich użycia oraz coraz większą liczbą osób przyłączających się do różnych sieci blockchain, liczba transakcji transmitowanych (czyt. dokonywanych) w sieci na pewno wzrośnie. Czym bardziej zatłoczona będzie sieć, tym bardziej obniżona będzie jej wydajność, co znacznie zmniejsza praktyczną użyteczność Bitcoina jako globalnej waluty cyfrowej. LN zostało stworzone, a następnie zaproponowane społeczności kryptowalut (a w głównej mierze Bitcoina), jako próba złagodzenia rosnącego obciążenia sieci blockchain Bitcoin.


Jak działa Lightning Network?

Sieć Lightning składa się z sieci przesyłu działającej poza główną siecią, a która jest zbudowana na fundamentach blockchainu Bitcoina. System LN działa w relacji peer-to-peer (P2P), a jego użyteczność polega na tworzeniu tzw. Dwukierunkowych kanałów płatności (ang. Bidirectional payment channels), za pomocą których użytkownicy mogą w płynny sposób wykonywać transakcje (czyt. transfery) kryptowalut.

Po tym, jak dwie strony zdecydują się na otwarcie kanału płatności, zyskują możliwość dokonywania natychmiastowych transferów pomiędzy swoimi portfelami. Chociaż proces tworzenia nowego kanału płatności wiąże się z wykonaniem transakcji typu "on-chain" (czyt. czyli w ramach głównego łańcucha sieci blockchain Bitcoin), to wszystkie transakcje odbywające się w ramach tego kanału są wykonywane poza siecią i nie wymagają do potwierdzenia algorytmu konsensusu Bitcoina (czyli Proof of Work). Tym samym, po stworzeniu kanału możliwym staje się szybka realizacja transakcji np. za pomocą smart kontraktów oraz przy okazji ponosząc znacznie niższe opłaty i osiągając znacznie wyższy wskaźnik TPS.

Aby otworzyć kanał płatności, obie zaangażowane w niego strony muszą skonfigurować portfel typu multi-signature (czyt. wymagający więcej niż jeden klucz do dokonania transakcji) oraz dodać do niego trochę funduszy. Z środków zgromadzonych w portfelach typu multi-signature można skorzystać tylko wtedy, gdy dostarczone (czyt. użyte) zostaną klucze prywatne obu stron (dwa lub więcej, w zależności od wielkości kanału). Oznacza to, że jedna strona nie może dosłownie “otworzyć portfela” bez zgody drugiej.

Jako przykład, wyobraźmy sobie, że Alicja chce skorzystać z sieci LN w celu dokonania transakcji z wykorzystaniem BTC z Michałem. Zanim transakcja się odbędzie, Alicja i Michał muszą skonfigurować kanał płatności przy użyciu portfela typu multi-signature. Kanał płatności działa jak inteligentna umowa (smart kontrakt), a portfel multi-sig zachowuje się jak skarbiec, w którym zdeponowane są środki przeznaczone do handlu. Dopóki kanał stworzony przez Alicję i Michała istnieje, mogą oni wedle własnego uznania wykonywać dowolną liczbę transakcji poza głównym łańcuchem sieci blockchain..

Po poprawnym przeprowadzeniu każdej transakcji zarówno Alicja, jak i Michał podpisują i aktualizują swoją własną kopię arkusza bilansowego (ang. balance sheet), który zawiera informację na temat ilości Bitcoinów, którą każdy z nich indywidualnie posiada. Kiedy Alicja i Michał wykonają już wszystkie transakcje, jakie chcieli, mogą zamknąć kanał płatności i przekazać ostateczny bilans do sieci blockchain Bitcoin. Smart Kontrakt LN sprawi, że otrzymają oni Bitcoiny, zgodnie z ostatnią dostarczoną przez nich wersją bilansu.

Podsumowując, strony zaangażowane w transakcje w sieci LN zmuszone są do skorzystania z sieci blockchain Bitcoin jedynie dwa razy. Za pierwszym razem, aby otworzyć kanał płatności, a drugim razem aby go zamknąć, co oznacza, że wszystkie inne transakcje odbywające się w ramach stworzonego kanału nie są bezpośrednio powiązane z głównym łańcuchem Bitcoina.

Routing w sieci (trasowanie w sieci)

Co ciekawe, dzięki pośrednictwu wzajemnie połączonych kanałów płatności możliwe jest wysyłanie i odbieranie Bitcoinów nawet jeśli dwie strony transakcji nie mają stworzonego ze sobą bezpośredniego kanału płatności. Oznacza to, że Alicja może wysyłać płatności do Krzysztofa, bez konieczności tworzenia z nim bezpośredniego kanału, o ile istnieje między nimi odpowiednia “trasa” (ang. route), która zawiera odpowiednią ilość środków do wypełnienia transakcji.

Jeśli więc Alicja otwarzy kanał płatności z Michałem, a Michał otworzy kanał płatności z Krzysztofem, to Alicja może przesłać płatność przez Boba do Krzysztofa. Co ważne, smart kontrakt sieci LN zawsze dba o to aby transakcja trasowana była przez możliwie jak najkrótszą ścieżkę w sieci.

 Zalety sieci Lightning

  • Projekt LN pracuje nad rozwiązaniem problemu skalowalności wykraczając poza poza główny łańcuch sieci. Jeśli projekt się powiedzie, swoją obecnością może drastycznie zmniejszyć obciążenie sieci blockchain Bitcoina.

  • Dzięki wykorzystaniu dwukierunkowych kanałów płatności, Lightning Network pozwala na niemal natychmiastowe transakcje.

  • LN może nadawać się do dokonywania tzw. mikropłatności, ponieważ pozwala na transfer wartości tak małych, jak nawet 1 satoshi (0.00000001 BTC). Ponadto, LN umożliwia ziszczenie się idei zautomatyzowanych mikropłatności realizowanych w ramach komunikacji typu Maszyna do Maszyny (ang. Machine to Machine), w której transakcje dokonywane są pomiędzy urządzeniami elektronicznymi bez potrzeby ingerencji człowieka.


Ograniczenia sieci Lightning Network

  • W przeciwieństwie do transakcji dokonywanych w ramach głównej sieci Blokchain Bitcoin, płatności LN nie można zrealizować, jeśli odbiorca jest niedostępny (ang. offline).

  • Uczestnicy sieci mogą być zmuszeni do regularnego monitorowania kanałów płatności w celu zapewnienia bezpieczeństwa swoich funduszy (ryzyko to może zostać zniwelowane przez powstanie usług zajmujących się monitoringiem kanałów).

  • LN nie nadaje się do dużych płatności. Ponieważ sieć składa się z wielu portfeli typu multi-sig (które są w zasadzie wspólnymi portfelami), istnieje duże prawdopodobieństwo, że nie będą miały one wystarczającej ilości środków, aby działać jako pośrednicy przy dużych płatnościach.

  • Otwieranie i zamykanie kanału płatności wiąże się z wykonaniem transakcji w głównej sieci blockchain, co zazwyczaj wiąże się z ręcznym jej dokonaniem i generuje wysokie opłaty transakcyjne.

 

Kiedy sieć LN zostanie uruchomiona?

Jeżeli pod uwagę weźmiemy wersję beta sieci mainnet ogłoszoną przez Lightning Labs, to Lightning Network uruchomione zostało 15 marca 2018 roku. Oficjalna wersja ma dopiero zostać wydana, ponieważ w obecnym kształcie sieć LN nie jest skutecznie zaimplementowana w sieć Bitcoin.

Od momentu wydania wersji beta nastąpił ogromny wzrost liczby węzłów w sieci LN i utworzonych kanałów płatności. Strona P2SH (Grafana) zajmująca się gromadzeniem danych na temat sieci blockchain Bitcoin i prezentowania ich na wykresach w Listopadzie 2018 roku informowała o obecności ponad 12 500 kanałów płatności LN. 

Wspólna praca węzłów i kanałów płatności czyni sieć Lightning interesującym rozwiązaniem problemu skalowalności. Wersja beta przechodzi obecnie wiele eksperymentów i tzw. stress testów, a jej skuteczność nie została jeszcze ostatecznie udowodniona. Niemniej jednak, w Lightning Network drzemie ogromny potencjał w kwestii poprawienia, polepszenia i ubogacenia ekosystemu Bitcoina i kryptowalut jako ogółu.

Loading