Przewodnik dla pocz膮tkuj膮cych po Lightning Network Bitcoina
Strona G艂贸wna
Artyku艂y
Przewodnik dla pocz膮tkuj膮cych po Lightning Network Bitcoina

Przewodnik dla pocz膮tkuj膮cych po Lightning Network Bitcoina

Pocz膮tkuj膮cy
Opublikowane Nov 28, 2018Zaktualizowane Feb 14, 2023
20m


Spis Tre艣ci


Wprowadzenie

Kryptowaluty maj膮 pewne unikalne w艂a艣ciwo艣ci. Nie mo偶na ich 艂atwo zhakowa膰 ani zamkn膮膰, a ka偶dy mo偶e u偶y膰 ich do przekazania danej warto艣ci na ca艂y 艣wiat bez interwencji strony trzeciej.
Aby upewni膰 si臋, 偶e funkcje te pozostan膮 nienaruszone, nale偶y dokona膰 znacznych kompromis贸w. Poniewa偶 wiele w臋z艂贸w odpowiada za utrzymywanie sieci kryptowalut, przepustowo艣膰 jest ograniczona. W rezultacie liczba transakcji na sekund臋 (TPS), kt贸re mo偶e przetworzy膰 sie膰 blockchain, jest stosunkowo niska jak na technologi臋, kt贸ra ma zosta膰 przyj臋ta przez masy.
Aby pokona膰 nieod艂膮czne ograniczenia technologii blockchain, zaproponowano szereg rozwi膮za艅 skalowalno艣ci w celu zwi臋kszenia liczby transakcji, kt贸re sie膰 mo偶e obs艂u偶y膰. W tym artykule zag艂臋bimy si臋 w Lightning Network, jedno z takich rozszerze艅 protoko艂u Bitcoin.


Co to jest Lightning Network?

Lightning Network to sie膰 "siedz膮ca na" blockchainie, maj膮ca na celu u艂atwienie szybkich transakcji peer-to-peer. Nie dotyczy to wy艂膮cznie Bitcoina - zintegrowa艂y j膮 tak偶e inne kryptowaluty, takie jak Litecoin.
By膰 mo偶e zastanawiasz si臋, co rozumiemy przez 鈥瀞iedz膮ca na blockchainie鈥. Lightning Network to tak zwane rozwi膮zanie off-chain lub warstwa druga. Umo偶liwia osobom przeprowadzanie transakcji bez konieczno艣ci rejestrowania ka偶dej z nich w blockchainie.
Lightning Network jest niezale偶ne od sieci Bitcoina - ma w艂asne w臋z艂y i oprogramowanie, ale mimo to komunikuje si臋 z g艂贸wnym 艂a艅cuchem. Aby wej艣膰 lub wyj艣膰 z Lightning Network, musisz utworzy膰 specjalne transakcje w blockchainie.

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.

Ta mini-ksi臋ga nazywa si臋 kana艂em. Powiedzmy, 偶e Alice i Bob umie艣cili po 5 BTC w smart kontrakcie. Na tym kanale - oboje mieliby teraz saldo 5 BTC. Alice mog艂aby wtedy wpisa膰 do ksi臋gi p艂atno艣膰 1 BTC dla Boba. Teraz Bob ma 6 BTC po swojej stronie, a Alice ma 4. Wtedy Bob mo偶e wys艂a膰 2 BTC z powrotem do Alice w p贸藕niejszym terminie, aktualizuj膮c salda do 6 BTC po stronie Alice i 4 BTC po stronie Boba.

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.

Zgodnie z nazw膮, transakcje Lightning s膮 b艂yskawiczne. Nie trzeba czeka膰 na potwierdzenia blokowe - p艂atno艣ci mo偶na dokonywa膰 tak szybko, jak pozwala na to po艂膮czenie internetowe.


Dlaczego Lightning Network jest potrzebne?

Jak dot膮d Lightning Network (lub po prostu LN) wydaje si臋 najbardziej sensownym podej艣ciem do skalowania blockchaina Bitcoina. Koordynacja zmian w tak rozleg艂ym ekosystemie jest trudna - istnieje ryzyko hard fork贸w i potencjalnie katastrofalnych b艂臋d贸w. Przy tak du偶ej warto艣ci, eksperymentowanie jest niezwykle niebezpieczne.

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艣膰

Bloki Bitcoina s膮 tworzone co oko艂o dziesi臋膰 minut i mog膮 pomie艣ci膰 ograniczon膮 liczb臋 transakcji. Przestrze艅 blokowa jest sko艅czonym zasobem, wi臋c musisz licytowa膰 przeciwko innym u偶ytkownikom, aby w odpowiednim czasie uwzgl臋dniono Twoj膮 transakcj臋. G贸rnicy dbaj膮 przede wszystkim o zarobek, dlatego najpierw uwzgl臋dniaj膮 transakcje z wy偶szymi op艂atami.
Gdy niewielu u偶ytkownik贸w pr贸buje jednocze艣nie wysy艂a膰 艣rodki, nie stanowi to problemu. Mo偶esz ustawi膰 nisk膮 op艂at臋 i prawdopodobnie transakcja zostanie uwzgl臋dniona w nast臋pnym bloku. Natomiast gdy wszystkie transakcje nadawane s膮 jednocze艣nie, 艣rednia op艂ata mo偶e znacznie wzrosn膮膰. Kilkakrotnie przekroczy艂a 5 USD, a w szczytowym okresie hossy w 2017 r. przekroczy艂a nawet 50 USD.


艢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

Istnieje minimalna ilo艣膰 Bitcoin, kt贸r膮 mo偶esz wys艂a膰 w transakcji - oko艂o 0,00000546 BTC. W momencie pisania jest to oko艂o czterech cent贸w. To niewielka ilo艣膰, ale Lightning Network pozwala Ci przesuwa膰 limity, by przeprowadza膰 transakcje z najmniejsz膮 dost臋pn膮 obecnie jednostk膮 - 0,00000001 BTC czyli jednym satoshi.

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艣膰

Kolejny benefit z Lightning Network polega na tym, 偶e mo偶e zaoferowa膰 u偶ytkownikom wysoki stopie艅 poufno艣ci. Strony nie musz膮 podawa膰 swoich kana艂贸w do wiadomo艣ci szerszej sieci. Chocia偶 mo偶esz spojrze膰 na blockchain i powiedzie膰, 偶e ta transakcja otworzy艂a kana艂, niekoniecznie b臋dziesz w stanie powiedzie膰, co si臋 w nim dzieje. Je艣li uczestnicy zdecyduj膮 si臋 ustawi膰 sw贸j kana艂 jako prywatny, tylko oni b臋d膮 wiedzie膰, jakie transakcje maj膮 miejsce.

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

Adres multisignature (lub multisig) to taki, z kt贸rego 艣rodki mo偶e wyda膰 wiele kluczy prywatnych. Tworz膮c takowy, okre艣lasz, ile kluczy prywatnych mo偶e wyda膰 fundusze i ile z tych kluczy jest wymaganych do podpisania transakcji. Na przyk艂ad schemat 1 z 5 oznacza, 偶e pi臋膰 kluczy mo偶e wygenerowa膰 prawid艂owy podpis ale tylko jeden jest potrzebny do potwierdzenia transakcji. Schemat 2 na 3 wskazywa艂by, 偶e spo艣r贸d trzech mo偶liwych kluczy, do wydania 艣rodk贸w potrzebne s膮 dwa dowolne klucze.
Aby zainicjowa膰 kana艂 Lightning, uczestnicy blokuj膮 fundusze w schemacie 2 z 2. Istniej膮 tylko dwa klucze prywatne zdolne do podpisania i oba s膮 potrzebne do przenoszenia monet. Wr贸膰my w tym momencie do naszych przyjaci贸艂 Alice i Boba. W najbli偶szych miesi膮cach b臋d膮 sobie nawzajem p艂aci膰, wi臋c postanowili otworzy膰 kana艂 Lightning Network.

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 鈥瀔ontrakt鈥 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.

Ten mechanizm jest kontraktem Hash Timelock (lub HTLC). Termin ten mo偶e wydawa膰 si臋 zniech臋caj膮cy, ale w rzeczywisto艣ci jest to ca艂kiem prosta koncepcja. 艁膮czy dwie inne technologie (hashlocki i timelocki), aby zaradzi膰 wszelkim niechcianym zachowaniom na kana艂ach p艂atno艣ci.
Hashlock to warunek na艂o偶ony na transakcj臋, kt贸ry zastrzega, 偶e mo偶esz wydawa膰 艣rodki tylko poprzez udowodnienie, 偶e znasz "tajemnic臋". Nadawca hashuje dane i do艂膮cza hash w transakcji do odbiorcy. Jedynym sposobem, w jaki odbiorca mo偶e wyda膰 dane 艣rodki, jest dostarczenie oryginalnych danych (tajnych) pasuj膮cych do hashu. Jedynym sposobem na dostarczenie tych danych jest przekazanie ich przez nadawc臋.
Timelock to stan, kt贸ry uniemo偶liwia wydawanie 艣rodk贸w przed up艂ywem okre艣lonego czasu. Jest okre艣lony albo jako czas rzeczywisty, albo jako okre艣lona wysoko艣膰 bloku.

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.


Pami臋taj, 偶e jedynym sposobem, aby te monety mog艂y wyj艣膰 z multisiga, jest podpisanie transakcji przez Alice i Boba. Gdyby Alice chcia艂a wys艂a膰 wszystkie sze艣膰 monet na zewn臋trzny adres, potrzebowa艂aby zgody Boba. Najpierw przygotowa艂a transakcj臋 (sze艣膰 bitcoin贸w na ten adres) i doda艂a w艂asny podpis.聽

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.


Alice i Bob musz膮 r贸wnie偶 utworzy膰 zestaw transakcji zobowi膮zanych (commitment transactions), zanim opublikuj膮 swoje pierwsze transakcje na adres multisignature. To da im bezpiecze艅stwo na wypadek, gdyby kontrahent postanowi艂 odm贸wi膰 wsp贸艂pracy.

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.

Ta nale偶膮ca do Alice b臋dzie mia艂a dwa wyj艣cia - jedno, kt贸re p艂aci za adres, kt贸rego jest w艂a艣cicielem, a drugie, kt贸re jest zablokowane na nowym adresie multisig. Podpisuje j膮 i daje Bobowi.


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.


Zwykle Alice mo偶e doda膰 podpis do transakcji Boba, aby by艂a wa偶na. Pami臋taj jednak, 偶e fundusze te s膮 wydawane z multisiga 2-z-2, kt贸rych jeszcze nie sfinansowali艣my. To troch臋 jak pr贸ba wydania czeku z konta, kt贸re na razie nie ma salda. Dlatego te cz臋艣ciowo podpisane transakcje b臋d膮 u偶yteczne dopiero po uruchomieniu multisiga.聽

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:

  1. Obie strony mog膮 je wsp贸lnie podpisa膰.
  2. Bob mo偶e wyda膰 je samodzielnie po pewnym czasie (w zwi膮zku z timelockiem).
  3. Alice mo偶e je wyda膰 je艣li zna sekret Boba, Bs.

Dla transakcji Boba przekazanej Alice:

  1. Obie strony mog膮 j膮 wsp贸lnie podpisa膰.
  2. Alice mo偶e wyda膰 je samodzielnie po pewnym czasie (w zwi膮zku z timelockiem).
  3. 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 鈥瀝ozliczy膰鈥 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.

Obie strony mog膮 uzgodni膰 wsp贸lne zamkni臋cie kana艂u (zamkni臋cie kooperacyjne). Jest to prawdopodobnie naj艂atwiejszy i najszybszy spos贸b na powr贸t funduszy do 艂a艅cucha. Jednak nawet je艣li jedna ze stron przestanie odpowiada膰 lub odm贸wi wsp贸艂pracy, druga strona mo偶e nadal odzyska膰 艣rodki, po up艂ywie timelocka.



Szukasz sposobu na rozpocz臋cie swojej przygody z kryptowalutami? Kup Bitcoina na Binance!



Jak Lightning Network zapobiega oszustwom?

Mo偶liwe, 偶e zauwa偶y艂e艣 tutaj mo偶liwo艣膰 ataku. Je艣li Bob ma obecnie saldo 1 BTC, co powstrzyma go przed nadaniem starszej transakcji, w kt贸rej mia艂 wi臋cej? Ma ju偶 podpisan膮 do po艂owy transakcj臋 od Alice, musi tylko doda膰 sw贸j podpis i nada膰 go, prawda?
Nic nie powstrzymuje go przed zrobieniem tego - z wyj膮tkiem faktu, 偶e mo偶e straci膰 ca艂y obecny balans. Powiedzmy, 偶e zrobi i transmituje star膮 transakcj臋, w kt贸rej jedna moneta wyp艂acana jest Alice, a pi臋膰 - na adres multisig, o kt贸rym wspominali艣my wcze艣niej.

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 鈥瀙rzeskokach鈥, 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.

Zamiast tego istnieje koncepcja sald lokalnych i zdalnych. Saldo lokalne to kwota, kt贸r膮 Ty mo偶esz 鈥瀙rzepchn膮膰鈥 na drugi koniec kana艂u, natomiast saldo zdalne to kwota, kt贸r膮 kontrahent mo偶e przepchn膮膰 do Ciebie.
Czas na inny przyk艂ad. Przyjrzyjmy si臋 bli偶ej jednej z powy偶szych 艣cie偶ek: Alice <> Carol <> Frank.


Saldo u偶ytkownik贸w przed i po przeniesieniu 0,3 BTC od Alice do Franka.


Alice <> Carol i Carol <> Frank maj膮 ca艂kowit膮 pojemno艣膰 1 BTC. Saldo lokalne Alice wynosi 0,7 BTC. Gdyby teraz dokonali rozliczenia, Alice otrzyma 0,7 BTC, a Carol otrzyma zdalne saldo (tj. 0,3 BTC). 聽

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.

W tym scenariuszu Alice skutecznie poch艂ania p艂ynno艣膰 Carol. Bez 偶adnej zach臋ty Carol mo偶e nie chcie膰 os艂abi膰 swojej pozycji. Zamiast tego mog艂aby po prostu powiedzie膰 b臋d臋 routowa艂a 0,01 BTC za op艂at膮 dziesi臋ciu satoshi. W ten spos贸b, im wi臋cej bilansu lokalnego Carol po艣wi臋ca na 鈥瀞ilniejszych鈥 艣cie偶kach, tym wi臋cej zyskuje.

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艣膰

Bitcoin nie jest najbardziej intuicyjnym systemem dla pocz膮tkuj膮cych - adresy, op艂aty itp. mog膮 by膰 myl膮ce dla kogo艣 nowego. Portfele mog膮 pokry膰 te skomplikowane rzeczy, aby da膰 u偶ytkownikom co艣, co niejako przypomina istniej膮ce systemy p艂atno艣ci. Mo偶esz poprosi膰 kogo艣 o pobranie portfela na smartfona, wys艂a膰 mu monety i gotowe.

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.

Twoje 艣cie偶ki mog膮 by膰 r贸wnie偶 ograniczone przez ca艂kowit膮 pojemno艣膰 kana艂u. We藕my wcze艣niej przyk艂ad Alice <> Carol <> Frank. Je艣li Alice i Carol maj膮 pojemno艣膰 5 BTC na swoim kanale, ale Carol i Frank maj膮 pojemno艣膰 tylko 1 BTC, Alice nigdy nie mo偶e wys艂a膰 wi臋cej ni偶 1 BTC. Nawet wtedy ca艂y balans musia艂aby by膰 po stronie Carol kana艂u Carol <> Frank, aby to zadzia艂a艂o. Mo偶e to powa偶nie ograniczy膰 ilo艣膰 funduszy, kt贸re mo偶na przekaza膰 kana艂ami LN, a tym samym ma wp艂yw na u偶yteczno艣膰.


Scentralizowane huby

Ze wzgl臋du na problem wspomniany w poprzedniej sekcji, istnieje obawa, 偶e sie膰 u艂atwi tworzenie masowych 鈥瀐ub贸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


Istnieje kilka r贸偶nych implementacji w臋z艂贸w - c-lightning od Blockstream, Lightning Networks Daemon Lightning Labs i Eclair ACINQ s膮 jednymi z najbardziej popularnych. U偶ytkownikom mniej bieg艂ym technicznie wiele firm oferuje w臋z艂y typu plug-and-play. Jedyne, co musisz z tym zrobi膰, to w艂膮czy膰 urz膮dzenie i mo偶esz zacz膮膰 korzysta膰 z Lightning Network.


Przemy艣lenia ko艅cowe

Od momentu uruchomienia w mainnecie w 2018 r., Lightning Network odnotowa艂 imponuj膮cy wzrost, mimo 偶e wielu uwa偶a, 偶e wci膮偶 jest w fazie beta.

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.