Om du någonsin har handlat i Bitcoin kan du ha lidit genom timlånga (eller i värsta fall daglånga) transaktionstider. Det har blivit vanligt för Bitcoin att ha eftersläpningar på 150 000+ obekräftade transaktioner vid tider med hög transaktionsvolym, och när vi kopplar ihop detta med dess orimliga avgifter, är det underligt hur du någonsin kommer att använda det för att betala för den 5-delade måltiden på KFC.

Blixtnätverket är här för att hjälpa till med det. Detta koncept är tanken på Thaddeus Dryja och Joseph Poon, och duon presenterade det för en vitt papper tillbaka 2015. Om du inte är så angelägen om att läsa den långa papperskratten full av tekniskt jargong, kommer vi att lägga ut den för dig i lekmanns termer här.

Vad är Lightning Network??

På sin mest grundläggande nivå är blixtnätverket en metod för Bitcoin-användare att byta valuta från Bitcoin blockchain. Detta åstadkoms med hjälp av några komplexa algoritmer som interagerar med Bitcoins basskript, och det möjliggör, det är rätt, blixtsnabba betalningar till en bråkdel av transaktionsavgifterna. Som sådan presenteras det som ett nödvändigt skalbarhetsverktyg, ett som Bitcoin kommer att behöva om det vill vara ett lönsamt betalningsalternativ i framtiden. Denna praxis kan sträcka sig till tvärkedjiga atombyten. Dessa swappar är desamma i praktiken, förutom att de äger rum mellan två olika valutor / blockkedjor. Vi går igenom atombyten mer detaljerat här.

Nu när vi har täckt den alltför enkla förklaringen är det dags för en längre.

Lightning Network: Hur det fungerar

Öppna en bilateral betalningskanal

För att komma igång med blixtnätverket vill du skapa en betalningskanal. Betalningskanaler är transaktionens väg genom vilken blixtnätverket överför värde. För att skapa en måste du öppna en transaktion för den här kanalen direkt på blockchain.

“Men jag trodde att du sa att allt detta sker utanför kedjan?” Oroa dig inte – det gör det fortfarande, men du måste först meddela Bitcoin-nätverket att du öppnar en transaktion. När du har gjort detta kommer du och den andra parten du handlar med att hålla din egen balansräkning för de utbyten du gör på kanalen. Transaktioner och uppdaterade kontosaldon registreras på denna bokföring varje gång medel flyttas, och efter att du har bedrivit ditt företag på kanalen kommer du att sända det slutliga resultatet till blockchain för att stänga kontot.

Plånböcker med flera signaturer

“Så om betalningskanaler sker utanför kedjan, var / hur förvaltas medlen tills de registreras i blockchain?” Vilken snygg fråga. För att kunna använda en betalningskanal måste båda parter skicka sina pengar till en plånbokadress med flera signaturer.

Låt oss säga att Molly och Steve har satsat på resultatet av Super Bowl. De satsar var och en på 1 BTC och vill se till att den andra håller sitt slut på fyndet, så de sätter in båda sina pengar i en plånbok med flera signaturer. Denna plånbok fungerar som ett värdeskåp för insättningar, medan en uppsättning privata nycklar för transaktionerna fungerar som kombinationer som gör det möjligt för båda parter att få tillgång till pengarna. Fonderna förblir låsta i plånboken tills:

  • både Molly och Steve undertecknar en slutförande transaktion med dessa privata nycklar,
  • en part beslutar att slutföra transaktionen själva, eller
  • en tidsgräns uppnås och transaktionen skickas automatiskt. När detta händer flyttas medlen tillbaka till endera partens enskilda plånböcker.

För att framgångsrikt kunna ställa in plånboken med flera signaturer skapar både Molly och Steve ett värde (i huvudsak en hemlig nyckel för att låsa upp transaktioner) som de sedan använder för att skapa en hash och skicka till varandra. Håll i den här informationen – det är viktigt att förstå hur åtagandetransaktioner fungerar senare.

När Molly och Steve sätter in sina respektive medel i plånboken med flera signaturer kan de sedan skapa det som kallas en öppen transaktion och sända den till blockchain. När detta sänds, en serie av åtagandetransaktioner används sedan för att förvalta medel.

Överföra värde med åtagandetransaktioner

Det visar sig att Molly vann vadet, men hon är trevlig, så hon säger att Steve bara är skyldig sina 0,5 BTC istället för 1. För att initiera en överföring av denna rikedom skulle både Molly och Steve uppdatera sina respektive saldon i betalningskanalen genom att underteckna ett åtagande transaktion. Åtagandetransaktioner delar medel mellan båda deltagarna enligt deras ömsesidiga avtal – i huvudsak fungerar dessa transaktioner som IOU som kommer att betalas ut när betalningskanalen stängs.

Till exempel, för att utbyta värden, undertecknar Molly en transaktion som skickar 1,5 BTC till sig själv och .5 till en ny plånboksadress med flera signaturer. Sedan undertecknar hon den här transaktionen och skickar sin hash till Steve. I sin tur undertecknar Steve en åtagandetransaktion för att spegla Mollys, där han skickar .5 BTC till sig själv och 1,5 till en annan plånbok med flera signaturer. Han undertecknar sedan detta och skickar transaktionens hash till Molly.

Lightning Network-transaktion

Så vi har a) den ursprungliga 2 BTC som sitter i betalningskanalens multi-signatur plånbok, b). 5 BTC sitter i en multi-signatur plånbok som betalas till Steve, och c) 1,5 BTC sitter i en multi-signatur plånbok som betalas till Molly. När endera parten skickar sina respektive transaktionshashar uppdateras balansräkningen i betalningskanalens multisignatur eftersom båda parter har gått med på överföringen. Viola, valutorna har bytts ut utan att använda Bitcoins blockchain.

Värdena från dessa plånböcker kan endast låsas upp under tre förhållanden:

  1. en viss tid löper ut,
  2. endera parten låser upp medlen från plånböckerna med flera signaturer som de ställer upp med plånbokens värde (nyckel), eller
  3. båda parter bestämmer sig för att underteckna transaktionen tillsammans.

Det är viktigt att notera att om en part bestämmer sig för att stänga kanalen och underteckna en transaktion ensam, måste han / hon vänta en förutbestämd tid (dikterad av avtalet) från den tidpunkt då transaktionen undertecknas för att få sina pengar. Detta kan verka överdrivet, men det är absolut nödvändigt att förhindra fusk genom betalningskanaler – mer om detta på lite.

Återkommande betalningar / Uppdatering av kanalen

Vad händer om Molly och Steve vill fortsätta uppdatera kanalen eller göra mer än en utbyte?

För att illustrera detta ytterligare, säg att Steve betalade Molly för en återkommande tjänst, som en frisyr. Steve sätter in 0,2 BTC i sin plånbok med flera signaturer, och varje gång han får sina lås trimmade undertecknar han en åtagandetransaktion till Molly för 0,001 BTC och skickar den till den nya multisignaturadressen. För att göra detta måste han upprepa stegen som vi just gick igenom, utan att öppna en transaktion i nätverket eftersom det är genomfört när den första åtagandetransaktionen undertecknas.

Så för att behandla återkommande betalningar måste kontosaldon i multi-sig uppdateras varje gång. För att göra detta, varje gång Steve kommer i frisyr, skulle han begå en ny summa pengar till plånboken med flera signaturer som han satte upp för att betala Molly. Men därigenom skapar han ett nytt värde och en ny hash för den här nya transaktionen. Molly gör detsamma, och när båda parter byter ut de nya hasharna inkluderar de också de gamla värdena (nycklarna) för den tidigare transaktionen.

I själva verket säkerställer detta att ingen av parterna kan fuska den andra. Om Steve försöker fuska Molly ur sina betalningar genom att sända ett gammalt transaktionsbelopp när han stänger betalningskanalen, är han i trubbel.

Till exempel, om när Steve stänger kanalen Steve är skyldig Molly 1 BTC av de ursprungliga 2 BTC som han satte in men han undertecknar den ursprungliga transaktionen för att ge sig själv det ursprungliga beloppet, kan Molly ringa honom för det eftersom hon har värdena från alla tidigare transaktioner . Dessutom måste Steve vänta innan hans transaktion rensas enligt den tidsram som båda parter kom överens om innan han bedriver affärer, medan Mollys är omedelbar. Om hon ser att hon har fått betalt 0 BTC för sina tjänster kan hon således logga ut på 2 BTC i plånboken med flera signaturer eftersom hon har nyckeln till denna transaktion och därmed möjligheten att låsa upp sina medel.

Således, om en part försöker bedra en annan, tilldelas motparten alla de skadliga partiernas medel. Denna sanktion är på plats för att avskräcka dåliga aktörer från att missbruka betalningskanalens delade fondallokering.

Dessutom kan nodoperatörer och gruvarbetare som upptäcker detta foul play agera på Mollys vägnar om hon inte är online för att märka fusk. Som ersättning tilldelas dessa skyddsänglar en ersättning (avgift) i den transaktionsvaluta för sina tjänster.

Avsluta en betalningskanal

När Molly och Steve är redo att stänga sina konton undertecknar de helt enkelt en transaktion med sina privata nycklar för att sända sina slutliga kontosaldon till blockchain. Vid denna tidpunkt kommer gruvarbetare att verifiera det som vanligt och lagra det på den offentliga huvudboken. Som med en öppningstransaktion är denna avslutande transaktion den enda interaktion som någon av parterna kommer att ha med Bitcoins blockchain.

Alternativt kan två parter också ange ett utgångsdatum för kontraktets längd. Med exempelvis nLockTime-algoritmen kan de öppna en betalningskanal i 30 dagar, varefter kanalen stängs och de slutliga saldorna kommer att sändas till blockchain. Varje gång parterna vill uppdatera sina saldon minskas dock utgångsdatumet. Så om Molly och Steve satsade på flera fotbollsmatcher under en säsong, varje gång en satsning betalades, skulle nLockTime-kontraktet ha ett nytt, förkortat utgångsdatum (t.ex. om den första åtagandetransaktionen skulle slutföras på 30 dagar, den andra transaktionen skulle betalas ut 29, då skulle den tredje betalas ut 28 och så vidare).

Syftet med nLockTime-kontrakt är enkelt: det håller kontosaldon uppdaterade och hindrar en part från att förfalska ett kontoutdrag. Som vi gick igenom tidigare ersätts det gamla kontosaldot med ett nytt varje gång en överenskommelse om en åtagandetransaktion och varje inblandad part har register över detta nya saldo samt ett gammalt transaktionsvärde (nyckel). Om någon part försöker bedra den andra kommer den bedrägliga parten att bestraffas.

Flerkanaliga betalningar och Hash Time Locked Contracts

“Vad händer om Molly och Steve vill skicka Bitcoin till varandra men de inte har en betalkanal öppen?” De kan gå igenom en mellanhand. Vi kallar den här killen Chuck – berätta för Chuck hej.

Det visar sig att Molly och Steve båda har betalningskanaler öppna med Chuck, så i stället för att öppna en ny kanal bestämmer de oss för sina respektive dubbelriktade betalningskanaler för att handla via Chuck.

Nu är detta teoretiskt sett en pålitlig handel, så tricket underlättar utbytet på ett säkert sätt. För att göra detta implementerar Lightning Network Hash Time Locked Contracts (HTLCs).

Lightning Network Payment Channel med HTLC: er

Säg att Molly vill ge 0,5 BTC till Steve för att hon bara är riktigt trevlig så – på allvar, vilken persika. För att göra det måste Steve skapa en sträng av kryptografiska nummer som kallas ett värde (i huvudsak en bekräftelsekod eller nyckel). Han skapar sedan en hash av detta värde att skicka till Molly. För att förenkla denna skriftliga illustration representerar vi värde med V och hash med H.

När Molly tar emot H delar hon det med Chuck. Vid denna tidpunkt skickar Molly bara Chuck 0,5 BTC om han avslöjar V. För att få V skickar Chuck 0,5 av sin egen BTC till Steve i utbyte mot V. När han har detta nummer skickar han V till Molly som sedan skickar 0,5 BTC till Chuck. Och där har du det – Molly överförde effektivt 0,5 BTC till Steve.

Om du gick vilse, så gick det så här:

Steve skapar V och H → Steve skickar H till Molly → Molly skickar H till Chuck → Chuck skickar BTC till Steve → Steve skickar V till Chuck → Chuck skickar V till Molly → Molly skickar BTC till Chuck

Således tjänar värdet (V) som en bekräftelsekod / nyckel för hash (H), som representerar ett kvitto / lås för transaktionen.

“Det är allt bra och dandy, men hur vet Molly att värdet Chuck skickar henne är legitimt, och vad hindrar Steve från att springa iväg med BTC Chuck betalar honom?”

Återigen, bra frågor. Precis som nLockTime håller alla ärliga i en dubbelriktad betalningskanal, så håller Hash Time Locked Contracts parter ansvariga i den här modellen.

Med HTLC: er låses de Bitcoin-medel som transakeras igen i en plånbok med flera signaturer och kan endast låsas upp a) efter att värdet (V) och hash (H) presenteras eller b) kontraktet löper ut efter en timeout.

Detta innebär i själva verket att när Molly och Chuck går överens om att Molly ska betala Steve låser hon Bitcoin som hon är skyldig Chuck i en plånbok med flera signaturer med HTLC. När Chuck betalar Steve och tar emot V kan han sedan ange V och H i HTLC för att få ersättning med Bitcoin Molly åtagit sig kontraktet. Alternativt, om Chuck misslyckas med att hålla upp sitt slut på fyndet och kontraktet löper ut, till exempel en vecka, frigörs Mollys Bitcoin och går tillbaka till sin personliga plånbok.

Samma interaktion sker på Chuck och Steves egen betalningskanal. Chuck kan inte avstå från sin Bitcoin till Steve förrän Steve avslöjar V. När Steve avslöjar V i multi-sig-kontraktet har Chuck nu V och Steve får sin BTC.

Denna process kan teoretiskt köras genom flera betalningskanaler och flera individer.

Lightning Network-diagram

Wrapping Up: Varför Lightning Network Matters

Det är ett komplicerat ämne. Att syntetisera denna information i smältbara bitar var tillräckligt svårt, så skål för dig att hålla fast vid den så länge.

För en TL; DR-sammanfattning: The Lightning Network är ett off-chain system som gör det möjligt för individer att byta valutor flera gånger utan att behöva sätta alla dessa transaktioner på nätet. Istället registreras endast två transaktioner (och öppning och stängning) på blockchain, medan alla andra transaktioner, så många som möjligt, behandlas genom ett sekundärt lager av off-chain noder.

Det finns ett par viktiga fördelar med den här modellen:

Effektiva mikrotransaktioner: Lightning Network är inriktat på mikrotransaktioner. I stället för att behöva betala orimliga avgifter som kan uppväga värdet som överförs, tillåter Lighting Network användarna att skicka små summor valuta till varandra utan att behöva gå igenom Bitcoin-nätverket direkt. De måste fortfarande betala en avgift för att nod fungerar, men det är minimalt jämfört med Bitcoins vanliga nätverksavgift.

Skalbarhets- och latenslösningar: I takt med den tidigare punkten skulle Lightning Network skära ner på nätverksuppblåsning. Att minska antalet transaktioner via kedjan innebär mindre arbete för gruvarbetare vilket i sin tur innebär snabbare transaktionstider och lägre avgifter. Om varje transaktion inte behöver läggas på blockchains offentliga huvudbok skulle nätverket fungera mycket smidigare. Dessutom skulle Lightning Network-transaktioner vara mycket snabbare än de på nätet.

Du undrar förmodligen hur alla genomsnittliga användare skulle kunna navigera i flerstegsprocessen som vi just skisserat ordentligt. Tja, Dryja, Poon och andra arbetar med applikationer / gränssnitt som räknar ut alla komplicerade steg för dig – allt du behöver göra är att trycka på några knappar.

För närvarande utvecklas Lightning Networks för Bitcoin, Litecoin och Vertcoin. Lightning Network är fortfarande inne testnät, och inget huvudsakligt nettolanseringsdatum har bekräftats ännu vid tidpunkten för denna publicering.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me