Spis Treści
- Wprowadzenie
- Co to jest Lightning Network?
- Dlaczego Lightning Network jest potrzebne?
- Jak działa Lightning Network?
- Ograniczenia Lightning Network
- Obecny stan Lightning Network
- Przemyślenia końcowe
Wprowadzenie
Co to jest Lightning Network?
To, co faktycznie robisz przy pierwszej transakcji, polega na zbudowaniu pewnego rodzaju smart kontraktu z innym użytkownikiem. Wkrótce zajmiemy się szczegółami - na razie pomyślmy o inteligentnej umowie prowadzącej prywatną księgę z drugim użytkownikiem. Do tej księgi możesz wpisać wiele transakcji. Są widoczne tylko dla Ciebie i twojego kontrahenta, ale żaden z was nie może oszukiwać z powodu pewnych specjalnych konfiguracji.
W dowolnym momencie można opublikować bieżący stan kanału do blockchainu. W tym momencie salda po obu stronach kanału są przydzielane odpowiednim stronom w głównej sieci.
Dlaczego Lightning Network jest potrzebne?
Kiedy odsuniesz to eksperymentowanie od blockchaina, zyskasz znacznie większą elastyczność. Jeśli coś pójdzie nie tak, nie będzie to miało wpływu na rzeczywistą sieć. Rozwiązania warstwy drugiej nie podważają żadnych założeń bezpieczeństwa, które utrzymywały protokół przez ponad 10 lat
Nie ma też przymusu zmiany starego sposobu działania. Transakcje sieciowe nadal działają normalnie dla użytkownika końcowego, ale teraz istnieje także opcja przeprowadzania transakcji poza łańcuchem.
Korzystanie z Lightning Network ma kilka zalet. Przyjrzymy się najważniejszym poniżej.
Skalowalność

Średnia opłata za transakcje Bitcoin (w USD)
Może to wydawać się nieistotne w przypadku transakcji przenoszących bitcoiny o wartości tysięcy dolarów, ale w przypadku mniejszych płatności ma to znaczenie. Kto chce zapłacić za kawę o wartości 3 USD z dołączoną opłatą w wysokości 5 USD?
W Lightning Network nadal płacisz dwie opłaty - jedną za otwarcie kanału, a drugą za jego zamknięcie. Ty i twój kontrahent możecie dokonywać tysięcy transakcji za darmo, gdy kanał będzie otwarty. Po zakończeniu wystarczy opublikować końcowy stan w blockchainie.
Na szerszą skalę, jeśli więcej użytkowników będzie polegać na rozwiązaniach off-chain, takich jak Lightning Network, przestrzeń blokowa zostanie efektywniej wykorzystana. Przelewy o niskiej wartości i wysokiej częstotliwości mogą być realizowane w kanałach płatniczych, natomiast przestrzeń blokowa jest wykorzystywana do większych transakcji i otwierania / zamykania kanałów. Dzięki temu system byłby dostępny dla znacznie szerszej bazy użytkowników, umożliwiając skalowanie na dłuższą metę.
Mikropłatności
Lightning jest znacznie bardziej atrakcyjny w przypadku mikropłatności. Opłaty za regularne transakcje sprawiają, że wysyłanie niewielkich kwot do głównego łańcucha jest niepraktyczne. Jednak na osobnym kanale możesz bezpłatnie wysyłać ułamek ułamka bitcoina.
Mikropłatności są odpowiednie dla wielu przypadków. Niektórzy spekulują, że mogą one być realnym zamiennikiem modeli opartych na subskrypcji, w których użytkownicy płacą niewielkie kwoty za każdym razem, gdy korzystają z usługi.
Prywatność
Jeśli Alice ma kanał z Bobem, a Bob ma kanał z Carol, Alice i Carol mogą przesyłać sobie płatności za pośrednictwem Boba. Jeśli Dan jest połączony z Carol, Alice może wysyłać mu płatności. Możesz sobie wyobrazić, jak rozwija się to w rozległą sieć połączonych kanałów płatności. W takiej konfiguracji nie można mieć pewności, do kogo Alice wysłała środki po zamknięciu kanału.
Jak działa Lightning Network?
Wyjaśniliśmy, w jaki sposób sieć Lightning Network opiera się na kanałach między węzłami na wysokim poziomie. Spójrzmy teraz głębiej.
Adresy multisignature
Zaczyna się to od złożenia przez nich obu, powiedzmy, 3 BTC na wspólny adres multisig. Warto powtórzyć, że Bob nie może przenieść środków z adresu bez zgody Alicji lub odwrotnie.
Teraz mogliby po prostu zapisywać wszystko na kartce papieru. Oboje mają saldo początkowe 3 BTC. Jeśli Alice chce zapłacić Bobowi 1 BTC, może po prostu zanotować, że Alice ma teraz 2 BTC, a Bob ma 4 BTC? Salda można śledzić w ten sposób, dopóki nie zdecydują się przenieść środków poza kanał.
To możliwe, ale gdzie jest w tym zabawa? Co ważniejsze, czy to nie sprawia, że ktoś może nie chcieć współpracować? Jeśli Alice skończy z 6 BTC, a Bob nie otrzyma żadnego, Bob nic nie traci, odmawiając uwolnienia funduszy (z wyjątkiem być może jego przyjaźni z Alice).
Kontrakty Hash Timelock (HTLC)
Powyższy system jest nudny i niewiele oferuje w porównaniu z dzisiejszymi znanymi konfiguracjami. Staje się o wiele bardziej interesujący, kiedy wprowadzamy mechanizm, który wymusza „kontrakt” między Alice i Bobem. Jeśli jedna ze stron zdecyduje się nie grać zgodnie z zasadami, wówczas druga strona nadal ma rozwiązanie, aby wyciągnąć fundusze z kanału.
HTLC są tworzone przez połączenie hashlocków i timelocków. W praktyce HTLC mogą być wykorzystywane do tworzenia płatności warunkowych - odbiorca musi podać tajemnicę przed określonym czasem, lub nadawca może odzyskać środki. Prawdopodobnie łatwiej będzie to zrozumieć 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, którą obsługuje adres multisignature, który będą dzielić. Te transakcje nie zostały jeszcze opublikowane w blockchainie! Najpierw musimy zrobić jeszcze jedną rzecz.

Trzy monety od Boba i trzy monety od Alice.
Mogła od razu spróbować wyemitować transakcję, ale byłaby ona nieważna, ponieważ Bob nie dał swojego podpisu. Alice musi najpierw przekazać mu niekompletną transakcję. Po dodaniu podpisu staje się ona ważna.
Nadal nie wprowadziliśmy mechanizmu, który zapewni wszystkim uczciwość. Jak powiedzieliśmy wcześniej, jeśli twój kontrahent odmówi współpracy, twoje fundusze zostaną skutecznie uwięzione. Przejdźmy do mechanizmu, który temu zapobiega. Istnieje kilka zmiennych.
Każda ze stron musi wymyślić sekret - nazwijmy je As i Bs. Wiadomo, że nie byłyby sekretami, gdyby Alice i Bob je ujawnili, więc na razie będą je ukrywać. Para wygeneruje hashe odpowiednich sekretów - h(As) i h(Bs). Zamiast więc dzielić się swoimi sekretami, dzielą się tymi hashami.

Alice i Bob dzielą się ze sobą hashami swoich sekretów.
Jeśli myślisz o kanale jako o mini-księdze, o której wspominaliśmy wcześniej, transakcje zobowiązane to aktualizacje, które wprowadzasz do księgi. Za każdym razem, gdy tworzysz nową parę transakcji zobowiązanych, przywracasz równowagę między dwoma uczestnikami.

Transakcja Alice z dwoma wyjściami - jednym na jej własny adres, a drugim na nowy multisig. Nadal potrzebuje podpisu Boba, aby transakcja była ważna.
Bob robi to samo - jedno wyjście płaci sobie, drugie opłaca inny adres multisig. Podpisuje i daje Alice.

Mamy dwie niekompletne transakcje, które są bardzo podobne.
Nowe adresy multisignature (do których przypisane są 3 wyjścia BTC) mają pewne szczególne właściwości. Rzućmy okiem na niekompletną transakcję, którą Alice podpisała i podarowała Bobowi. Wyjście multisiga można wydać w następujących warunkach:
- Obie strony mogą je wspólnie podpisać.
- Bob może wydać je samodzielnie po pewnym czasie (w związku z timelockiem).
- Alice może je wydać jeśli zna sekret Boba, Bs.
Dla transakcji Boba przekazanej Alice:
- Obie strony mogą ją wspólnie podpisać.
- Alice może wydać je samodzielnie po pewnym czasie (w związku z timelockiem).
- Bob może je wydać jeśli zna sekret Alice, As.
Pamiętaj, że żadna ze stron nie zna tajemnicy drugiej strony, więc 3) odpada. Kolejną rzeczą do odnotowania jest to, że jeśli podpiszesz transakcję, twój kontrahent może natychmiast wydać środki, ponieważ nie ma specjalnych warunków dla jej wyniku. Możesz także poczekać, aż wygaśnie blokada czasowa, aby samodzielnie wydać fundusze, lub możesz współpracować z drugą stroną, aby wydać je od razu.
W porządku! Teraz możesz opublikować transakcje na oryginalny adres multisignature 2-z-2. Jest to w końcu bezpieczne, ponieważ możesz odzyskać środki, jeśli Twój kontrahent nie będzie współpracował.
Po potwierdzeniu transakcji kanał jest gotowy do działania. Ta pierwsza para transakcji pokazuje nam aktualny stan mini-księgi. Obecnie wypłaci 3 BTC Bobowi, a 3 BTC Alice.
Kiedy Alice chce dokonać nowej płatności na rzecz Boba, para tworzy dwie nowe transakcje, aby zastąpić pierwszy zestaw. Zasada jest taka sama - są tylko w połowie podpisane. Jednak Alice i Bob najpierw porzucają swoje stare sekrety i tworzą nowe hashe na następną transakcję.

Na przykład, gdyby Alice chciała zapłacić 1 BTC Bobowi, dwie nowe transakcje przypisałyby 2 BTC Alice i 4 BTC Bobowi. W ten sposób saldo jest aktualizowane.
Każda ze stron może w dowolnym momencie podpisać i wyemitować jedną z najnowszych transakcji, aby „rozliczyć” ją w blockchainie. Ale którakolwiek ze stron to zrobi, będzie musiała poczekać, aż upłynie blokada czasowa, natomiast druga strona może wydać natychmiast. Pamiętaj, że jeśli Bob podpisze i wyemituje transakcję Alice, będzie miał wynik bez żadnych dodatkowych warunków.
Szukasz sposobu na rozpoczęcie swojej przygody z kryptowalutami? Kup Bitcoina na Binance!
Jak Lightning Network zapobiega oszustwom?
Alice natychmiast otrzymuje monetę. Z drugiej strony Bob musi poczekać, aż wygaśnie blokada czasowa, aby wydawać z adresu multisig. Pamiętasz inny wspomniany przez nas warunek, który pozwoliłby Alicji natychmiast wydać te same fundusze? Ona potrzebuje sekretu, którego wtedy nie miała. Teraz ma - gdy tylko powstała druga runda transakcji, Bob zdradził ten sekret.
Podczas gdy Bob siedzi i nie może nic zrobić, czekając na upływ timelocka, Alice może przenieść te fundusze. Ten mechanizm oparty na karach oznacza, że uczestnicy prawdopodobnie nawet nie będą chcieli oszukiwać, ponieważ kontrahenci uzyskają dostęp do swoich monet.
Płatności za Routing
Wspomnieliśmy o tym wcześniej - kanały można połączyć. W innym wypadku, sieć Lightning nie byłaby tak przydatna do dokonywania płatności. Czy naprawdę zamierzasz zamknąć 500 USD na kanale z kawiarnią, aby pokryć codzienne opłaty na następne kilka miesięcy?
Nie musisz tego robić. Jeśli Alice otworzy kanał z Bobem, a Bob ma już kanał z Carol, Bob może przekierowywać płatności między nimi. Może to działać na wielu „przeskokach”, co oznacza, że Alice może skutecznie zapłacić każdemu, do kogo ma pośrednio dostęp.

W tym scenariuszu Alice może wybrać różne "drogi", aby dostać się do Franka. W praktyce zawsze wybierze tą najłatwiejszą.
Za rolę w routingu pośrednicy mogą pobierać niewielką opłatę (choć nie ma takiego obowiązku). Sieć Lightning jest wciąż bardzo nowa, więc rynek opłat jeszcze się nie ustabilizował. Wiele osób spodziewa się zobaczyć opłaty oparte na zapewnionej płynności.
W łańcuchu podstawowym opłata zależy wyłącznie od miejsca, które transakcja zajmuje w bloku - przekazywana wartość nie ma znaczenia - płatności 1 USD i 10 000 000 USD kosztują tyle samo. Natomiast w Lightning Network nie ma czegoś takiego jak przestrzeń blokowa.

Saldo użytkowników przed i po przeniesieniu 0,3 BTC od Alice do Franka.
Jeśli Alice chce wysłać 0,3 BTC do Franka, przesuwa 0,3 BTC na stronę Carol. Następnie Carol wypycha 0,3 BTC ze swojego salda lokalnego na kanale z Frankiem. W rezultacie saldo Carol pozostaje takie samo: +0,3 BTC od Alice i -0,3 BTC dla Franka się niwelują.
Carol nic nie traci, działając jako pośrednik między Frankiem, ale staje się mniej elastyczna. Widzisz, teraz może wydać 0,6 BTC na swoim kanale z Alice, ale tylko 0,1 BTC na kanale z Frankiem.
Możesz sobie wyobrazić sytuację, w której Alice jest podłączona tylko do Carol, podczas gdy Frank jest podłączony do znacznie szerszej sieci. Carol mogła wcześniej wysłać w sumie 0,4 BTC za pośrednictwem Franka, ale teraz może przepchnąć tylko 0,1 BTC, ponieważ to wszystko, co ma na końcu swojego kanału.
Jak wspomniano wcześniej, nie ma de facto wymogu pobierania opłaty. Niektórzy mogą nie martwić się zmniejszeniem płynności. Inni mogą po prostu otworzyć kanały bezpośrednio do odbiorców.
Ograniczenia Lightning Network
Byłoby fantastycznie, gdyby Lightning Network okazał się rozwiązaniem wszystkich problemów ze skalowalnością Bitcoina. Niestety ma swoje wady, które mogą przeszkadzać.
Użyteczność
Na razie nie jest to możliwe dla Lightning Network. Opcje są ograniczone, jeśli chodzi o aplikacje na smartfony - ogólnie, węzły Lightning wymagają dostępu do węzła Bitcoina, aby były w pełni użyteczne.
Po skonfigurowaniu klienta użytkownicy muszą również zacząć otwierać kanały, zanim będą mogli dokonywać płatności. Może to być czasochłonny proces i przytłaczający, gdy nowicjusz zostanie wprowadzony do koncepcji takich jak pojemność wejściowa / wyjściowa.
To powiedziawszy, ciągle wprowadzane są ulepszenia, aby zmniejszyć bariery wejścia i zapewnić użytkownikom bardziej usprawnioną obsługę.
Płynność
Jednym z największych zarzutów Lightning Network jest to, że twoja zdolność do dokonywania transakcji jest ograniczona. Nie możesz wydać więcej niż zablokowałeś na kanale. Jeśli wydasz wszystkie swoje środki tak, że zdalne saldo będzie zawierało wszystkie środki kanału, musisz zamknąć kanał. Możesz też poczekać, aż ktoś ci to zapłaci, ale nie jest to idealne rozwiązanie.
Scentralizowane huby
Ze względu na problem wspomniany w poprzedniej sekcji, istnieje obawa, że sieć ułatwi tworzenie masowych „hubów”. To znaczy duże, silnie powiązane podmioty o dużej płynności. Wszelkie znaczące płatności musiałyby być kierowane przez niektóre z tych podmiotów.
Oczywiście nie byłaby to dobra sytuacja. Osłabiłoby to system, ponieważ podmioty te, przechodząc w tryb offline, poważnie zakłócałyby relacje między peerami. Istnieje również zwiększone ryzyko cenzury, ponieważ istniałoby tylko kilka punktów, przez które przepływają transakcje.
Obecny stan Lightning Network
Na stan z kwietnia 2020 r. Lightning Network wygląda zdrowo. Oferuje ponad 12 000 węzłów online, ponad 30 000 aktywnych kanałów i nieco ponad 920 BTC pojemności.

Globalna dystrybucja węzłów Lightning Network. Źródło: explorer.acinq.co
Przemyślenia końcowe
Nadal istnieją pewne przeszkody do pokonania jeśli chodzi o kwestie użyteczności, ponieważ obecnie wymagany jest pewien poziom wiedzy technicznej i umiejętności obsługi węzła Lightning. Z uwagi na rozwój, z czasem prawdopodobnie zobaczymy zmniejszenie barier wejścia.
Jeśli uda się rozwiązać te problemy, Lightning Network może stać się integralną częścią ekosystemu Bitcoin, znacznie zwiększając skalowalność i szybkość transakcji.