Vuosien käsitteellistämisen ja kehittämisen jälkeen ensimmäiset Lightning-toteutukset ovat nyt beetaversiossa. Tämän seurauksena yhä useampi solmu ilmestyy verkossa joka päivä, yhä useammat käyttäjät avaavat kanavia keskenään, ja jotkut kauppiaat jopa alkoivat hyväksyä Lightning-maksuja.
Mutta tietysti nämä ovat silti salamaverkoston varhaisia aikoja. Vaikka pääasialliset toteutukset ovat käyttökelpoisia ja joitain lompakoita ja muita sovelluksia on saatavilla, Bitcoinin peittomaksuverkon ennustetaan parantuvan lähivuosina verkkoarkkitehtuurista turvallisuuteen ja käytettävyyteen ja muuhun..
Nämä ovat joitain tärkeimpiä parhaillaan kehitteillä olevia salama-hankkeita.
Kaksirahaiset kanavat
Salamaverkosto koostuu sarjasta maksukanavia. Jokainen maksukanava on kahden käyttäjän välillä, jolloin varoja voidaan lähettää edestakaisin heidän välillä.
Tässä varhaisessa kehitysvaiheessa maksukanavia voi kuitenkin rahoittaa vain toinen osapuolista. Rahoitusosapuolen on ensin tehtävä liiketoimi vastapuolelleen; vasta sitten vastapuoli voi palauttaa maksun samalla maksukanavalla.
Lightning Networkin valkoinen kirja, ehdotti kuitenkin kaksirahoitettuja kanavia, joille a erittelyehdotus on nyt myös tehnyt ACINQ, yrityksen takana tuulihattu. Kuten nimestä voi päätellä, kaksoisrahoitetut kanavat antavat molempien käyttäjien rahoittaa osittain maksukanavaa tallettamalla bitcoinia. Tämän pitäisi lisätä joustavuutta Lightning-käyttökokemukseen, koska käyttäjät voivat lähettää sekä vastaanottaa maksua heti kanavan avaamisen jälkeen.
Sukellusveneenvaihto
Lightning-maksun suorittamiseksi käyttäjien on talletettava varoja Lightning-kanavalle. Kanavalla ollessaan näitä varoja ei voida lähettää tavallisiin (ketjussa oleviin) Bitcoin-osoitteisiin (ellei kanava ole ensin suljettu). Tämä tarkoittaa, että Lightning-kanavan bitcoin on jonkin verran erotettu tavallisessa lompakossa olevasta bitcoinista, toisin kuin se, miten sekkitilillä oleva raha erotetaan hieman säästötilin rahasta.
Mutta on olemassa ratkaisuja, jotka helpottavat siirtymistä Lightning- ja ketjumaksujen välillä saumattomammin.
Yksi ratkaisu on Sukellusveneenvaihto. Kehittänyt Alex Bosworth (mutta käsitteellistä Lightning Labs CTO Olaoluwa Osuntokun jopa sitä ennen), Submarine Swaps antaa käyttäjien lähinnä lähettää salamamaksuja salamaverkon välittäjälle; että välittäjä lähettää vastaavan määrän bitcoinia tavalliseen (ketjussa olevaan) Bitcoin-osoitteeseen. Se toimii myös päinvastoin: käyttäjät voivat lähettää säännöllisiä ketjumaksuja välittäjälle; että välittäjä lähettää sitten vastaavan määrän bitcoinia Lightning-verkon vastaanottavalle salaman solmulle.
Tärkeää on, että sukellusveneiden vaihdoilla tämä muunnos tapahtuu “atomisesti”. Lightning-verkkoon jo upotettua temppua käyttämällä salama- ja ketjumaksu voidaan tehokkaasti liittää toisiinsa. Tämän vuoksi välittäjän on mahdotonta varastaa varoja jättämättä maksua eteenpäin. (Sopimuksessa käyttäjien kanssa hän voisi veloittaa pienen maksun palvelustaan.)
Jatkaminen
Toinen ratkaisu Lightning-käyttökokemuksen saumattomuuden lisäämiseksi on “liitos”. Pohjimmiltaan liittäminen antaisi käyttäjän “lisätä” varoja olemassa olevaan Lightning-kanavaan tai “tyhjentää” varoja siitä, mahdollisesti pitäen kanavan auki.
Idea on yksinkertainen. Mikä tahansa Lightning-kanava alkaa avaustapahtumalla, jolla varmistetaan, että molemmat käyttäjät suostuvat kanavan varojen siirtämiseen. Loput Lightning-kanavasta koostuu sarjasta seuraavia käyttäjien välisiä tapahtumia, joita ei yleensä lähetetä Bitcoin-verkkoon. Avaustapahtuman varat liikkuvat vasta, kun kanava on suljettu.
Kun “liitetään”, käyttäjät ottavat avaustapahtuman sen sijaan, että he lähettävät varoja korvaavaan avaustapahtumaan, joka sisältää enemmän bitcoinia, yhdeltä tai molemmilta käyttäjiltä. Kun tämä uusi avaustapahtuma on vahvistettu lohkoketjussa, kanava täydennetään. Kunnes uusi avaustapahtuma on vahvistettu, käyttäjät voivat yksinkertaisesti päivittää sekä vanhan että uuden kanavan samanaikaisesti, jotta vältetään “kanavan seisokit”.
Päinvastoin, kun he “jatkavat”, käyttäjät ottavat avaustapahtuman lähettääkseen varoja tavalliseen (ketjussa olevaan) osoitteeseen ja mahdollisesti pitävät osan kanavasta samalla temppulla. Näin käyttäjät voivat tehdä ketjutapahtumia suoraan Lightning-kanavalta.
Eltoo
Aina kun uusi maksu suoritetaan, käyttäjien väliset salamakanavat päivitetään vastaamaan heidän keskinäisiä saldojaan. Tämän saavuttamiseen käytetty temppu sisältää tällä hetkellä rangaistuksen käyttäjille, jotka yrittävät huijata lähettämällä vanhemman saldon (oletettavasti siksi, että vanhempi saldo maksaisi heille enemmän). Huijaavat käyttäjät voivat menettää kaikki kanavallaan olevat varat.
Ongelmana on, että vanhojen saldojen lähettäminen ei ole aina huijausyritystä. On olemassa useita skenaarioita, joissa käyttäjät voivat vahingossa lähettää vanhemman saldon; esimerkiksi ohjelmistovirheestä tai väärästä varmuuskopiosta. Tällaisissa tilanteissa kanavien varojen täydellinen menetys on melko raskas rangaistus.
Julkaistu ensimmäisen kerran 30. huhtikuuta 2018, eltoo on uusin tässä artikkelissa esitetty ehdotus. Kehittänyt Blockstream’s c-salama kehitystiimi – Dr. Christian Decker ja Rusty Russell – ja Lightning Labsin Osuntokun, eltoo päivittää kanavan rakentamalla aikalukittujen tapahtumien ketjun, jossa jokainen tapahtuma käyttää varoja edellisestä vastaamaan viimeisintä kanavasaldoa.
Jos yksi käyttäjä lähettää vanhemman tapahtuman (joka edustaa vanhempaa kanavasaldoa), hänen vastapuolellaan on aikaa lähettää viimeisin tapahtuma (joka edustaa viimeisintä kanavasaldoa).
Tällainen ratkaisu voisi toimia tänään, mutta se ei ole käytännöllinen epäonnistumisissa. Se edellyttäisi, että koko tapahtumaketju lähetetään ja tallennetaan Bitcoin-lohkoketjuun, mikä enemmän tai vähemmän heikentää Lightning-verkon tarkoitusta. Decker siis ehdotettu pehmeän haarukan muutos Bitcoin-protokollaan tietyntyyppisen hierarkian lisäämiseksi tämäntyyppisiin tapahtumiin: kaikki uudemmat tapahtumat voivat ohittaa kaikki vanhemmat tapahtumat vaatimatta kaikkien ketjun kaikkien tapahtumien lähettämistä.
Jos tämä pehmeä haarukka otetaan käyttöön ja aktivoidaan Bitcoin-verkossa, Lightning-käyttäjät voivat luoda kanavia sekä nykyisessä tyylissä että käyttämällä eltoota riippuen siitä, mitä he haluavat.
Pienikokoinen asiakaspuolen estosuodatus
Vaikka Lightning Network on toisen kerroksen protokolla, Bitcoin-lohkoketju itsessään on edelleen merkityksellinen Lightning-käyttäjille turvallisuussyistä. Erityisesti Lightning-käyttäjien on pidettävä silmällä lohkoketjua nähdäkseen, sisältyvätkö tietyt tapahtumat. Tämä voi olla resurssivoimaa, etenkin mobiilikäyttäjille.
Ratkaisua tähän kutsutaan yksinkertaistetuksi maksun todentamiseksi (SPV), ja se on kuvattu Bitcoinin valkoisessa kirjassa. Nykyiset SPV-lompakot käyttävät temppua nimeltäBloom-suodattimet”Selvittääkseen, tapahtuiko asiaankuuluvia liiketoimia.
Valitettavasti Bloom-suodattimet ovat melko yksityisyydelle epäystävällisiä, koska lompakot paljastavat olennaisesti kaikki osoitteensa Bitcoin-verkon solmuille. Heillä on myös joitain skaalaus- ja käytettävyysongelmia, koska kukin yksittäinen SPV-lompakko vie resursseja vähintään yhdestä täydestä Bitcoin-solmusta.
Näiden ongelmien ratkaisemiseksi Lightning Labsin Osuntokun ja Alex Akselrod sekä Kolikkopohja kehittäjä Jim Posen, suunniteltu uusi ratkaisu nimeltä “kompakti asiakaspuolen lohkojen suodatus”, jonka he toteuttavat Neutrino lompakko.
Kompakti asiakaspuolen lohkosuodatus kääntää olennaisesti temppun, jota nykyiset SPV-lompakot käyttävät. Sen sijaan, että lompakot pyytävät heille merkityksellisiä tapahtumia luomalla ja lähettämällä Bloom-suodattimen täydellisiin solmuihin, täydet solmut luovat suodattimen kaikille Neutrino-lompakoille. Neutrino-lompakko käyttää sitten tätä suodatinta todistaakseen, että kyseistä tapahtumaa ei tapahtunut – mikä on oikeastaan kaikki, mitä käyttäjien on tiedettävä varmistaakseen, ettei heitä huijata. (Jos suodatin tuottaa vastaavuuden, Neutrino hakee asiaankuuluvan lohkon nähdäksesi, koskeeko osuma todella tarkkaa tapahtumaa väärän positiivisen sijasta.)
Mielenkiintoista on, että vaikka tämä temppu suunniteltiin salamakokemusta ajatellen, sitä voitiin hyödyntää myös tavallisissa kevyissä lompakoissa.
Vartiotornit
Petosten välttämiseksi Lightning-käyttäjien on seurattava mahdollisia ketjutapahtumia, jotka voivat olla heille merkityksellisiä.
Vaikka kompaktin asiakaspuolen estosuodatuksen pitäisi tehdä asiat paljon helpommaksi, käyttäjien on “kirjauduttava sisään” joskus varmistaakseen, ettei heitä huijata. Jos he unohtavat tarkistaa, se aiheuttaa turvallisuusriskin.
”Vartiotornit” ovat mahdollinen ratkaisu, joka voidaan jäljittää Lightning Networkin valkoiseen kirjaan ja joka on siitä lähtien ollut parantunut kirjoittaneet Lightning Networkin valkoisen kirjan kirjoittajat ja palaa kehittäjä Tadge Dryja ja muut. Kuten nimestä voi päätellä, Vartiotornit voivat antaa käyttäjien ulkoistaa estoketjun seurannan kolmansille osapuolille.
Nykyisiä Vartiotornin malleja ei ole kiveen, mutta ne toimisivat suunnilleen näin. Aina kun käyttäjät päivittävät kanavan, he lähettävät pienen datapaketin Vartiotorniin. Tämän paketin ensimmäinen osa on “vihje” tapahtumasta, johon heidän tulisi varoa, ikään kuin se olisi palapeli. Tämä vihje ei yksinään paljasta mitään tapahtuman sisällöstä, johon Vartiotornin on varottava; käyttäjät eivät luopu yksityisyydestä tässä mielessä.
Kuitenkin, jos asiaankuuluva tapahtuma näkyy Bitcoin-lohkoketjussa, Vartiotorni voi käyttää vihjeä sen tunnistamiseen. Sitten Vartiotorni voi itse käyttää lohkoketjun tapahtumadataa saamansa paketin toisen osan avulla sakkoraportin rekonstruoimiseksi. Tämä rangaistustapahtuma lähettää kaikki kanavan varat huijattavalle käyttäjälle. (Tai jos kyseessä on eltoo, se lähettää vain oikean kanavasaldon.) Rangaistustapahtuma voidaan myös suunnitella siten, että Vartiotorni voi vaatia osan varoista palkkiona kannustimena tehdä työnsä..
Käyttäjät voivat ulkoistaa kanavavalvonnan useille Vartiotorneille. Vaikka toinen epäonnistuu, toinen ei välttämättä rajoita Lightning-käyttäjien riskiä siihen pisteeseen, jossa se on todennäköisesti vähäpätöinen.
Atomic Multi-Path -maksut
Mikä tekee salamaverkosta a verkkoon on, että käyttäjien väliset maksukanavat ovat yhteydessä toisiinsa. Käyttäjät voivat maksaa maksukanavien kautta verkon välittäjien kautta, jotka toimivat välittäjinä, käyttäjille, joilla ei ole suoraa kanavaa auki.
Kuitenkin juuri nyt yksi maksu on ohjattava yhdelle reitille. Jos yksi käyttäjä haluaa maksaa 5 mBTC toiselle, hänen ei tarvitse olla vain 5 mBTC yhdellä kanavalla, kaikilla reitin välittäjillä on oltava myös 5 mBTC valmiina kanavassa eteenpäin. Mitä suurempi maksu on, sitä pienemmät mahdollisuudet ovat.
Atomic Multi-Path Payments (AMP) voi olla pitkä tapa ratkaista tämä rajoitus. Ensimmäisen kerran Lightning Labsin Osuntokun ja Conner Fromknecht ehdottamat ajatus on yksinkertainen: Suuremmat maksut voidaan “leikata” pienemmiksi paloiksi, joilla kaikilla on oma reitti maksajasta maksunsaajaan eri välittäjien kautta.
Haaste tämän ratkaisun toteuttamiseksi on, että salaman maksut voivat epäonnistua, mikä tässä tapauksessa tarkoittaisi, että maksu suoritetaan osittain. Osamaksut voivat kuitenkin helposti olla suurempi ongelma kuin maksamatta jättäminen: kauppias ei tyydy osittaisiin maksuihin, kun taas asiakas ei mielellään kuluta rahaa turhaan.
Ratkaisu tähän ongelmaan on, että AMP: t käyttävät laajennusta hajautettuihin aikalukittuihin sopimuksiin, joita käytetään jo salaman reiteillä ja joihin liittyy salaisen tiedon siirtämistä verkon kautta. Käyttämällä temppua, joka on samanlainen kuin determinististen lompakoiden käyttämä temppu (joka tuottaa useita Bitcoin-osoitteita yhdestä siemenestä), maksunsaaja voi lunastaa pienemmän osan suuremmasta maksusta vain, jos ne kaikki ovat: jos jotkut salaiset tiedot eivät tee se koko reitin läpi, koko maksu epäonnistuu.
Atomivaihto
Salamaverkko on suunniteltu Bitcoinin skaalauskerrokseksi. Mutta koska monet altcoiinit ovat Bitcoinin koodipohjien ohjelmistohaarukoita, ei ole usein vaikeaa luoda vastaavia skaalauskerroksia näille altcoineille. Jo nyt on olemassa pieni Litecoin Lightning -verkko, ja todennäköisesti seuraa enemmän Lightning-verkkoja.
Mielenkiintoista on, että näiden verkkojen ei tarvitse pysyä erillään tulevaisuudessa.
Käyttämällä salamaverkon perusrakennetta, jota kutsutaan “atomivaihdoksi” (ensin ehdotettu Tier Nolan ja toteutti Lightning by Lightning Labsin Fromknecht), maksukanavat voidaan linkittää eri lohkoketjuihin. Toisin sanoen käyttäjä voi lähettää bitcoinia, ja niin kauan kuin verkon solmu on halukas vaihtamaan, toinen käyttäjä voi vastaanottaa maksun litecoinina.
Tietysti tämä tarkoittaa myös sitä, että käyttäjät voivat lähettää tällaisia maksuja itselleen: he voivat lähettää bitcoinia ja vastaanottaa litecoinia. Itse asiassa salamaverkko voisi perustaa luotettavan salauksen valuutanvaihtoverkon.
Lisätietoja tästä aiheesta on ohjeaiheessa: “Atomic Swaps: Kuinka salamaverkko ulottuu Altcoineihin.”
Kanavatehtaat
Salamaverkon tärkein etu on kiistatta sen mahdollisuus lisätä huomattavasti bitcoin-tapahtumien ylärajaa rasittamatta Bitcoin-verkkoa. Niin kauan kuin kahdella käyttäjällä on varoja kanavassaan, he voivat maksaa toisilleen käytännössä rajoittamattoman määrän kertoja, mutta vaativat vain kahta ketjutapahtumaa: yhden maksukanavan avaamiseksi ja toisen sen sulkemiseksi.
Silti kaksi maksutapahtumaa maksukanavaa kohden voi lisätä, jos Bitcoin ja Lightning Network saavat enemmän käyttöönottoa ajan myötä.
Ehdotus: ETH Zürich tutkijat Christian Decker (myös Blockstreamista), Roger Wattenhofer ja Conrad Burchert, nimeltään “Channel Factory”, voisivat edelleen vähentää maksukanavaa kohti vaadittavien ketjutapahtumien keskimääräistä lukumäärää, kenties merkittävästi.
Deckerin ja Wattenhoferin aikaisempaan salamankaltaiseen ehdotukseen vuodelta 2015 perustuen Channel Factory on eräänlainen maksukanava, jota voi esiintyä monien käyttäjien keskuudessa. Samaan aikaan, kuten mikä tahansa maksukanava, Kanavatehdas tarvitsee vain kaksi ketjutapahtumaa. (Jos Schnorr-allekirjoitukset pannaan täytäntöön Bitcoinilla, nämä tapahtumat voivat olla melko pienikokoisia, vaikka niihin osallistuu monia käyttäjiä.)
Kanavatehtaat voivat puolestaan toimia tavallaan kuin “alikanavat” salamaverkostoa varten. Kanavatehtaan osallistujat voivat avata ja sulkea käytännössä rajoittamattoman määrän Lightning-kanavia keskenään ilman erillisiä ketjutapahtumia. Tekemällä näin he voisivat teoriassa vähentää salamaverkon vaadittujen ketjutapahtumien määrää huomattavasti.
Lisätietoja aiheesta: “Tämä uusi skaalauskerros voisi tehdä maksukanavista kymmenen kertaa tehokkaampaa”.
Kiitos Blockstream-kehittäjälle Christian Deckerille, Lightning Labs -kehittäjälle Conner Fromknechtille, ACINQin toimitusjohtaja Pierre-Marie Padiou ja muille tiedoista ja palautteesta.