Kurs10175

Bitmarket

bitcantor

 

lighting

 

Lighting Netwok to rozwiązanie które może sprawić, że Bitcoin stanie się prawdopodobnie najszybszym i najtańszym systemem płatności na świecie o nieograniczonej wręcz przepustowości.

 

Wszystkie transakcje ułożone w bloki rozproszone na całym świecie to wielki atut Bitcoina, ale jednocześnie ze względu na ograniczenia technologiczne również i jego słabość.

 

W chwili obecnej w sieci Bitcoin ma miejsce kilka transakcji na sekundę. W sieci Visa w szczycie mamy do czynienia nawet z 47000 transakcjami na sekundę. Gdybyśmy mieli podobną ilość transakcji przeprowadzanych bitcoinem, to zwyczajnie nie byłoby szans, żeby każda z tych transakcji dochodziła w rozsądnym czasie do każdego z węzłów sieci. Rozgłaszanie bloków po 7GB każdy co 10 minut technicznie w Bitcoinie nie jest jeszcze możliwe, ze względu na przepustowość łącz, przestrzeń dyskową użytkowników oraz wykorzystanie pamięci RAM.

 

Bitcoin może więc albo pozostać technologią niszową, albo musi nastąpić technologiczny przełom. Tym przełomem ma szansę stać się Lightning Network.

 

Jeśli Lightning Network nie napotka poważnych problemów podczas implementacji i faktycznie będzie działać tak jak obiecują pomysłodawcy, to będzie w stanie obsłużyć nawet miliony transakcji na sekundę! Do tego nie będzie konieczne czekanie na potwierdzenia, a koszt transakcji będzie zbliżony do zera.

 

Podstawą działania sieci Lightning są transakcje, które odbywają się poza głównym łańcuchem bloków. Budzi to zazwyczaj duży sceptycyzm, ale trzeba zdać sobie sprawę, że w jakikolwiek zdecentralizowany system byśmy nie wymyślili przy obecnym zaawansowaniu technologicznym (przepustowość łącz, przestrzeń dyskowa, pamięć RAM ), naprawdę duża przepustowość jest możliwa tylko pod warunkiem, że transakcje nie będą zapisywane w łańcuchu bloków. Nie oznacza to jednak, ze łańcuch bloków nie odgrywa w sieci Lightning istotnej roli. Wręcz przeciwnie - jest gwarantem tego, że transakcje poza blokiem będą prawidłowe.

 

Teoria

 

Użytkownicy Bitcoina łączeni są w pary. Załóżmy, że w taka wirtualną "parę" połączeni zostali Jan i Agata. Wpłacają oni jakąś część swoich bitcoinów na wspólny adres. Ta transakcja trafia do łańcucha bloków tak jak każda inna transakcja. Nie zagłębiając się w techniczne szczegóły, dzięki pewnym kryptograficznym trikom zarówno Jan jak i Agata mają możliwość ponownego dokonania "wypłaty" środków zgromadzonych na tym wspólnym adresie na własne odrębne adresy. Jeśli więc każdy z nich wpłacił po 3 bitcoiny na wspólny adres, to każdy z nich ma również możliwość "wypłaty" swojej części z powrotem na własny adres. Zarówno Jan jak i Agata posiadają odpowiednie lustrzane transakcje, które w każdej chwili mogą rozgłosić w sieci Bitcoin by odzyskać włożone fundusze. Sęk w tym, że nie chcą tego robić, ponieważ wspólny adres założony jest po to, by mogli między sobą dokonywać szybkich i tanich transakcji.

 

Załóżmy teraz, że Jan "wysyła" Agacie 1BTC w sieci Lightning. Odbywa się to nie tylko bez konieczności "dotykania" łańcucha bloków. Mogą to zrobić bezpośrednio między sobą, między własnymi komputerami podłączonymi do siebie, nawet bez konieczności dostępu do Internetu.

 

Jak to możliwe? W gruncie rzeczy ustalają oni miedzy sobą nowy bilans. Dotychczas każdy mógł wypłacić ze wspólnego adresu po 3BTC. Teraz ustalają, że Jan będzie mógł wypłacić 2BTC, a Agata 4BTC. Wymieniają się nowymi transakcjami dzięki którym Jan może wypłacić ze wspólnego adresu 2BTC, a Agata 4BTC. Co istotne te transakcje nie są rozgłaszane w sieci Bitcoin, ale w każdej chwili mogą być. To daje Janowi i Agacie gwarancję, że skoro w każdej chwili mogą wypłacić ze wspólnego adresu odpowiednią ilość BTC, to w zasadzie jest to tak, jakby te bitcoiny posiadali.

 

Stare transakcje (o innym bilansie) staja się nieaktualne a dokładnie mówiąc - wymiana na nowe transakcje powoduje, że użycie starych może być zablokowane przez drugą stronę. Nie wdając się w szczegóły wymiana bitcoinów między Janem a Agatą to po prostu ustalanie nowego bilansu i poprzez kryptograficzne triki - dawanie sobie możliwości zrealizowania tego bilansu, gdy tylko któraś ze stron będzie chciała zerwać współpracę.

 

Przykład działania

 

W jaki sposób osoby dobrane w pary mogą stworzyć sieć i umożliwić transfer bitcoinów pomiędzy osobami, które nie łączą się ze sobą bezpośrednio?

 

Jan i Agata wpłacili część swoich bitcoinów na wspólny adres tak jak to opisano w części pierwszej. Jan i Agata umawiają się bezpośrednio między sobą co do podziału środków ze wspólnego adresu. Zawsze mogą wypłacić bitcoiny na swoje prywatne adresy w proporcjach w jakich się umówili, ale im się to nie opłaca.

 

Jedna osoba może założyć wspólny adres również z kimś innym. Przykładowo Jan może również założyć wspólny adres z Magdą. Mamy więc sytuację w której Jan współdzieli 2 adresy. Jeden z Agatą a drugi z Magdą. Z każdą z tych osób może dokonywać transferu bitcoinów poza łańcuchem bloków tak jak to zostało opisane w części pierwszej.

 

Załóżmy, że wspólne adresy wyglądają następująco:

Wspólny adres Jana i Agaty na którym jest łącznie 4BTC
2BTC - Tyle Jan może wypłacić korzystając z łańcucha bloków
2BTC - Tyle Agata może wypłacić korzystając z łańcucha bloków

Wspólny adres Jana i Magdy na którym jest łącznie 4BTC
2BTC - Tyle Jan może je wypłacić korzystając z łańcucha bloków
2BTC - Tyle Magda może wypłacić korzystając z łańcucha bloków

 

Sytuacja wygląda ciekawie gdy Agata chce przesłać bitcoiny Magdzie. Nie posiada z Magdą wspólnego adresu, ale łączy ich Jan. Jan posiada wspólny adres zarówno z Magdą jak i z Agatą. Oznacza to, że Magda może wysłać bitcoiny do Jana, a Jan może w zamian wysłać bitcoiny do Agaty. Dzięki odpowiednim kryptograficznym trikom takie pośrednictwo jest dla wszystkich bezpieczne.

 

W momencie w którym Agata chce wysłać 1BTC Magdzie, Magda tworzy pewną tajna liczbę R. Nie ujawnia jej nikomu, ale ta liczba umożliwia nowy podział środków na wspólnych adresach.

 

Wspólny adres Jana i Agaty, która chce wysłać 1BTC do Magdy:
2BTC - Tyle Jan może wypłacić korzystając z łańcucha bloków

1BTC - Tyle Agata może wypłacić korzystając z łańcucha bloków

1BTC - Tyle dodatkowo Jan będzie mógł wypłacić z Puli Agaty pod warunkiem że pozna tajną liczbę R utworzoną przez Magdę.

 

Wspólny adres Jana i Magdy na którym jest łącznie 4BTC

1BTC - Tyle Jan może wypłacić korzystając z łańcucha bloków

2BTC - Tyle Magda może wypłacić korzystając z łańcucha bloków

1BTC - Tyle dodatkowo Magda może wypłacić, ale gdy to zrobi ujawni tajną liczbę R.

 

Umowa między Janem a Magdą wygląda teraz tak, że Jan daje Magdzie możliwość wypłaty dodatkowego 1BTC pod warunkiem, że Magda posiad liczbę R. Magda jako jedyna zna tą liczbę. Może więc wypłacić dodatkowy 1BTC od Jana Jeśli jednak zrealizuje tą umowę przy użyciu Blockchaina to z automatu wszyscy poznają liczbę R. Po ujawnieniu liczby R Jan również będzie w stanie zrealizowac umowę między Agatą a więc 1BTC utracone na wspólnym koncie z Magdą może odzyskać na wspólnym koncie a Agatą.

 

Nie ma tu konieczności, aby odwoływać się do łańcucha bloków. Magda może po prostu podać Janowi bezpośrednio liczbę R w zamian za ustalenie nowej umowy na podział środków:

 

Wspólny adres Jana i Magdy na którym jest łącznie 4BTC po tym jak Jan poznał liczbę R

1BTC - Tyle Jan może wypłacić korzystając z łańcucha bloków

3BTC - Tyle Magda może wypłacić korzystając z łańcucha bloków

 

Jan znając liczbę R może zmodyfikować swoją umowę z Agatą:

Wspólny adres Jana i Agaty na którym jest łącznie 4BTC po tym jak Agata poznała liczbę R

3BTC - Tyle Jan może wypłacić korzystając z łańcucha bloków

1BTC - Tyle Agata może wypłacić korzystając z łańcucha bloków

 

Na koniec mamy więc sytuację w której Agata ma o 1BTC mniej, a Magda o 1BTC więcej. Jan, który działał jako pośrednik ma na wspólnym adresie z Magdą o 1BTC mniej, ale za to na wspólnym adresie z Agatą ma o 1BTC więcej. Łącznie ma więc tyle samo.

 

Możemy więc mówić o transferze środków za pośrednictwem Jana. Wszystko to odbyło się bez dotykania łańcucha bloków i było bezpieczne ponieważ na każdym etapie każda ze stron może odwołać się do łańcucha bloków. Sęk w tym, że nie musi i jest to mniej opłacalne niż kooperacja i zawieranie kolejnych umów.

 

Oczywiście pośredników takich jak Jan może być dowolnie wielu a często może prowadzić wiele różnych dróg między Agatą i Magdą. Tych pośredników mogą być tysiące dla każdej transakcji, ale nadal jest to angażowanie w transakcję małego wycinka sieci. To daje sieci Lightning ogromną skalowalność, bo różne transakcje będą przesyłane w tym samym czasie różnymi drogami. Taka skalowalność nie jest jeszcze możliwa do osiągnięcia w przypadku transakcji dokonywanych tradycyjnie w łańcuchu bloków.

 

Pierwsza działająca implementacja Lighting Network - czyli Thunder Network już ujrzała światło dzienne w wersji Alpha. Na oryginalne rozwiązanie Blockstream  (twórcy Lighting Network), sprzężone już z samym Bitcoinem, zapewne poczekamy jeszcze wiele miesięcy.

 

Cezary Dziemian

Fotografia na licencji Creative Commons:Flickr.com

BitBay4

infobtc-1160x653

BitCoin Reklama GiF 380x280