Po letih konceptualizacije in razvoja so prve izvedbe strele zdaj v različici beta. Posledično se vsak dan v spletu pojavlja več vozlišč, vedno večje število uporabnikov odpira kanale med seboj, nekateri trgovci pa so začeli sprejemati celo plačila Lightning.
Seveda pa so to še zelo zgodnji dnevi mreže Lightning. Medtem ko so glavne izvedbe uporabne in so na voljo nekatere denarnice in druge aplikacije, se bo v naslednjih nekaj letih Bitcoin-ovo prekrivno plačilno omrežje izboljšalo na področjih od mrežne arhitekture do varnosti in uporabnosti ter še več.
To je nekaj najpomembnejših projektov Lightning, ki se trenutno razvijajo.
Kanali z dvojnim financiranjem
Lightning Network je sestavljen iz vrste plačilnih kanalov. Vsak plačilni kanal obstaja med dvema uporabnikoma, kar omogoča pošiljanje sredstev med njimi in nazaj.
Vendar lahko v tej zgodnji fazi razvoja plačilne kanale financira samo ena od obeh strani. Finančna stranka mora najprej opraviti transakcijo s svojo nasprotno stranko; šele nato lahko nasprotna stranka vrne plačilo v istem plačilnem kanalu.
The Bela knjiga Lightning Network, vendar pa predlagani kanali z dvojnim financiranjem, za katere a predlog specifikacije je zdaj naredil tudi ACINQ, podjetje zadaj eclair. Kot že ime pove, bodo kanali z dvojnim financiranjem omogočili, da oba uporabnika delno financirata plačilni kanal, tako da vsak deponira nekaj bitcoinov. To naj bi uporabniški izkušnji Lightninga prineslo večjo prilagodljivost, saj lahko uporabniki po odprtju kanala takoj pošljejo in prejmejo plačilo.
Zamenjave podmornic
Za plačilo strele morajo uporabniki nakazati sredstva v kanalu Lightning. Ko pridejo v kanal, teh sredstev ni mogoče poslati na običajne (verižne) naslove Bitcoin (razen če je kanal najprej zaprt). To pomeni, da je bitcoin v kanalu Lightning nekoliko ločen od bitcoinov v običajni denarnici, za razliko od tega, kako je denar na tekočem računu nekoliko ločen od denarja na varčevalnem računu.
Vendar obstajajo rešitve, s katerimi lahko preklapljanje med Lightning in plačili v verigi postane bolj preprosto.
Ena od rešitev je Zamenjave podmornic. Razvil Alex Bosworth (konceptualiziral pa ga je Lightning Labs CTO Olaoluwa Osuntokun celo pred tem), Submarine Swaps v bistvu omogočajo uporabnikom, da pošljejo Lightning plačila posredniku v Lightning Network; ta posrednik bo poslal ustrezno količino bitcoina na običajni (verižni) Bitcoin naslov. Deluje tudi obratno: uporabniki lahko posrednikom pošiljajo redna plačila v verigi; ta posrednik bo nato poslal ustrezno količino bitcoina na prejemno vozlišče Lightning v Lightning Network.
Pomembno je, da se pri podmorskih zamenjavah ta pretvorba izvede “atomsko”. Z uporabo trika, ki je že vgrajen v Lightning Network, lahko plačilo Lightning in plačilo v verigi učinkovito povežete med seboj. To posredniku onemogoča, da bi ukradel sredstva tako, da ne bi posredoval plačila. (V dogovoru z uporabniki lahko za svojo storitev zaračuna majhno plačilo.)
Spajanje
Druga rešitev za boljšo uporabniško izkušnjo Lightninga se imenuje “spajanje”. V bistvu bi spajanje uporabniku omogočilo, da “napolni” sredstva v obstoječem Lightning kanalu ali “odteče” sredstva iz njega, potencialno ob ohranjanju odprtosti kanala.
Ideja je preprosta. Vsak Lightning kanal se začne z začetno transakcijo, ki zagotavlja, da oba uporabnika soglašata s premikanjem sredstev v kanalu. Preostali del kanala Lightning je sestavljen iz vrste naknadnih transakcij, ki si jih izmenjajo uporabniki, ki se običajno ne oddajajo v Bitcoin omrežje. Sredstva v otvoritveni transakciji se ne premikajo, dokler kanal ni zaprt.
Pri “spajanju” uporabniki sprejmejo začetno transakcijo in namesto tega pošljejo sredstva enemu ali obema nadomestnim začetnim poslom, ki vključuje več bitcoinov. Ko se ta nova otvoritvena transakcija potrdi na verigi blokov, se kanal dopolni. Dokler ni potrjena nova otvoritvena transakcija, lahko oba uporabnika preprosto posodobita tako stari kot novi kanal hkrati, da se izogneta kakršnim koli “izpadom kanala”.
Nasprotno pa, ko se uporabniki »razdelijo«, začnejo z začetno transakcijo, da pošljejo sredstva na običajni (v verigi) naslov, in lahko z istim trikom nekaj od tega zadržijo v kanalu. Na ta način lahko uporabniki izvajajo transakcije v verigi naravnost iz strelovoda.
Eltoo
Vsakokrat, ko se izvrši novo plačilo, se kanali Lightning med uporabniki posodobijo, da odražajo njihovo medsebojno stanje. Trik, s katerim se to doseže, trenutno vključuje kazen za uporabnike, ki poskušajo varati z oddajanjem starejšega stanja (verjetno zato, ker bi jim to starejše stanje plačalo več). Uporabniki, ki varajo, lahko izgubijo vsa sredstva, ki jih imajo na kanalu.
Težava je v tem, da oddajanje starih bilanc ni vedno goljufiv poskus. Obstajajo številni scenariji, v katerih lahko uporabniki nenamerno oddajajo starejše stanje; na primer zaradi napake programske opreme ali varnostne kopije. V takšnih scenarijih je popolna izguba kanalskih sredstev precej težka kazen.
Prvič objavljeno 30. aprila 2018, eltoo je najnovejši predlog, predstavljen v tem članku. Razvil Blockstream’s c-strela razvojna skupina – dr. Christian Decker in Rusty Russell – in Lightning Labs ‘Osuntokun, eltoo posodablja kanal z izgradnjo verige časovno zaklenjenih transakcij, pri čemer vsaka transakcija porabi sredstva iz prejšnje, da odraža najnovejše stanje kanala.
Če en uporabnik odda starejšo transakcijo (predstavlja starejše stanje na kanalu), ima njena nasprotna stranka nekaj časa, da odda najnovejšo transakcijo (ki predstavlja najnovejše stanje na kanalu).
Takšna rešitev bi danes lahko delovala, vendar v primeru okvare ni praktična. Zahtevalo bi, da se celotna veriga transakcij predvaja in snema na Bitcoin blockchain, kar bolj ali manj premaga namen Lightning Network. Decker torej predlagano soft-fork sprememba protokola Bitcoin za uvedbo vrste hierarhije pri teh vrstah transakcij: katera koli novejša transakcija lahko preglasi katero koli starejšo transakcijo, ne da bi bilo treba predvajati vse transakcije v celotni verigi.
Če se ta mehka vilica sprejme in aktivira v Bitcoin omrežju, lahko uporabniki strele ustvarijo kanale v trenutnem slogu in z uporabo eltoo, odvisno od tega, kaj jim je ljubše.
Kompaktno filtriranje blokov na strani odjemalca
Medtem ko je Lightning Network protokol druge plasti, je Bitcoin blockchain sam za varnost še vedno pomemben za uporabnike Lightninga. Natančneje, uporabniki strele morajo paziti na verigo blokov, da ugotovijo, ali so vključene posebne transakcije. To lahko zahteva veliko virov, zlasti za mobilne uporabnike.
Rešitev za to se imenuje poenostavljeno preverjanje plačil (SPV) in je bila opisana v beli knjigi Bitcoin. Trenutne denarnice SPV uporabljajo trik, imenovan »Bloom filtri”, Da ugotovi, ali se je zgodila kakšna pomembna transakcija.
Na žalost so Bloomovi filtri precej neprijazni do zasebnosti, saj denarnice v bistvu razkrijejo vse svoje naslove vozliščem v Bitcoin omrežju. Imajo tudi nekaj težav s skaliranjem in uporabnostjo, saj vsaka posamezna denarnica SPV zasede vire iz vsaj enega polnega vozlišča Bitcoin.
Za reševanje teh vprašanj sta Osuntokun in Alex Akselrod Lightning Labs skupaj z Coinbase razvijalec Jim Posen, zasnovan novo rešitev, imenovano “kompaktno filtriranje blokov na strani odjemalca”, ki jo izvajajo v Nevtrino denarnico.
Kompaktno filtriranje blokov na strani odjemalca v bistvu spremeni trik, ki ga uporabljajo trenutne denarnice SPV. Namesto da denarnice zahtevajo zanje pomembne transakcije z ustvarjanjem in pošiljanjem Bloom-filtra celotnim vozliščem, polna vozlišča ustvarijo filter za vse denarnice Neutrino. Denarnica Neutrino nato s tem filtrom ugotovi, da se ustrezna transakcija ni zgodila – kar je res vse, kar morajo uporabniki vedeti, da se prepričajo, da jih ne varajo. (Če filter ustvari ujemanje, Neutrino pobere ustrezen blok, da ugotovi, ali se ujemanje res nanaša na natančno transakcijo namesto na lažno pozitivno.)
Zanimivo je, da čeprav je bil ta trik zasnovan z mislijo na izkušnjo strele, bi ga lahko uporabili tudi v korist običajnih lahkih denarnic.
Stražni stolpi
Da bi se izognili prevari, morajo uporabniki Lightninga spremljati morebitne transakcije v verigi, ki bi lahko bile pomembne zanje.
Medtem ko bi moralo kompaktno filtriranje blokov na strani odjemalca stvari veliko olajšati, se morajo uporabniki občasno “prijaviti”, da se prepričajo, da jih ne varajo. Če pozabijo preveriti, to ustvarja varnostno tveganje.
“Stražni stolpi” so potencialna rešitev, ki jo lahko izsledimo do bele knjige Lightning Network in je že bila izboljšano avtor soavtorja bele knjige Lightning Network in prižgana razvijalec Tadge Dryja in drugi. Kot že ime pove, lahko Watchtowers uporabnikom omogočijo, da nadzor blockchain oddajo tretjim osebam.
Trenutna zasnova Stražnega stolpa ni postavljena v kamen, ampak bi približno delovala tako. Vsakič, ko uporabniki posodobijo kanal, pošljejo manjši paket podatkov v Stražni stolp. Prvi del tega paketa je “namig” na transakcijo, na katero bi morali biti pozorni, kot da bi šlo za del sestavljanke. Že samo namig ne razkriva ničesar o vsebini transakcije, na katero mora biti pozoren Stražni stolp; uporabniki se v tem smislu ne odrečejo nobeni zasebnosti.
Če pa se ustrezna transakcija prikaže v verigi Bitcoin, lahko Stražni stolp z namigom prepozna to. Nato lahko Stražni stolp s podatki o transakcijah na sami verigi blokov uporabi drugi del paketa, ki ga je prejel, za rekonstrukcijo kazenske transakcije. Ta denarna kazen pošlje vsa sredstva v kanalu uporabniku, ki ga varajo. (Ali pa v primeru eltoo samo oddaja pravilno ravnotežje kanalov.) Kazenska transakcija je lahko zasnovana tudi tako, da omogoča Watchtowerju del sredstev kot nagrado kot spodbudo za opravljanje svojega dela.
Uporabniki lahko nadzor nad kanali oddajo v več stražarnih stolpov. Tudi če ena odpove, druga morda ne, kar omejuje tveganje za uporabnike strele do te mere, da je verjetno zanemarljivo.
Atomska plačila z več potmi
Kaj naredi Lightning Network a omrežje je, da so plačilni kanali med uporabniki medsebojno povezani. Uporabniki lahko plačujejo prek plačilnih kanalov prek vrstnikov v omrežju, ki delujejo kot posredniki, uporabnikom, pri katerih nimajo odprtega neposrednega kanala.
Zdaj pa je treba enkratno plačilo preusmeriti na eno pot. Če želi en uporabnik drugemu plačati 5 mBTC, ne samo, da mora imeti v enem kanalu 5 mBTC, vsi posredniki na poti morajo imeti v kanalu za posredovanje pripravljenih tudi 5 mBTC. Večje kot je plačilo, manjše so verjetnosti tega.
Atomska plačila z več potmi (AMP) bi lahko precej rešila to omejitev. Ideja, ki sta jo prvič predlagala Osuntokun in Conner Fromknecht iz Lightning Labs, je preprosta: večja plačila je mogoče “razrezati” na manjše koščke, ki imajo vsak svojo pot od plačnika do prejemnika plačila prek različnih posrednikov..
Izziv za uresničitev te rešitve je, da lahko Lightning plačila ne uspejo, kar bi v tem primeru pomenilo, da je plačilo izvedeno delno. Delna plačila pa so zlahka večja težava kot nobeno plačilo: trgovec z delnim plačilom ne bo zadovoljen, stranka pa ne bo z veseljem porabila denarja za nič.
Rešitev te težave je, da AMP-ji uporabljajo razširitev pogodb s časovno zaklepanjem, ki se že uporabljajo na Lightning poteh in vključujejo posredovanje tajnih podatkov po omrežju. Z uporabo trika, podobnega tistemu, ki ga uporabljajo deterministične denarnice (ki generirajo več naslovov Bitcoin iz enega samega semena), lahko prejemnik plačila unovči manjše kose večjega plačila, če so vsi: če nekateri tajni podatki ne prebiti celo pot, celo plačilo ne uspe.
Atomske zamenjave
Lightning Network je zasnovan kot skala za Bitcoin. Ker pa so številni altcoini programske vilice Bitcoin-ovih kodnih baz, pogosto ni težko ustvariti podobnih slojev skaliranja za te altcoine. Že obstaja majhno Litecoin Lightning Network in verjetno bo sledilo še Lightning Network.
Zanimivo je, da teh omrežij v prihodnosti ni treba ločevati.
Uporaba temeljnega gradnika strelovitega omrežja, imenovanega “atomske zamenjave” (prva predlagano Tier Nolan in realiziran na Lightning by Fromknecht Labs Labs), lahko plačilne kanale povezujete v različnih verigah blokov. Z drugimi besedami, uporabnik lahko pošlje bitcoin in dokler je vozlišče v omrežju pripravljeno na izmenjavo, lahko drug uporabnik prejme plačilo kot litecoin.
To seveda pomeni tudi, da si lahko uporabniki taka plačila pošljejo sami: lahko pošiljajo bitcoin in prejemajo litecoin. Pravzaprav bi Lightning Network lahko vzpostavil mrežo nezaupljivih borz kriptovalut.
Za več informacij o tej temi glejte: “Atomske zamenjave: kako se strelovodno omrežje širi na Altcoins.”
Tovarne kanalov
Glavna prednost mreže Lightning je nedvomno njegov potencial, da močno poveča zgornjo mejo Bitcoin transakcij, ne da bi obremenil Bitcoin omrežje. Dokler imata oba uporabnika sredstva v svojem kanalu, si lahko plačujeta tako rekoč neomejeno številokrat, pri čemer zahtevata le dve transakciji v verigi: ena za odprtje plačilnega kanala in druga za njegovo zaprtje.
Kljub temu bi se lahko dve transakciji na plačilni kanal sešteli, če Bitcoin in Lightning Network sčasoma pridobita več posvojitev.
Predlog avtorja ETH Zürich raziskovalci Christian Decker (tudi iz Blockstream-a), Roger Wattenhofer in Conrad Burchert, imenovani “Channel Factories”, bi lahko še bolj zmanjšali povprečno število transakcij v verigi na plačilni kanal, morda bistveno.
Na podlagi predhodnega predloga Deckerja in Wattenhoferja, podobnega streli iz leta 2015, so Channel Factories vrsta plačilnega kanala, ki obstaja med številnimi uporabniki. Medtem, kot kateri koli plačilni kanal, tudi Channel Factory vedno zahteva le dve transakciji v verigi. (Če se podpisi Schnorr izvajajo na Bitcoinu, bi lahko bile te transakcije precej kompaktne, tudi če gre za veliko uporabnikov.)
Tovarne kanalov lahko za Lightning Network delujejo nekako kot »podkanali«. Udeleženci znotraj tovarne kanalov lahko med seboj odprejo in zaprejo tako rekoč neomejeno število kanalov Lightning, ne da bi morali zahtevati dodatne transakcije v verigi. S tem bi lahko teoretično zmanjšali število potrebnih transakcij v verigi za Lightning Network za velikost.
Za več informacij o tej temi glejte: “Ta nova stopnja skaliranja bi lahko plačilne kanale naredila desetkrat bolj učinkovite”.
Zahvaljujemo se razvijalcu Blockstream Christianu Deckerju, razvijalcu Lightning Labs Connerju Fromknechtu, izvršnemu direktorju ACINQ Pierre-Marie Padiou in drugim za informacije in povratne informacije.