Ce este rețeaua Lightning? Un ghid pentru începători

Dacă te-ai ocupat vreodată de Bitcoin, este posibil să fi suferit perioade de tranzacție de o oră (sau, în cel mai rău, de o zi). Devine banal pentru Bitcoin restante de 150k + tranzacții neconfirmate în momente de volum ridicat de tranzacții și atunci când îmbinăm acest lucru cu taxele sale exorbitante, este de mirare cum îl veți folosi vreodată pentru plătiți masa respectivă de 5 bucăți la KFC.

Rețeaua fulgerului este aici pentru a vă ajuta. Acest concept este ideea lui Thaddeus Dryja și Joseph Poon, iar duetul l-a prezentat cu hartie alba în 2015. Dacă nu sunteți prea dornici să citiți creta lungă de hârtie plină de jargon tehnic, vă vom arăta aici în termeni laici aici.

Ce este Rețeaua Lightning?

La nivelul său de bază, rețeaua fulger este o metodă pentru utilizatorii Bitcoin de a schimba valoarea valutară în afara blockchain-ului Bitcoin. Acest lucru se realizează folosind câțiva algoritmi complecși care interacționează cu scriptul de bază al Bitcoin și permite, corect, plăți rapide fulgerătoare la o fracțiune din taxele de tranzacție. Ca atare, a fost prezentat ca un instrument de scalabilitate necesar, unul de care Bitcoin va avea nevoie dacă vrea să fie o opțiune de plată viabilă în viitor. Această practică se poate extinde la swap-uri atomice pe lanțuri încrucișate. Aceste swap-uri sunt aceleași în practică, cu excepția faptului că au loc între două valute / blockchains diferite. Trecem aici mai detaliat asupra swap-urilor atomice.

Acum, că am abordat explicația mult prea simplă, este timpul pentru una mai lungă.

Lightning Network: Cum funcționează

Deschiderea unui canal de plată bilateral

Pentru a începe să utilizați rețeaua fulger, doriți să configurați un canal de plată. Canalele de plată sunt calea tranzacției prin care rețeaua fulgerului transferă valoarea. Pentru a stabili una, trebuie să deschideți o tranzacție pentru acest canal direct pe blockchain.

„Dar am crezut că ai spus că toate acestea au loc în afara lanțului?” Nu vă faceți griji – încă mai există, dar mai întâi trebuie să anunțați rețeaua Bitcoin că deschideți o tranzacție. După ce ați făcut acest lucru, dvs. și cealaltă parte cu care tranzacționați vă veți păstra propriul bilanț al schimburilor pe care le faceți pe canal. Tranzacțiile și soldurile actualizate ale contului vor fi înregistrate pe acest registru de fiecare dată când sunt mutate fonduri și, după ce v-ați desfășurat activitatea pe canal, veți difuza rezultatul final către blockchain pentru a închide contul.

Portofele cu mai multe semnături

„Deci, dacă canalele de plată au loc în afara lanțului, unde / cum sunt gestionate fondurile până când sunt înregistrate pe blockchain?” Ce întrebare frumoasă. Pentru a utiliza un canal de plată, ambele părți trebuie să-și trimită fondurile la o adresă de portofel cu mai multe semnături.

Să presupunem că Molly și Steve au pariat pe rezultatul Super Bowl. Mizează fiecare 1 BTC și vor să se asigure că celălalt își menține sfârșitul târgului, așa că își depun ambele fonduri într-un portofel cu mai multe semnături. Acest portofel funcționează ca un seif pentru depozite, în timp ce un set de chei private pentru tranzacții funcționează ca combinații care permit oricărei părți să acceseze fondurile. Fondurile vor rămâne blocate în portofel până la:

  • atât Molly, cât și Steve semnează o tranzacție finală cu aceste chei private,
  • o parte decide să finalizeze singură tranzacția sau
  • se atinge o limită de timp și tranzacția este trimisă automat. După ce se întâmplă acest lucru, fondurile vor fi mutate înapoi în portofelele individuale ale oricărei părți.

Pentru a configura cu succes portofelul cu mai multe semnături, atât Molly cât și Steve creează o valoare (în esență, o cheie secretă pentru deblocarea tranzacțiilor) pe care o folosesc apoi pentru a crea un hash și pentru a se trimite reciproc. Păstrați aceste informații – este vital să înțelegeți cum funcționează tranzacțiile de angajament ulterior.

Odată ce Molly și Steve și-au depus fondurile respective în portofelul cu mai multe semnături, pot crea apoi ceea ce se numește tranzacție deschisă și difuzați-l către blockchain. Odată ce acest lucru este difuzat, o serie de tranzacții de angajament sunt apoi utilizate pentru gestionarea fondurilor.

Transferul valorii cu tranzacțiile de angajament

Se pare că Molly a câștigat pariul, dar este drăguță, așa că spune că Steve îi datorează doar 0,5 BTC în loc de 1. Pentru a iniția un transfer al acestei averi, atât Molly, cât și Steve și-ar actualiza soldurile respective în canalul de plată prin semnarea unui angajament tranzacţie. Tranzacțiile de angajament împart fondurile între ambii participanți în conformitate cu acordul lor reciproc – în esență, aceste tranzacții acționează ca niște IOU-uri care vor fi plătite odată cu închiderea canalului de plată.

De exemplu, pentru a face schimb de valori, Molly semnează o tranzacție care îi trimite 1,5 BTC și 0,5 la o nouă adresă de portofel cu mai multe semnături. Apoi, ea semnează această tranzacție și îi trimite hash-ul lui Steve. La rândul său, Steve semnează o tranzacție de angajament pentru a o reflecta pe Molly’s, în care trimite 0,5 BTC către sine și 1,5 către un alt portofel cu mai multe semnături. Apoi semnează acest lucru și trimite hash-ul acestei tranzacții către Molly.

Tranzacție Lightning Network

Așadar, avem a) 2 BTC originale așezate în portofelul cu mai multe semnături al canalului de plată, b) .5 BTC așezat într-un portofel cu mai multe semnături plătibil lui Steve și c) 1,5 BTC așezat într-o multi-semnătură portofel plătibil către Molly. În mod efectiv, odată ce oricare dintre părți trimite hashurile tranzacțiilor respective, bilanțul din semnătura multiplă a canalului de plată se va actualiza, deoarece ambele părți au fost de acord cu transferul. Viola, monedele au fost schimbate fără a utiliza blockchain-ul Bitcoin.

Valorile acestor portofele pot fi deblocate numai în trei condiții:

  1. expiră o anumită perioadă de timp,
  2. oricare dintre părți deblochează fondurile din portofelele cu mai multe semnături pe care le-au configurat cu valoarea portofelului (cheia) sau
  3. ambele părți decid să semneze împreună tranzacția.

Este important să rețineți că, dacă una dintre părți decide să închidă canalul și să semneze singură o tranzacție, va trebui să aștepte o perioadă de timp prestabilită (dictată de contract) din momentul semnării tranzacției să-și primească fondurile. Acest lucru poate părea excesiv, dar este imperativ să preveniți înșelăciunea prin canalele de plată – mai multe despre asta într-un pic.

Plăți recurente / Actualizarea canalului

Ce se întâmplă dacă Molly și Steve vor să continue să actualizeze canalul sau să facă mai multe schimburi?

Pentru a ilustra acest lucru în continuare, spuneți că Steve plătea lui Molly pentru un serviciu recurent, ca o tunsoare. Steve depune 0,2 BTC în portofelul lor cu mai multe semnături și, de fiecare dată când își decupează încuietorile, semnează o tranzacție de angajament către Molly pentru 0,001 BTC și o trimite la noua adresă cu mai multe semnături. Pentru a face acest lucru, el ar trebui să repete pașii pe care tocmai i-am parcurs, fără a deschide o tranzacție în rețea, așa cum se realizează până la semnarea primei tranzacții de angajament..

Deci, pentru a procesa plățile recurente, soldurile contului din multi-sig trebuie actualizate de fiecare dată. Pentru a face acest lucru, de fiecare dată când Steve își tunde părul, el ar fi angajat o nouă sumă de bani în portofelul cu mai multe semnături pe care l-a creat pentru a-l plăti lui Molly. Dar, făcând acest lucru, el creează o nouă valoare și un nou hash pentru această nouă tranzacție. Molly face același lucru și, atunci când ambele părți schimbă noile hash-uri, acestea includ și valorile vechi (cheile) pentru tranzacția anterioară.

De fapt, acest lucru asigură că niciuna dintre părți nu o poate înșela pe cealaltă. Dacă la închiderea canalului de plată, Steve încearcă să-l înșele pe Molly din plățile sale prin difuzarea unei sume vechi de tranzacție, el are probleme..

De exemplu, dacă atunci când închide canalul, Steve îi datorează lui Molly 1 BTC din cele 2 BTC inițiale pe care le-a depus, dar el semnează tranzacția inițială pentru a-și da suma originală, Molly îl poate apela pentru că are valorile din toate tranzacțiile anterioare. . Mai mult, Steve trebuie să aștepte înainte ca tranzacția sa să fie anulată în funcție de termenul stabilit de ambele părți înainte de a desfășura activități, în timp ce Molly’s este instantaneu. Astfel, dacă vede că i s-a plătit 0 BTC pentru serviciile sale, poate să se semneze pe cele 2 BTC din portofelul cu mai multe semnături, deoarece are cheia pentru această tranzacție și, astfel, capacitatea de a debloca fondurile sale.

Astfel, dacă o parte încearcă să o fraudeze pe alta, contrapartidei i se acordă toate fondurile părții rău intenționate. Această sancțiune este în vigoare pentru a descuraja actorii răi să nu abuzeze de alocarea fondului comun al canalului de plată.

În plus, operatorii de noduri și minerii care observă acest joc prost pot acționa în numele lui Molly dacă nu este online pentru a observa înșelăciunea. Pentru compensare, acestor îngeri păzitori li se acordă o recompensă (taxă) în moneda tranzacționată pentru serviciile lor.

Închiderea unui canal de plată

Când Molly și Steve sunt gata să-și închidă conturile, pur și simplu semnează o tranzacție cu cheile lor private pentru a transmite soldurile contului final către blockchain. În acest moment, minerii îl vor verifica în mod obișnuit și îl vor stoca în registrul public. Ca și în cazul unei tranzacții de deschidere, această tranzacție de închidere este singura interacțiune pe care oricare dintre părți o va avea cu blockchain-ul Bitcoin.

Alternativ, două părți ar putea stabili, de asemenea, o dată de expirare pentru durata contractului. De exemplu, folosind algoritmul nLockTime, ar putea deschide un canal de plată timp de 30 de zile, după care canalul se va închide și soldurile finale vor fi transmise către blockchain. Totuși, de fiecare dată când părțile doresc să își actualizeze soldurile, totuși, data de expirare este redusă. Deci, dacă Molly și Steve ar fi plasat pariuri pe mai multe jocuri de fotbal pe parcursul unui sezon, de fiecare dată când s-a plătit un pariu, contractul nLockTime ar avea o nouă dată de expirare scurtată (de exemplu, dacă prima tranzacție de angajament ar fi finalizată în 30 de zile, a doua tranzacție s-ar plăti în 29, apoi a treia s-ar plăti în 28 și așa mai departe).

Scopul contractelor nLockTime este simplu: menține soldurile contului actualizate și împiedică o parte să falsifice un extras de cont. Așa cum am analizat mai devreme, de fiecare dată când este convenită o tranzacție de angajament, soldul vechi al contului este înlocuit cu unul nou și fiecare parte implicată are înregistrări ale acestui nou sold, precum și o valoare a tranzacției vechi (cheie). Dacă o parte încearcă să o fraudeze pe cealaltă, partea frauduloasă va fi sancționată.

Plăți multicanal și contracte de blocare a timpului Hash

„Ce se întâmplă dacă Molly și Steve vor să-și trimită Bitcoin reciproc, dar nu au un canal de plată deschis?” Ei bine, pot trece printr-un intermediar. Îl vom chema pe Chuck – spune-i lui Chuck salut.

Se pare că Molly și Steve au ambele canale de plată deschise cu Chuck, așa că, în loc să deschidă un nou canal, decid noi canalele lor de plată bidirecționale respective pentru a tranzacționa prin Chuck.

Acum, acesta este teoretic un comerț de încredere, așa că trucul este facilitarea schimbului într-un mod sigur. Pentru a face acest lucru, rețeaua Lightning implementează contracte Hash Time Locked (HTLC).

Canal de plată Lightning Network cu HTLC-uri

Spuneți că Molly vrea să-i dea 0,5 BTC lui Steve pentru că este foarte drăguță așa – serios, ce piersică. Pentru a face acest lucru, Steve trebuie să creeze un șir de numere criptografice numite valoare (în esență, un cod de confirmare sau o cheie). Apoi creează un hash de această valoare pentru a-l trimite lui Molly. Pentru a simplifica această ilustrație scrisă, vom reprezenta valoare cu V și hash cu H.

Când Molly îl primește pe H, o împarte cu Chuck. În acest moment, Molly îi va trimite lui Chuck 0,5 BTC numai dacă îi dezvăluie V. Pentru a obține V, Chuck îi trimite lui 0,5 lui BTC lui Steve în schimbul lui V. Odată ce are acest număr, îl trimite pe V către Molly care apoi trimite 0,5 BTC către Chuck. Și iată-l, Molly i-a transferat efectiv 0,5 BTC lui Steve.

În cazul în care v-ați pierdut, iată cum a scăzut:

Steve creează V și H → Steve trimite H la Molly → Molly trimite H la Chuck → Chuck trimite BTC la Steve → Steve trimite V la Chuck → Chuck trimite V la Molly → Molly trimite BTC la Chuck

Astfel, valoarea (V) servește drept cod de confirmare / cheie pentru hash (H), care reprezintă o chitanță / blocare pentru tranzacție.

„Totul este în regulă și dandy, dar de unde știe Molly că valoarea pe care i-o trimite Chuck este legitimă și ce îl împiedică pe Steve să fugă cu BTC Chuck pe care îl plătește?”

Din nou, întrebări bune. Așa cum nLockTime îi menține pe toți pe cei sinceri într-un canal de plată bidirecțională, contractele Hash Time Locked păstrează părțile responsabile în acest model.

Cu HTLC-urile, fondurile Bitcoin tranzacționate sunt blocate din nou într-un portofel cu mai multe semnături și pot fi deblocate doar a) după prezentarea valorii (V) și hash (H) sau b) contractul expiră după o perioadă de expirare.

De fapt, acest lucru înseamnă că, atunci când Molly și Chuck ajung la un acord pentru ca Molly să-l plătească pe Steve, ea blochează Bitcoin-ul pe care îl datorează lui Chuck într-un portofel cu mai multe semnături folosind HTLC. Odată ce Chuck îl plătește pe Steve și primește V, el poate introduce V și H în HTLC pentru a fi rambursat cu Bitcoin Molly angajat în contract. Alternativ, în cazul în care Chuck nu reușește să-și mențină sfârșitul târgului și contractul expiră după, să zicem, o săptămână, atunci Bitcoin-ul lui Molly este eliberat și revine în portofelul ei personal.

Aceeași interacțiune are loc pe canalul de plată al lui Chuck și Steve. Chuck nu poate renunța la Bitcoin cu Steve până când Steve nu-l dezvăluie pe V. Odată ce Steve îl dezvăluie pe V în contractul multi-sig, Chuck îl are acum pe V și Steve primește BTC-ul său.

Acest proces ar putea, teoretic, să se desfășoare prin mai multe canale de plată și mai multe persoane.

Schema Lightning Network

Încheierea: de ce contează rețeaua fulgerului

Este un subiect complicat. Sintetizarea acestor informații în bucăți digerabile a fost suficient de grea, așa că te bucur că ai rămas cu ea atât de mult.

Pentru o recapitulare TL; DR: Rețeaua Lightning este un sistem off-chain care permite persoanelor să schimbe valute de mai multe ori fără a fi nevoie să pună toate aceste tranzacții în lanț. În schimb, doar două tranzacții (și deschiderea și închiderea) sunt înregistrate pe blockchain, în timp ce toate celelalte tranzacții, câte pot fi, sunt procesate printr-un strat secundar de noduri off-chain.

Există câteva avantaje cheie pentru acest model:

Microtransacții eficiente: Rețeaua Lightning este orientată spre microtransacțiuni. În loc să trebuiască să plătească taxe exorbitante care ar putea depăși valoarea transferată, rețeaua de iluminat permite utilizatorilor să-și trimită sume mici de monedă reciproc fără a fi nevoie să treacă direct prin rețeaua Bitcoin. Încă trebuie să plătească o taxă pentru funcționarea nodului, dar este minusculă în comparație cu taxa obișnuită de rețea a Bitcoin.

Soluții de scalabilitate și latență: Mergând împreună cu punctul anterior, rețeaua Lightning ar reduce reducerea umflării rețelei. Reducerea numărului de tranzacții în lanț înseamnă mai puțină muncă pentru mineri, ceea ce, la rândul său, înseamnă timpi mai rapidi de tranzacționare și taxe mai mici. Dacă fiecare tranzacție nu trebuie pusă pe registrul public al blockchain-ului, rețeaua ar funcționa mult mai ușor. Mai mult, tranzacțiile Lightning Network ar fi mult mai rapide decât cele de pe lanț.

Probabil vă întrebați cum orice utilizator mediu ar putea naviga în procesul în mai mulți pași pe care tocmai l-am subliniat corect. Ei bine, Dryja, Poon și alții lucrează la aplicații / interfețe care rezolvă toate etapele complicate pentru dvs. – tot ce trebuie să faceți este să apăsați câteva butoane.

În prezent, rețelele Lightning sunt dezvoltate pentru Bitcoin, Litecoin și Vertcoin. Rețeaua Lightning este încă activă testnet, și nu a fost confirmată încă nicio dată principală de lansare la momentul publicării.

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