Co to jest Lightning Network? Przewodnik dla początkujących

Jeśli kiedykolwiek handlowałeś Bitcoinem, być może musiałeś cierpieć z powodu godzinnych (lub w najgorszym przypadku całodniowych) czasów transakcji. Bitcoin staje się powszechny zaległości rzędu 150 tys. + niepotwierdzone transakcje w momentach dużej liczby transakcji i gdy łączymy to z wygórowanymi opłatami, zastanawiam się, jak kiedykolwiek wykorzystasz to, zapłać za ten pięcioczęściowy posiłek w KFC.

Sieć piorunów jest tutaj, aby w tym pomóc. Ta koncepcja jest pomysłem Thaddeusa Dryji i Josepha Poona, a duet zaprezentował ją za pomocą biały papier w 2015 roku. Jeśli nie lubisz czytać długiej papierowej kredy pełnej technicznego żargonu, przedstawimy Ci to w kategoriach laika.

Co to jest Lightning Network?

Na najbardziej podstawowym poziomie, sieć błyskawicy jest metodą dla użytkowników Bitcoin do wymiany wartości waluty z łańcucha blokowego Bitcoin. Odbywa się to za pomocą kilku złożonych algorytmów, które współdziałają z podstawowym skryptem Bitcoina, i pozwala na błyskawiczne płatności za ułamek opłat transakcyjnych. W związku z tym został przedstawiony jako niezbędne narzędzie skalowalności, którego Bitcoin będzie potrzebował, jeśli chce być realną opcją płatności w przyszłości. Ta praktyka może obejmować międzyłańcuchowe wymiany atomów. Te swapy są w praktyce takie same, z wyjątkiem tego, że mają miejsce między dwiema różnymi walutami / łańcuchami bloków. Omówimy tutaj bardziej szczegółowo zamiany atomowe.

Teraz, gdy omówiliśmy zbyt proste wyjaśnienie, czas na dłuższe.

Lightning Network: jak to działa

Otwarcie kanału płatności dwustronnych

Aby rozpocząć korzystanie z sieci Lightning, musisz skonfigurować kanał płatności. Kanały płatności to droga transakcji, przez którą sieć piorunów przekazuje wartość. Aby go założyć, musisz otworzyć transakcję dla tego kanału bezpośrednio w łańcuchu bloków.

– Ale myślałem, że powiedziałeś, że wszystko to odbywa się poza łańcuchem? Nie martw się – nadal tak jest, ale najpierw musisz powiadomić sieć Bitcoin, że otwierasz transakcję. Gdy to zrobisz, Ty i druga strona, z którą przeprowadzasz transakcje, zachowacie swój własny bilans wymian, których dokonujesz na kanale. Transakcje i zaktualizowane salda kont będą rejestrowane w tej księdze za każdym razem, gdy środki zostaną przeniesione, a po przeprowadzeniu działalności na kanale opublikujesz wynik końcowy w łańcuchu bloków, aby zamknąć konto.

Portfele z wieloma podpisami

„Więc jeśli kanały płatności odbywają się poza łańcuchem, gdzie / jak są zarządzane fundusze, dopóki nie zostaną zapisane w łańcuchu bloków?” Co za dobrze wyglądające pytanie. Aby skorzystać z kanału płatności, obie strony muszą przesłać swoje środki na adres portfela z wieloma podpisami.

Powiedzmy, że Molly i Steve postawili zakłady na wynik Super Bowl. Każdy z nich stawia 1 BTC i chce mieć pewność, że drugi dotrzyma końca umowy, więc zdeponuje oba swoje środki w portfelu z wieloma podpisami. Ten portfel działa jak sejf do depozytów, podczas gdy zestaw kluczy prywatnych do transakcji działa jak kombinacje, które umożliwiają każdej ze stron dostęp do środków. Środki pozostaną zablokowane w portfelu do:

  • Zarówno Molly, jak i Steve podpisują finalizującą transakcję za pomocą tych kluczy prywatnych,
  • jedna ze stron zdecyduje się samodzielnie sfinalizować transakcję, lub
  • upłynął limit czasu i transakcja jest automatycznie przesyłana. Gdy to nastąpi, środki zostaną przeniesione z powrotem do indywidualnych portfeli każdej ze stron.

Aby pomyślnie skonfigurować portfel z wieloma podpisami, zarówno Molly, jak i Steve tworzą wartość (zasadniczo tajny klucz do odblokowania transakcji), której następnie używają do tworzenia skrótu i ​​wysyłania do siebie nawzajem. Zachowaj te informacje – ważne jest, aby później zrozumieć, jak działają transakcje zobowiązujące.


Gdy Molly i Steve zdeponują swoje środki w portfelu z wieloma podpisami, mogą utworzyć tzw otwarta transakcja i transmituj go do łańcucha bloków. Gdy to zostanie wyemitowane, seria plików transakcje zobowiązujące są następnie wykorzystywane do zarządzania funduszami.

Przekazywanie wartości za pomocą transakcji zobowiązujących

Okazuje się, że Molly wygrała zakład, ale jest miła, więc mówi, że Steve jest winien jej tylko 0,5 BTC zamiast 1. Aby zainicjować transfer tego bogactwa, zarówno Molly, jak i Steve zaktualizowali swoje salda na kanale płatności, podpisując zobowiązanie transakcja. Transakcje zobowiązujące dzielą fundusze między obu uczestników zgodnie z ich wzajemną umową – zasadniczo te transakcje działają jak IOU, które zostaną wypłacone po zamknięciu kanału płatności.

Na przykład, aby wymienić wartości, Molly podpisuje transakcję, która wysyła do niej 1,5 BTC i 0,5 BTC na nowy adres portfela z wieloma podpisami. Następnie podpisuje tę transakcję i wysyła jej hash do Steve’a. Z kolei Steve podpisuje transakcję zobowiązującą do odzwierciedlenia transakcji Molly, w której wysyła 0,5 BTC do siebie i 1,5 do innego portfela z wieloma podpisami. Następnie podpisuje to i przesyła kod transakcji do Molly.

Transakcja Lightning Network

Mamy więc a) oryginalne 2 BTC siedzące w portfelu z wieloma podpisami kanału płatności, b). 5 BTC w portfelu z wieloma podpisami płatnymi na konto Steve’a oraz c) 1,5 BTC w portfelu z wieloma podpisami portfel płatny na rzecz Molly. W rzeczywistości, gdy jedna ze stron prześle odpowiednie skróty transakcji, bilans w wielokanałowym podpisie kanału płatności zostanie zaktualizowany, ponieważ obie strony zgodziły się na transfer. Viola, waluty zostały wymienione bez użycia łańcucha blokowego Bitcoin.

Wartości z tych portfeli można odblokować tylko pod trzema warunkami:

  1. upływa określony czas,
  2. każda ze stron odblokowuje środki z portfeli z wieloma podpisami, które skonfigurowała za pomocą wartości portfela (klucz) lub
  3. obie strony decydują się na wspólne podpisanie transakcji.

Ważne jest, aby pamiętać, że jeśli jedna ze stron zdecyduje się zamknąć kanał i samodzielnie podpisać transakcję, będzie musiała poczekać z góry określony czas (podyktowany umową) od momentu podpisania transakcji. otrzymać swoje fundusze. Może się to wydawać przesadne, ale konieczne jest zapobieganie oszukiwaniu za pośrednictwem kanałów płatności – więcej o tym za chwilę.

Płatności cykliczne / Aktualizacja kanału

A jeśli Molly i Steve chcą aktualizować kanał lub dokonywać więcej niż jednej wymiany?

Aby to lepiej zilustrować, powiedzmy, że Steve płacił Molly za powtarzającą się usługę, taką jak strzyżenie. Steve wpłaca 0,2 BTC do ich portfela z wieloma podpisami i za każdym razem, gdy przycina swoje zamki, podpisuje transakcję zobowiązującą do Molly za 0,001 BTC i wysyła ją na nowy adres z wieloma podpisami. Aby to zrobić, musiałby powtórzyć kroki, które właśnie przeszliśmy, bez otwierania transakcji w sieci, ponieważ jest to zakończone do momentu podpisania pierwszej transakcji zobowiązania.

Tak więc, aby przetwarzać płatności cykliczne, salda kont w multi-sig muszą być aktualizowane za każdym razem. Aby to zrobić, za każdym razem, gdy Steve dostał fryzurę, przekazywał nową sumę pieniędzy do portfela z wieloma podpisami, który założył, aby zapłacić Molly. Ale robiąc to, tworzy nową wartość i nowy skrót dla tej nowej transakcji. Molly robi to samo, a gdy obie strony wymieniają nowe skróty, uwzględniają również stare wartości (klucze) z poprzedniej transakcji.

W efekcie zapewnia to, że żadna ze stron nie może oszukiwać drugiej. Jeśli po zamknięciu kanału płatności Steve próbuje oszukać Molly z jej płatności, transmitując starą kwotę transakcji, ma kłopoty.

Na przykład, jeśli Steve jest winien Molly 1 BTC z pierwotnych 2 BTC, które zdeponował, kiedy zamyka kanał, ale podpisze oryginalną transakcję, aby podać sobie oryginalną kwotę, Molly może zadzwonić do niego, ponieważ ma wartości ze wszystkich wcześniejszych transakcji . Co więcej, Steve musi zaczekać, zanim jego transakcja zostanie rozliczona zgodnie z ramami czasowymi uzgodnionymi przez obie strony przed rozpoczęciem działalności, podczas gdy Molly jest natychmiastowa. Tak więc, jeśli zobaczy, że otrzymała 0 BTC za swoje usługi, może wylogować się z 2 BTC w portfelu z wieloma podpisami, ponieważ ma klucz do tej transakcji, a tym samym możliwość odblokowania jego środków.

Tak więc, jeśli jedna strona próbuje oszukać drugą, kontrahentowi przyznaje się wszystkie fundusze strony złośliwej. Ta kara ma na celu zniechęcenie złych aktorów do nadużywania podziału środków w kanale płatności.

Ponadto operatorzy węzłów i górnicy, którzy zauważą tę nieuczciwą grę, mogą działać w imieniu Molly, jeśli nie jest ona online, aby zauważyć oszustwo. W ramach rekompensaty za swoje usługi tym aniołom stróżom przyznawana jest nagroda (opłata) w walucie transakcji.

Zamknięcie kanału płatności

Kiedy Molly i Steve są gotowi do zamknięcia swoich kont, po prostu podpisują transakcję za pomocą swoich kluczy prywatnych, aby przesłać ostateczne saldo konta do łańcucha bloków. W tym momencie górnicy zweryfikują to w zwykły sposób i zapiszą w księdze publicznej. Podobnie jak w przypadku transakcji otwierającej, ta transakcja zamykająca jest jedyną interakcją, jaką każda ze stron będzie miała z łańcuchem bloków Bitcoin.

Alternatywnie, dwie strony mogą również wyznaczyć datę wygaśnięcia na czas trwania umowy. Na przykład, korzystając z algorytmu nLockTime, mogliby otworzyć kanał płatności na 30 dni, po czym kanał zostanie zamknięty, a saldo końcowe zostanie przesłane do łańcucha blokowego. Jednak za każdym razem, gdy strony chcą zaktualizować swoje salda, data wygaśnięcia jest zmniejszana. Tak więc, jeśli Molly i Steve obstawiali zakłady na wiele meczów piłkarskich w ciągu sezonu, za każdym razem, gdy był płacony zakład, umowa nLockTime miałaby nową, skróconą datę wygaśnięcia (np. Gdyby pierwsza transakcja zobowiązania została sfinalizowana za 30 dni, druga transakcja byłaby wypłacana w 29, a trzecia w 28 itd.).

Cel kontraktów nLockTime jest prosty: utrzymuje aktualność sald kont i zapobiega fałszowaniu wyciągu przez jedną ze stron. Tak jak to już robiliśmy wcześniej, za każdym razem, gdy uzgadniana jest transakcja zobowiązująca, stare saldo konta jest zastępowane nowym, a każda zaangażowana strona ma zapisy tego nowego salda, a także starej wartości transakcji (klucz). Jeśli którakolwiek ze stron spróbuje oszukać drugą stronę, oszukańcza strona zostanie ukarana.

Płatności wielokanałowe i kontrakty z blokadą czasową mieszania

„A jeśli Molly i Steve chcą przesłać sobie Bitcoiny, ale nie mają otwartego kanału płatności?” Cóż, mogą przejść przez pośrednika. Zadzwonimy do tego gościa Chuck – przywitamy się z Chuckiem.

Okazuje się, że Molly i Steve mają otwarte kanały płatności z Chuckiem, więc zamiast otwierać nowy kanał, decydują się nam na swoje dwukierunkowe kanały płatności, aby handlować za pośrednictwem Chucka.

Teoretycznie jest to zaufana transakcja, więc sztuczka polega na ułatwieniu wymiany w bezpieczny sposób. Aby to zrobić, Lightning Network implementuje kontrakty z blokadą czasu mieszania (HTLC).

Lightning Network Payment Channel z HTLC

Powiedzmy, że Molly chce dać Steve’owi 0,5 BTC, ponieważ jest taka miła – serio, co za brzoskwinia. Aby to zrobić, Steve musi utworzyć ciąg liczb kryptograficznych zwany wartością (zasadniczo kod potwierdzający lub klucz). Następnie tworzy skrót o tej wartości, aby wysłać go do Molly. Aby uprościć tę pisemną ilustrację, będziemy przedstawiać wartość za pomocą V, a hash za pomocą H..

Kiedy Molly otrzymuje H, dzieli się nim z Chuckiem. W tym momencie Molly wyśle ​​Chuckowi 0,5 BTC tylko wtedy, gdy ujawni V.Aby otrzymać V, Chuck wysyła 0,5 swojego własnego BTC do Steve’a w zamian za V. Gdy już ma ten numer, wysyła V do Molly, która następnie wysyła 0,5 BTC do Chucka. I masz to – Molly skutecznie przekazała Steve’owi 0,5 BTC.

Jeśli się zgubiłeś, oto jak poszło:

Steve tworzy V i H → Steve wysyła H do Molly → Molly wysyła H do Chucka → Chuck wysyła BTC do Steve’a → Steve wysyła V do Chucka → Chuck wysyła V do Molly → Molly wysyła BTC do Chucka

Zatem wartość (V) służy jako kod / klucz potwierdzający dla skrótu (H), który reprezentuje pokwitowanie / blokadę transakcji.

„To wszystko w porządku i eleganckie, ale skąd Molly wie, że wartość, którą wysyła jej Chuck, jest legalna i co powstrzymuje Steve’a przed ucieczką z BTC? Chuck mu płaci?”

Znowu dobre pytania. Tak jak nLockTime zapewnia wszystkim uczciwość w dwukierunkowym kanale płatności, tak i kontrakty Hash Time Locked zapewniają odpowiedzialność stron w tym modelu.

Dzięki HTLC fundusze Bitcoin, które są przedmiotem transakcji, są ponownie blokowane w portfelu z wieloma podpisami i można je odblokować tylko a) po przedstawieniu wartości (V) i hash (H) lub b) po wygaśnięciu umowy.

W efekcie oznacza to, że kiedy Molly i Chuck zawierają umowę, zgodnie z którą Molly zapłaci Steve’owi, zamyka Bitcoin, który jest winna Chuckowi, w portfelu z wieloma podpisami za pomocą HTLC. Gdy Chuck zapłaci Steve’owi i otrzyma V, może następnie wprowadzić V i H do HTLC, aby otrzymać zwrot kosztów za pomocą Bitcoin Molly zaangażowanego w umowę. Alternatywnie, jeśli Chuck nie dotrzyma swojej części umowy, a umowa wygasa po, powiedzmy, tygodniu, Bitcoin Molly zostaje uwolniony i wraca do jej osobistego portfela.

Ta sama interakcja ma miejsce na własnym kanale płatności Chucka i Steve’a. Chuck nie może oddać swojego Bitcoina Steve’owi, dopóki Steve nie ujawni V. Gdy Steve ujawni V w umowie wielosigowej, Chuck ma teraz V, a Steve otrzymuje BTC.

Ten proces mógłby teoretycznie przebiegać przez wiele kanałów płatności i przez wiele osób.

Schemat sieci Lightning

Podsumowanie: Dlaczego Lightning Network ma znaczenie

To skomplikowany temat. Zsyntetyzowanie tej informacji w strawne kawałki było wystarczająco trudne, więc cieszę się, że trzymałeś się tego tak długo.

Podsumowanie TL; DR: Lightning Network to system poza łańcuchem, który umożliwia osobom indywidualnym wielokrotną wymianę walut bez konieczności łączenia wszystkich tych transakcji w łańcuch. Zamiast tego, tylko dwie transakcje (oraz otwarcie i zamknięcie) są rejestrowane w łańcuchu bloków, podczas gdy wszystkie inne transakcje, tak dużo, jak to możliwe, są przetwarzane przez dodatkową warstwę węzłów poza łańcuchem.

Ten model ma kilka kluczowych zalet:

Skuteczne mikrotransakcje: Sieć Lightning jest nastawiona na mikrotransakcje. Zamiast płacić wygórowane opłaty, które mogą przewyższać przenoszoną wartość, Lighting Network umożliwia użytkownikom przesyłanie sobie nawzajem niewielkich kwot bez konieczności bezpośredniego przechodzenia przez sieć Bitcoin. Nadal muszą płacić opłatę za działanie węzła, ale jest ona niewielka w porównaniu do zwykłej opłaty sieciowej Bitcoin.

Rozwiązania w zakresie skalowalności i opóźnień: Idąc za poprzednim punktem, Lightning Network ograniczyłoby rozdęcie sieci. Zmniejszenie liczby transakcji w łańcuchu oznacza mniej pracy dla górników, co z kolei oznacza krótsze czasy transakcji i niższe opłaty. Gdyby żadna transakcja nie musiała być zapisywana w publicznej księdze blockchain, sieć działałaby znacznie sprawniej. Co więcej, transakcje Lightning Network byłyby znacznie szybsze niż transakcje w łańcuchu.

Prawdopodobnie zastanawiasz się, w jaki sposób przeciętny użytkownik byłby w stanie prawidłowo poruszać się po wieloetapowym procesie, który właśnie opisaliśmy. Cóż, Dryja, Poon i inni pracują nad aplikacjami / interfejsami, które wykonują dla Ciebie wszystkie skomplikowane kroki – wystarczy nacisnąć kilka przycisków.

Obecnie Lightning Networks są opracowywane dla Bitcoin, Litecoin i Vertcoin. Sieć Lightning nadal działa testnet, i żadna główna data uruchomienia sieci nie została jeszcze potwierdzona w momencie publikacji.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map