Wprowadzenie do technologii Lightning Network
Bitcoin, jako pierwsza i najpopularniejsza kryptowaluta w historii, wyraźnie oferuje najsilniejsze gwarancje bezpieczeństwa i decentralizacji w porównaniu do alternatywnych blockchainów. Jeśli jednak chodzi o temat jego skalowalności, to nie sposób obejść się bez maksymalnej przestrzeni bloków czy średniego 10-minutowego interwału produkcji bloków w warstwie bazowej, co ogranicza jego przepustowość do około 7 transakcji na sekundę. Stwarza to u wielu użytkowników obawy, czy przy stopniowej globalnej adopcji i wzroście bazy użytkowników, Bitcoin może być wystarczająco skalowalny, aby zaspokoić potrzeby milionów użytkowników na całym świecie.
Z czasem, wraz z rozwojem ekosystemu Bitcoina, zaczęły pojawiać się różne innowacje technologiczne, które skupiały się właśnie na rozwiązaniu problemu skalowalności Bitcoina. Jedną z nich jest bardzo popularna Lightning Network, rozwiązanie skalowania drugiej warstwy zbudowane na szczycie sieci Bitcoin. Jak powstała Lightning Network i jak działa?
Pojawienie się sieci Lightning Network
Koncepcja sieci Lightning Network została zaproponowana jeszcze w 2015 roku przez Thaddeusa Dryja i Josepha Poona, którzy opublikowali wspólny whitepaper zatytułowany „The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments”. Dokument opisuje zdecentralizowany protokół zbudowany na szczycie Bitcoina, który jest zbudowany na zasadzie kanałów płatności i może przetwarzać transakcje off-chain między użytkownikami w sieci.
W 2016 roku Dryja i Poon założyli Lightning Labs, firmę zajmującą się rozwojem Lightning Network. Pomimo rotacji w członkach zespołu w czasie, deweloperzy stale pracowali nad tym, aby protokół był kompatybilny z blockchainem Bitcoina. Największy przełom w rozwoju Lightning Network nastąpił wraz z wdrożeniem SegWit w 2017 roku, który wprowadził zwiększenie limitu wielkości bloku poprzez usunięcie danych sygnaturowych, jednocześnie eliminując długotrwały błąd na Bitcoinie znany jako ciągliwość transakcji (transaction malleability).
Po aktywacji soft forka SegWit latem 2017 roku, po długiej walce, zostały otwarte drzwi dla Lightning Network na Bitcoinie. Należy jednak dodać, że Bitcoin nie był pierwszą siecią, na której uruchomiono Lightning Network. Jeszcze w maju 2017 roku pierwsza w historii transakcja Lightning Network została przeprowadzona na blockchainie Litecoin.
W styczniu 2019 r. na portalu społecznościowym Twitter powstała inicjatywa, w której nieznany użytkownik o pseudonimie hodlonaut rozpoczął promocyjny test sieci Lightning, wysyłając 10 000 satoshi (0,00010000 BTC) do innego odbiorcy, przy czym odbiorca powiązał z transakcją dodatkowe 10 000 satoshi (w przybliżeniu 0,35 USD w tamtym czasie) i wysłał je do innego zaufanego odbiorcy. Z czasem inicjatywa, oficjalnie nazwana „Lightning Torch„, trafiła do prominentnych postaci, takich jak założyciel Twittera Jack Dorsey, założyciel Binance Changpeng Zhao i założyciel Litecoin Charlie Lee. Według dostępnych informacji, pochodnia przeszła przez 292 użytkowników w ponad 40 krajach na całym świecie, aż osiągnęła twardy limit 4 390 000 satoshi (0,0439 BTC). Ostatnia wpłata w wyzwaniu poszła jako darowizna dla Bitcoin Venezuela, organizacji non-profit, która ma na celu popularyzację Bitcoina w tym kraju.
Czym jest Lightning Network?
Lightning jest rozwiązaniem skalującym drugiej warstwy, zbudowanym nad siecią Bitcoin, ale także nad innymi sieciami, takimi jak Litecoin. Sieć Lightning jest efektywnie oddzielona od blockchaina, na którym jest zbudowana – posiada własne węzły, własne oprogramowanie, ale nadal komunikuje się z głównym blockchainem.
Model Lightning zbudowany jest na zasadzie kanałów płatniczych peer-to-peer tworzonych pomiędzy różnymi stronami. Istotą sieci Lightning jest to, że tylko otwarcie i zamknięcie kanału wymaga transakcji on-chain, natomiast w okresie pomiędzy otwarciem i zamknięciem kanału wszystkie transakcje realizowane są off-chain, czyli poza głównym blockchainem. Za pośrednictwem kanałów płatności można dokonać nieograniczonej liczby transakcji, które są szybkie, tanie i bezpieczne.
Aby otworzyć kanał płatności, użytkownik musi zablokować w rejestrze określoną ilość bitcoinów. W praktyce polega to na stworzeniu z innym użytkownikiem rodzaju inteligentnego kontraktu, który można sobie wyobrazić jako wzajemnie współdzieloną księgę, do której można wpisać nieograniczoną liczbę transakcji. Transakcje te są widoczne tylko dla użytkownika i jego kontrahenta, a żadna ze stron nie może wpisać do tej księgi nieautoryzowanych transakcji, a więc nie może oszukiwać.
Źródło: Bitpay
Obie strony mogą przekazywać między sobą środki po otwarciu kanału, bez odzwierciedlania tych transakcji na głównym blockchainie. Ponieważ transakcje w ramach sieci Lightning nie muszą być zatwierdzane przez wszystkie węzły w sieci, wykorzystanie Lightning znacznie skraca czas rozliczenia transakcji. Ponadto węzły w ramach sieci są w stanie przekazywać trasy (pośredniczyć) transakcji nawet pomiędzy użytkownikami, którzy nie mają między sobą otwartych kanałów. Dzięki temu Lightning jest wynikiem bardzo wysokiej jakości i szybkiego systemu płatności.
W przypadku, gdy kontrahenci zdecydują się nie zawierać już ze sobą transakcji, mogą podjąć decyzję o zamknięciu kanału płatniczego. Wszystkie informacje związane z tym kanałem są wtedy łączone w jedną transakcję, która jest przesyłana do sieci głównej (np. Bitcoin), gdzie następnie jest rozliczana. Przeprowadzanie transakcji przez Lightning poza siecią główną sprawia, że rozliczenia między kontrahentami są agregowane w jedną tylko transakcję i nie ma potrzeby wykonywania dziesiątek lub setek małych transakcji w sieci głównej, które byłyby droższe, wolniejsze i zajmowałyby ograniczoną przestrzeń bloków.
Przykład z praktyki
Wyobraźmy sobie, że Marek, programista i początkujący przedsiębiorca z Bratysławy, który jest wielkim fanem nowych technologii, codziennie chodzi na lunch do restauracji obok swojego prywatnego biura, która akceptuje płatności Bitcoin. Marek uzgodnił z operatorami restauracji, że otworzy kanał płatności w sieci Lightning, w którym będzie zwracał restauracjom płatności za swoje obiady. Kanał płatniczy w tym przypadku jest adresem wielopodpisowym o schemacie 2-2, co oznacza, że istnieją dwa klucze prywatne do podpisania transakcji pod tym adresem i oba są potrzebne do przekazania środków. Aby otworzyć kanał i restaurację, Marek wysyła część swoich bitcoinów na ten adres, transmitując transakcję finansowania bezpośrednio na blockchainie Bitcoina.
Po otwarciu kanału płatności z restauracją, Marek może dokonywać codziennych płatności za swoje obiady, przy czym płatności odbywają się praktycznie natychmiast i za ułamek opłat transakcyjnych, które zapłaciłby przy tradycyjnej płatności Bitcoin. Otwarty kanał płatności ma swoją własną „księgę”, która rejestruje wszystkie dokonane transakcje, które są poza głównym blockchainem Bitcoin. Żadna z tych transakcji nigdy nie wchodzi w interakcję z Bitcoin blockchain, ale nadal korzystają z jego bezpieczeństwa.
Wraz z rozwojem działalności Marka i zatrudnieniem kilku pracowników, po półtora roku Marek musiał przenieść się do nowych biur, które są jednak oddalone od restauracji o ponad dwa kilometry. Marek uzgodnił więc z restauracją, że zamknie kanał płatności. Kiedy w sieci Lightning Network dochodzi do zamknięcia kanału, wszystkie transakcje, które zostały w nim zawarte, są konsolidowane w jedną transakcję i wysyłane do głównej sieci Bitcoin.
pośrednictwem zwykłych transakcji bitcoinowych przez cały czas pobytu w restauracji. Musiałby jednak za każdą z nich uiszczać opłaty sieciowe, które w niektórych przypadkach mogłyby sięgać wartości kilku dolarów, co wcale nie byłoby efektywne. Mark jest jednak inteligentnym biznesmenem i wie, że dzięki Lightning w ciągu półtora roku zaoszczędził sporo pieniędzy na opłatach transakcyjnych. Zamiast tego ponosił opłatę tylko wtedy, gdy otwierał i zamykał kanał płatności.
ZALOGUJE SIĘ DO FUMBIGłówne zalety Lightning
Lightning jest skalowalny
Sam Bitcoin jest w stanie przetworzyć tylko około 7 transakcji na sekundę. Lightning Network ma na celu rozwiązanie tego ograniczenia poprzez zapewnienie szybkich i tanich transakcji, z przepustowością sieci, która może osiągnąć nawet 1 000 000 transakcji na sekundę.
Lightning jest tani
Opłaty za zwykłe transakcje bitcoinowe mogą być naprawdę drogie, zwłaszcza w okresach dużego popytu. Średnia opłata za transakcję w sieci bitcoin wynosi obecnie około 1,5 USD, co w niektórych przypadkach może być wyższe niż wartość towaru, za który się płaci (na przykład kupno kawy za bitcoin). Lightning zapewnia ekonomiczny sposób dokonywania płatności o dowolnej wielkości. Średnia opłata za transakcję na Lightning wynosi 1 satoshi, czyli około 0,00022 USD. Otwiera to drzwi do dokonywania codziennych mikropłatności za pośrednictwem Bitcoin, czy to za kawę, lunch, czy cokolwiek innego.
Lightning jest wzajemnie połączony
Lightning Network umożliwia użytkownikom interakcję z użytkownikami, z którymi nie mają otwartych kanałów płatności. Jeśli Podmiot A ma otwarty kanał z Podmiotem B, a Podmiot B ma otwarty kanał z Podmiotem C, to Podmiot A może dokonać transakcji z Podmiotem C bez konieczności otwierania nowego kanału płatności..
Lightning jest szybki i prywatny
O ile na Bitcoinie bloki transakcyjne docierają mniej więcej raz na dziesięć minut, a transakcja jest uznawana za ważną po 2-4 potwierdzeniach bloku (20-40 minut), o tyle transakcje w ramach sieci Lightning są rozliczane natychmiast. Jednocześnie transakcje dokonywane w ramach Lightning odbywają się w tzw. kanałach zamiast w publicznym blockchainie Bitcoina, które nie są całkowicie przejrzyste. Lightning pomaga więc w zwiększeniu prywatności transakcji.
Przekierowanie transakcji – wzajemne połączenia
Rozważmy modelową sytuację numer dwa, w której Adam ma otwarty kanał płatności z Beatą, a Beata ma otwarty kanał z Charliem.
Wszystkie trzy wymienione podmioty spotkały się w restauracji na wspólnym firmowym spotkaniu. Adam jednak prawie nie zna Charliego, ponieważ Charlie pracuje w tej samej firmie, ale przyszedł na imprezę jako przedstawiciel oddziału z innego miasta. Charlie postanowił zapłacić rachunek za całe spotkanie, za pomocą Bitcoina.
Adam chce jednak wyrównać rachunki z Charliem za jego kolację i drinki. Ponieważ Adam nie ma prawie żadnego kontaktu z Charliem, nie ma z nim otwartego kanału płatności. Jednocześnie, ponieważ nie przewidują oni interakcji ze sobą w przyszłości, tworzenie wspólnego kanału nie ma dla nich sensu.
Fakt, że Adam i Charlie nie są połączeni, nie wyklucza jednak możliwości wykorzystania Lightninga do wzajemnego rozliczenia się z kolacji. Skoro Adam ma otwarty kanał z Beatą, a Beata z kolei ma otwarty kanał z Charliem, to istnieje możliwość wzajemnych rozliczeń między nimi.
Źródło: ResearchGate
Beata zgadza się pośredniczyć w wypłacie przez Adama 0,001 BTC dla Charliego w zamian za niewielką opłatę routingową w wysokości 100 satoshi. Płatność, która przechodzi przez pośrednika, w praktyce określana jest jako „hop”. W praktyce pojedyncza płatność może przejść przez maksymalnie 20 hopów, ale im mniej hopów tym lepiej – każdy dodatkowy hop domyślnie wiąże się z dodatkowym kosztem przekierowania transakcji.
Potencjalne ryzyka
Płynność
Jednym z najczęściej krytykowanych faktów dotyczących Lightning są ograniczenia w przeprowadzaniu większych transakcji. W praktyce użytkownicy w ramach Lightning mogą wydawać tylko środki, które zablokowali w kanale płatności. Przykładowo, jeśli umieścisz 0,2 BTC w kanale i wydasz je z czasem, Twój kontrahent będzie miał wszystkie środki i pozostanie Ci tylko opcja zamknięcia kanału lub czekania, aż ktoś Ci zapłaci, co nie jest idealnym rozwiązaniem.
Jednym z problemów jest ograniczona pojemność kanału. Jeśli wyobrazimy sobie, że Adam i Beata mają na swoim kanale przepustowość 5 BTC (Adam 3 BTC i Beata 2 BTC), ale Beata i Charlie mają przepustowość tylko 1 BTC ( Beata 0,5 BTC i Charlie 0,5 BTC), to Adam nigdy nie będzie mógł wysłać do Charliego więcej niż 0,5 BTC, ze względu na to, że Beata jest pośrednikiem między Adamem a Charliem.
Centralizacja węzłów
W społeczności istnieją obawy, że z czasem do Lightning Network wejdą duzi gracze z dużym kapitałem, którzy mogą stać się „scentralizowanymi pośrednikami”. Wszelkie płatności o wyższej kwocie musiałyby być kierowane przez nich, ze względu na to, że mają wystarczającą pojemność i płynność do przekierowania transakcji.
Chyba dla wszystkich jest jasne, że nie jest to optymalny scenariusz. Osłabiłby on cały system, ponieważ np. wyłączenie tych węzłów mogłoby znacznie utrudnić lub uniemożliwić dokonywanie płatności w ramach sieci LN.
Status sieci Lightning
Jak podaje bitcoinvisuals.com, w Lightning Network aktywnych jest obecnie ponad 16 tysięcy węzłów. W sumie istnieje aż 76 tysięcy kanałów płatniczych o łącznej pojemności 5390 BTC (120 milionów dolarów). Średnia pojemność jednego kanału wynosi około 6 713 000 satoshi (0,06713 BTC – około 1500 dolarów), a średnia pojemność jednego węzła wynosi około 60 940 000 satoshi (0,6094 BTC – mniej więcej 13 000 dolarów). Każdy węzeł ma średnio 9 otwartych kanałów płatności.
INWESTUJ W FUMBI