Salamaverkko on todennäköisesti odotetuin tekninen innovaatio, joka otetaan käyttöön Bitcoinin päällä. Joseph Poonin ja Tadge Dryjan ensimmäisen kerran noin vuosi sitten ehdottama maksutaso lupaa tukea käytännössä rajoittamatonta määrää ketjun ulkopuolisia tapahtumia käyttäjien keskuudessa lähes ilman kustannuksia – samalla kun hyödynnetään Bitcoinin tarjoamaa turvallisuutta.
Ainakin kolme yritystä – Poon ja Dryja Salama, Blockstream ja Blockchain – työskentelevät parhaillaan tekniikan toteutusten parissa. Mutta harvat tämän pienen teknologisen etulinjan ulkopuolella ymmärtävät täysin, kuinka “mikromaksujen tulevaisuus” on asetettu parantamaan Bitcoinin ominaisuuksia.
Tässä kolmiosaisessa sarjassa Bitcoin Magazine esittelee Lightning Networkin peruselementit ja näyttää, kuinka ne sopivat yhteen tämän tulevan protokollakerroksen toteuttamiseksi.
Tämän sarjan ensimmäinen osa käsitti perusrakenteet ja selitti, miten niitä käytetään kaksisuuntaisten maksukanavien luomiseen. Toinen osa selitti kuinka verkko muodostuu ja kuinka Hash Timelock Contracts (HTLC) yhdistää verkon eri kanavat yhteen. Sarjan kolmas ja viimeinen osa selittää, miten HTLC: t sijoitetaan kaksisuuntaisten maksukanavien sisään sen varmistamiseksi, että liiketoimet voivat tapahtua kokonaan ketjun ulkopuolella.
Salamaverkko
Toistaiseksi Alice ja Bob avasivat kaksisuuntaisen maksukanavan, jonka molemmat rahoittivat viidellä bitcoinilla. He ovat tehneet kaksi tapahtumaa edestakaisin, ja nykyisessä kanavatilassa sekä Alice että Bob voivat vaatia itselleen viisi bitcoinia “pudottamalla kanavan” blockchainiin.
Nyt he haluavat sisällyttää kanavaan HTLC: n. Näin varmistetaan, että jos Carol vaatii Bobilta bitcoinia vastineeksi arvonsa, Bobille taataan Alicelta bitcoin.
Kuten edellisessä vaiheessa, Alice ja Bob aloittavat kumpikin uuden sitoutumistapahtuman. Nämä sitoumustapahtumat ovat monella tapaa hyvin samanlaisia kuin aikaisemmat sitoumustapahtumat. Ne sisältävät normaalin lähdön ja lähdön funky-multisig-osoitteeseen CSV (CheckSequenceVerify) -timelockilla ja erityisellä hash-lukolla. Samoin kuin edellisessä vaiheessa, Alice ja Bob vaihtavat vanhat salaisuutensa mitätöimään vanhan kanavan. Ja vaihdettuaan sekä Alice että Bob voivat allekirjoittaa puolet sitoutumistapahtumista ja mahdollisesti pudottaa ne blockchainiin milloin tahansa.
Kaikki tuttu alue. Paitsi yhtä muutosta. Sekä Alicen että Bobin sitoumustapahtumiin sisältyy nyt yksi uusi tuotos, yhden bitcoinin arvoinen. (Tämä tekee tasapainosta 4-5-1; neljä Alicelle, viisi Bobille, yksi uudelle tuotokselle.)
Tämä uusi lähtö on olennaisesti HTLC. Ja se on jopa funkierisempi kuin kaikki muut toistaiseksi tehdyt tuotokset, koska sen avaamiseen on kolme tapaa.
Ensinnäkin uusi lähtö (sekä Alice- että Bob-sitoumustapahtumissa) vapauttaa bitcoinin sillä ehdolla, että Bobin allekirjoitus ja arvo sisältyvät seuraavaan tapahtumaan. Sellaisena, riippumatta siitä, allekirjoittavatko Alice vai Bob sitoumustapahtuman, vain Bob voi avata tämän tuotoksen – jos hän sisältää arvon. Mutta kahden sitoutumistapahtuman välillä on yksi pieni ero: Jos Bob pudottaa kanavan, siihen liittyy CSV-aikalukko. Hänen on odotettava 1000 korttelia. (Jos Alice pudottaa kanavan, hän voi vaatia tämän bitcoinin heti.)
Syy sille, miksi Bobin on odotettava 1000 lohkoa, jos hän pudottaa kanavan, on hyvin samanlainen kuin aikaisemmin: Sen avulla Alice voi ottaa tämän bitcoinin, jos Bob yrittää koskaan allekirjoittaa ja lähettää vanhan kanavatilan. Siellä tulee toinen tapa avata tuotos. Alice voi “varastaa” varat, jos hän antaa Bobin (uusimman) salaisuuden.
Kaksi voi pelata tätä peliä: Jos Alice yrittää koskaan huijata ja lähettää tätä kanavaa, kun se on jo vanhentunut, Bob voi vaatia tämän bitcoinin Alice’s Secretin avulla. (Hänen ei tarvitse edes antaa arvoa.)
Ja kolmanneksi, kuten minkä tahansa muun HTLC: n kohdalla, molemmat sitoumustapahtumat sisältävät myös tavallisen CLTV: n aikakatkaisun Alicelle. Jos Bob ei sisälly arvoon – esimerkiksi kahteen viikkoon (esimerkiksi siksi, että hän ei saanut sitä Carolilta), Alice voi vaatia bitcoininsa takaisin. Jälleen, onko Alice vai Bob pudottanut kanavan, ei ole merkitystä tässä vaihtoehdossa.
Joten mistä kaikki tämä sai meidät?
Sekä Alicella että Bobilla on puoliksi pätevä sitoumuskauppa. Jos Alice pudottaa sitoutumistapahtumansa blockchainiin, hän lähettää välittömästi viisi bitcoinia Bobille. Lisäksi hän voi odottaa 1000 lohkoa ja vaatia itselleen neljä bitcoinia. Lisäksi Bobilla on kaksi viikkoa aikaa antaa arvo ja lunastaa bitcoin HTLC-tuotoksena. (Jos hän ei anna arvoa kahdessa viikossa, Alice voi vaatia tämän bitcoinin takaisin.)
Sillä välin Bob voi myös keskeyttää sitoutumistapahtumansa milloin tahansa ja lähettää välittömästi neljä bitcoinia Aliceen. Sitten hän olisi odottanut 1000 lohkoa saadakseen vielä viisi bitcoinia yhdestä osoitteesta ja toisen bitcoinin HTLC-lähdöstä, jos hän antaa arvon. (Jos hän ei anna arvoa kahdessa viikossa, Alice voi vaatia sen takaisin.)
Ja tietysti, jos joko Alice tai Bob yrittää huijata milloin tahansa tulevaisuudessa ja allekirjoittaa ja lähettää tämän kanavan, kun se on vanhentunut, molemmat voivat täysin estää toisen ja varastaa kaikki kanavan bitcoinit.
Tilan määrittäminen
Tässä vaiheessa Bob taataan saavansa bitcoinin vastineeksi arvosta (olettaen, että hänellä on se). Ainoa, mitä hänen on tehtävä, on allekirjoittaa ja lähettää Alicelta saamansa sitoumustapahtuma, sisällyttää arvon seuraavaan tapahtumaan ja allekirjoittaa ja lähettää myös sen.
Alice tietää tämän. Ei ole mitään tapaa, jolla hän voi huijata Bobia ulos bitcoinistaan - ei edes, jos hän selvisi arvon arvon jollakin muulla tavalla.
Sellaisina nämä kaksi saattavat yhtä hyvin “asettua” kanavan ulkopuolelle. Bob voi yksinkertaisesti antaa arvon Alicelle, ja Alice voi suostua päivittämään kanavan tilan normaalimpaan tilaan ilman HTLC: tä ja aikakatkaisuaikaa.
Olettaen, että molemmat osapuolet haluavat pitää kanavan auki, niin he tekisivät luonnollisesti: se on vähemmän vaivaa kuin kanavan pudottaminen blockchainiin.
Kanavan sulkeminen
Ja lopuksi tässä on salamaverkoston todellinen voima: Lähes kaiken, mitä näissä kolmessa artikkelissa kuvataan, ei yleensä tarvitse koskaan lyödä Bitcoin-lohkoketjua ollenkaan.
Jos sekä Alice että Bob haluavat sulkea kanavan “rauhanomaisesti”, he voivat yksinkertaisesti luoda tapahtuman alkuperäisestä avaustapahtumasta ohittaakseen kaiken, mitä tapahtui avaustapahtuman jälkeen. Tästä lopputapahtumasta he lähettävät itselleen oikeudenmukaisen osuutensa kanavasta, jota edustaa viimeisin kanavatila.
Konkreettisesti tämä tarkoittaa, että jos Alice haluaa sulkea kanavan, hän voi tässä vaiheessa yksinkertaisesti luoda tapahtuman, joka maksaa itselleen neljä bitcoinia ja Bob kuusi, ja pyytää Bobia allekirjoittamaan ja lähettämään tapahtuman. Koska ei ole mitään syytä olla tekemättä sitä, hän todennäköisesti tekee yhteistyötä ja sulkee kanavan.
Loppujen lopuksi vain kaksi tapahtumaa on lähetetty Bitcoin-verkon kautta ja sisällytetty lohkoon: avaaminen ja sulkeminen. Tämä pitää paikkansa, vaikka Alice ja Bob tekisivätkin miljoonia kertoja välillä, puraten näin valtavan taakan estoketjusta.
Kiitos Rusty Russellille ja Joseph Poonille tiedoista ja palautteesta.