Satashi Nakamoto je v petek, 31. oktobra 2008, na kriptografski poštni seznam poslal predlog za "nov elektronski sistem gotovine, ki je popolnoma enakovreden, brez zaupanja vrednih tretjih oseb". Prvi odziv - prvič kdo javno komentiral bitcoin - prišel je naslednjo nedeljo: "Zelo, zelo potrebujemo takšen sistem, " je zapisal James A. Donald, "vendar se, kot razumem vaš predlog, zdi, da ne dosega zahtevane velikosti."
Če gre za 10 let pozneje, ta kritika še vedno velja. Tudi najbolj goreči evangeličani bitcoina priznavajo, da je za nakupe majhnih vsakodnevnih nakupov brez vrednosti. Toda Lightning Network, eden najbolj obetavnih projektov za skaliranje bitcoin, ki trenutno poteka, bi to lahko spremenil.
Mreža strele
Izvršna direktorica Lightning Labs Elizabeth Stark je na vrhu na vrhu Blockstacka julija 2017 navedla prvo kritiko elektronske gotovine Nakamoto, vendar je izrazila prepričanje, da lahko bitcoin v resnici obsega. "V bistvu smo spet v letu 1995, ko gre za blockchains in decentralizirane tehnologije, " je dejala, navajajoč čas pred internetom, ki je kupil HTTP in druge transportne in aplikacijske plasti TCP / IP.
Med najbolj pogostimi aplikacijami za "plast 2" za bitcoin blockchain je strelovodno omrežje. Prva leta, ki sta jo leta 2015 predlagala Joseph Poon in Tadge, aka Thaddeus Dryja (najnovejša različica njihovega belega papirja je na voljo tukaj), so strele razvile v delujočo specifikacijo, ki so jo tri družbe imenovale strele-rfc ali "BOLTS", od katerih ima vsako lastna izvedba: Lightning Labs ima lnd, Blockstream ima c-strelo, ACINQ pa eclair. Razvijajo se tudi ne-BOTLS implementacije, na primer grom.
Strelovodno omrežje že deluje, vendar je v skrajni povojih. Pravi bitcoin je bil poslan in skoraj vedno prejet z uporabo Lightning Labs, Blockstream-jevih in ACINQ-jevih izvedb, vsi trije pa so interoperabilni. Spodnji video prikazuje inženirja ACINQ, ki s pomočjo vozlišča c-strele skoraj v trenutku pošlje 0, 000001 bitcoin (približno 0, 01 $) skoraj iz vozlišča eclair v lnd vozlišče:
Da bi videli, koliko izboljšanja to predstavlja, smo poskusili s podobno transakcijo v bitcoin blockchainu z uporabo GreenAddress, aplikacije za mobilno denarnico. Aplikacija predlaga rudarjem plačilo 0, 00001907 BTC (0, 19 USD): 1.907% pristojbine. Čeprav ni jasno, koliko blokov naj bi ta pristojbina potrdila v okviru (na GreenAddress smo izvedeli to), je odgovor verjetno šest blokov ali približno eno uro.
Nikoli ne bomo izvedeli, kako dolgo bi dejansko trajala določena transakcija: sporočilo o napaki nas je obvestilo, da "proizvodnja pod 546 satošiji velja za neekonomičen prah. Bitcoin povečajte vrednost."
Lightning Labs je prav tako preizkusil medverižne atomske zamenjave z uporabo omrežja; gre za prenose vrednosti med različnimi blockchaini, v tem primeru bitcoin in litecoin, ki potencialno pomenijo prvi korak k izgradnji decentraliziranih izmenjav.
Lightning omogoča mikroplačila, ki jih bitcoin ne more sam, vendar so obstoječe izvedbe še vedno hrupne. Stark uporabnike poziva, naj se naučijo o streli z uporabo bitcoin-ovega "testneta" (torej, da uporabljajo ponarejen denar), namesto "mainneta v živo". V času pisanja pa je bilo v mreži poslanih približno 50.000 dolarjev transakcij, nekateri pa so izgubili denar zaradi hrošča c-strele. (Christian Decker, glavni tehnični inženir v Blockstreamu, mi je po e-pošti povedal, da so sredstva v večini primerov na koncu povrnjena.)
Kako torej deluje strela?
Kako deluje strela
Lightningova rešitev temelji na dvosmernih plačilnih kanalih zunaj verige. Povejte, da sta Alice in Bob pogosto v majhnih količinah. Plačila prek verige v tem primeru niso praktična zaradi pristojbin in dolgih potrditvenih časov, zato se odločijo, da bodo odprli kanal, ki jim omogoča, da nemudoma in brezplačno pošiljajo bitcoin.
Odpiranje kanala
Če želite odpreti kanal, Alice, Bob ali oba prispevata določeno količino bitcoina na poseben naslov prek tako imenovane transakcije financiranja (zeleni okvir na spodnjem diagramu). Recimo, da Alice prispeva 1 BTC. Sredstva pošlje na tako imenovani večtisemski naslov 2-of-2, ki od Alice in Boba zahteva, da kriptografsko "podpišejo" vsako poslano transakcijo s svojimi zasebnimi ključi. Običajna transakcija zahteva samo podpis (enojnega) zasebnega ključa, ki ustreza javnemu ključu pošiljalnega naslova.
Pomembno je, da transakcija financiranja še ni podpisana ali oddana v omrežje.
Nato Alice in Bob ustvarijo "transakcijo z obveznostmi", pri čemer uporabijo transakcijo financiranja kot svojega "nadrejenega": svoj nepotrjeni izhod 1 BTC uporabljajo kot vhod za "otroško" transakcijo, ki pošlje 0, 5 BTC v Alice (izhod 0) in 0, 5 BTC do Boba (izhod 1). Če protestirate zaradi tega, da protokol bitcoin ne dovoli uporabnikom, da bi podpisovali porabo, ne da bi vedeli, da so vpisi podpisani, je bila ta sposobnost dana z mehko vilico.
Nato Alice podpiše izhod, ki pošlje Bobu 0, 5 BTC; Bob podpiše izhod, ki pošlje Alici 0, 5 BTC. Oba nato podpišeta in oddajata transakcijo financiranja, ki je zavezana k bitcoin verigi bitcoin (in ob upoštevanju omrežnine in čakalnih dob).
Zdaj imajo odprt plačilni kanal, preko katerega lahko takoj in brez plačila prenesejo bitcoin. Ali ga Alice ali Bob lahko kadar koli zapreta in zahtevata 0, 5 BTC, ali kar koli že posodobljenega stanja.
Odpiranje kanala… V angleščini
Razen če že veste kar nekaj o notranjosti strele, je verjetno težko prebaviti "znak tukaj, najprej tukaj, preživite to, oddajajte to - ne pa to. "
Tu je bolj konceptualni opis. Transakcija financiranja se sliši tako: zagotavlja sredstva za kanal. Deluje tudi kot zgornja meja za kanal: nobena od strank ne more doseči več kot prvotni znesek financiranja, preostali znesek obeh strani pa mora do tega zneska. Razlog za financiranje transakcije je bil ustvarjen prvi, vendar oddaja zadnji, je, da če bi bil preprosto postavljen v blockchain v enem koraku, nič ne bi bilo izvedeno razen ene same navadne transakcije. Strele teh ne naredijo hitrejšega ali cenejšega.
Če pustite transakcijo financiranja odprto, vstavite transakcijo za prevzem obveznosti - ki, kot je opisano spodaj, deluje kot nekakšna pametna pogodba - in nato zaprete transakcijo financiranja, strele odpirajo nekakšno črvo v omrežju. Omogoča vam premikanje bitcoina naprej in nazaj po eni, določeni poti. Uporabljate protokol bitcoin, vendar zaobidete zamude in stroške, ki jih naložijo rudarji.
Ohranjanje strele
Recimo, da Bob zdaj želi plačati Alice 0, 1 BTC po svojem odprtem kanalu. Obe stranki preprosto posodobita transakcijo zavez - rudarjem se ni treba pritožiti. Preostali znesek, prej 0, 5 BTC, je zdaj 0, 6 BTC za Alice, 0, 4 BTC za Boba.
Edina težava je, kako to varno storiti? Ker so že zamenjali podpise za prvotno transakcijo, bo Bob lahko podpisal tisto - in ne najnovejšo - in odšel s 0, 5 BTC namesto 0, 4 BTC, ki mu je dejansko dolžan. Z drugimi besedami, lahko od Alice ukrade okoli 1000 dolarjev na podlagi cen v času pisanja. Odgovor je lahko, da odpirate kanale samo z ljudmi, ki jim zaupate. Toda kaj je potem smisel uporabe bitcoina?
Iskanje kriptografske rešitve te dileme se sesuje v en cilj: onemogočiti podpisovanje stare transakcije in zapiranje kanala na način, ki odraža prejšnje stanje. Dokler je to možnost, imajo strele težave z dvojno porabo.
Ne pozabite, da Bob podpiše polovico posla (zaveza Tx 1a spodaj), ki jo lahko predvaja samo Alice, ker je njen manjkajoči podpis. Alice podpiše drugo (Predanost Tx 1b), ki jo lahko nato oddaja le Bob. Vsak lahko to stori in zapre kanal, toda z uporabo (omejenih) zmogljivosti za pisanje pogodb o bitcoin-u lahko za izhode obeh polovic transakcijske zaveze veljajo različne omejitve. Zlasti en izhod lahko prejemniku omogoči, da takoj porabi sredstva, drugi pa lahko prekliče katero koli stranko - prek pogodbe o odpoklicu zapadlosti (RSMC) - za določeno časovno obdobje, na primer 1000 blokov ali približno teden.
Tu je, zakaj je to koristno. Če se izkaže, da je Bob zloben in nepridipraven, lahko le podpiše in predvaja zavezo Tx 1b (zgoraj), ki Alice izplača takoj (Dostava 1b) in zadrži svoja sredstva v preklicanem limbu za en teden (Revocable Delivery 1b). Alice, ker jo je Bob skušal zamenjati, lahko sproži preklic in zatrdi, da ni poskušal ukrasti le 0, 1 BTC, ampak 0, 4 BTC, do katerega bi bil sicer upravičen.
Z drugimi besedami, celoten kanal gre v Alice, če ujame Bob varanje. To je mogoče, ker ko stranke ustvarijo novo obveznostno transakcijo (C2a in C2b spodaj), ki dejansko obljublja, da ne bo predvajala stare transakcije z obveznostmi (C1a ali C1b), svoj denar vložijo tam, kjer so njihova usta. Skupaj z novo transakcijo prevzema obveznosti ustvarijo transakcijo odprave kršitev z dvema izhodoma (BR1a in BR1b), ki veljata za prejšnjo obveznost. Alice daje Bobu svoj zasebni ključ za njegovo polovico posla s kršitvami kršitve in obratno. Če zdaj skuša predvajati staro transakcijo, lahko nasprotna stranka izkoristi čakalno dobo v 1000 blokih in se pomakne pred to transakcijo, pri čemer prevzame celoten znesek.
Težava je v tem, da mora Alice pozorno spremljati svoje kanale, da jo Bob ne bi ujel za 1000 blokov. Poon in Dryja predlagata, da imenujeta neko tretjo osebo, katere naloga je, da sproži transakcije za odpravo kršitev - tiste, ki nakažejo vsa sredstva kanala napačni stranki - ko nasprotna stranka poskuša prevarati. Ti bi lahko plačali pristojbino izven kazni.
Olaoluwa Osuntokun, soustanovitelj Lightning Labs in CTO, razvija "stražarske stolpe", ki služijo kot ti tretji izvršitelji. Medtem ko se pojavljajo pomisleki, da bi lahko ta vozlišča delovala kot zaupanja vredne stranke in v omrežje vnesla negotovost, Osuntokun sporoča CoinDesku, da bo za določen kanal potreben samo en pošten stolp.
Kot je v elektronskem sporočilu poudaril Christian Decker, glavni tehnični inženir v Blockstreamu, je goljufija tvegana. Pomembno je predvideti, da se stranka, ki jo poskušate oropati, ne bo prijavila vsaj enkrat na teden in tveganje, da boste izgubili ves denar na svojem kanalu, bo morda dovolj odvračilnega.
Povezava kanalov
V resničnem svetu Alice ne želi izključno z Bobom, niti Bob izključno z Alice. Oba imata poljubno število nasprotnih strank, ki jih morata plačati in plačati. Odpiranje kanalov z vsako od teh strank bi bilo nepraktično. Tudi če bi uporabniški vmesnik poenostavili do popolnosti, bi le malo uporabnikov imelo potrebno likvidnost, da bi povezala bitcoin na ducat ali več odprtih kanalov.
Na srečo jim tega ni treba. Kot je razvidno iz zgornjega videoposnetka, lahko uporabniki plačujejo plačila prek vmesnih uporabniških kanalov, tako da bi moralo biti plačilo vsem, ki imajo odprt kanal ali dva, po načelu šeststopenjske ločitve. Za razliko od transakcij na enem kanalu bodo te večkanalne transakcije verjetno vključevale majhne pristojbine za spodbuditev vozlišč za financiranje kanalov in njihovo ohranjanje odprto. Usmerjanje s čebulo, tehnika, ki se uporablja za prikrivanje uporabnikov brskalnika TOR, preprečuje, da bi vmesna vozlišča videla celotno pot, opravljeno s transakcijo, kar ublaži težave glede zasebnosti.
Kako dobro deluje ta splet kanalov v praksi, še ni treba videti, in mogoče je zamisliti, da bi se lahko, če bi plačila potrebovala preveč prepletena pot - s preveč "skokov" po vmesnih kanalih, zaračunali pristojbine.
Ali lahko strela ostane decentralizirana?
Te skrbi so povezane z eno, ki za kritike predstavlja nepremostljivo napako v strelovodnem omrežju. V današnjih izvedbah kanal prihaja z zgornjo mejo: količina bitcoina v začetni transakciji financiranja omeji skupni znesek denarja v kanalu.
Ta položaj uporabnikom prinaša kompromis z razumno omejenimi sredstvi. Lahko bodisi financirajo kanale z velikimi količinami bitcoina, da bi zagotovili, da imajo sredstva za izvedbo kakršnega koli plačila, ali pa lahko financirajo manjše kanale in imajo na voljo bitcoin za druge namene. (Ker se plačila lahko izvajajo prek povezanih kanalov, določenemu uporabniku verjetno ni treba odpreti več kot peščica kanalov in morda le nekaj.)
Izbira se zmanjša na likvidnost znotraj strelovodnih kanalov ali likvidnost zunaj njih na verigi. Izbira za financiranje likvidnih plačilnih poti bi lahko bila tvegana, če stražni stolpi ali kakšna druga rešitev ne prepreči izgube sredstev zaradi nepazljivosti. Po drugi strani pa, če bi plačilni kanali bili varni in strele postanejo glavna metoda za vsakodnevno uporabo bitcoina, bi bilo majhno vprašanje, če bi sredstva zapustili v kanalih. Kot Decker trdi, bi služili kot "polnilna debetna kartica ali gotovina", medtem ko glavna veriga deluje kot varčevalni račun.
Stark navaja podoben argument: financiranje strelovodnega kanala vam preprečuje uporabo tega bitcoina za kaj drugega, razen za "mrežo potencialno številnih vozlišč, ki bodo prek multihopa takoj sprejela bitcoin", je zapisala po e-pošti. "Predvidevamo, da bodo sredstva na strelih Lightning bolj koristna kot spletna bitcoin za transakcije zaradi trenutne hitrosti in nizkih pristojbin, " je dodala.
Vozli?
Ampak s kom bi postavili te kanale? Izbira Boba za svojo Alice je ekonomska odločitev, ne kriptografska, in kritikom strelovodnega omrežja bi bil očiten odgovor nekakšno "vozlišče", vozlišče z veliko kapitala, ki bi mu omogočilo vzdrževanje dobro financiranih odprtih kanalov z več strankami hkrati.
Zamisel, da bi se lahko zgodilo, da to, kar predstavlja bančno panogo brez verige, vznemirja ljubitelje bitcoin, ki to vidijo kot centralizacijo omrežja.
Stark izpodbija to trditev. "Na tisoče uporabnikov poganja polne vozlišč za bitcoin, " piše, "in verjamemo, da bodo tisti in drugi tudi na Lightning poganjali vozlišča (lažje je, ker skupaj z njim ne potrebujete polnega vozlišča bitcoin in za razliko od bitcoin polnih vozlišč lahko od poti usmerite majhne pristojbine). " Poudarja tudi, da se njena ekipa ukvarja z "spajanjem", kar bi omogočilo dopolnitev kanalov z bitcoini iz glavne verige. Ta sposobnost bi lahko olajšala kompromis med dajanjem bitcoina v kanal ali ga pustila v glavni verigi, kar bi lahko zmanjšalo težnjo po tem, da se vozlišča oblikujejo.
Decker meni, da bo verjetno nastalo "dvotirno omrežje z velikim številom vozlišč, ki so zanesljiva in delujejo kot hrbtenica omrežja." Vendar pričakuje, da bodo to trgovci, ne pa vozlišča, ki obstajajo izključno za zagotavljanje tekočih kanalov. Zagotavljanje teh kanalov za več uporabnikov bi bilo, po njegovem mnenju, drago, saj bi od vozlišč morali zaračunati visoke pristojbine in jih narediti nekonkurenčne v primerjavi z drugimi vozlišči.
Generalni direktor ACINQ Pierre-Marie Padiou ne ve, kako se lahko razvija strelovod. "Zelo težko je napovedati, kakšno ravnovesje bo med centralizacijo in decentralizacijo, " je zapisal po elektronski pošti. "Seveda bo večjih vozlišč in manjših vozlišč, toda v kolikšni meri je to predhodno težko povedati."
Prava pot do lestvice?
Poon in Dryja zatrjujeta, da "s pomočjo omrežja teh mikroplačilnih kanalov lahko Bitcoin doseže več milijard transakcij na dan z računalniško močjo, ki je danes na voljo v sodobnem namiznem računalniku." Mogoče, vendar danes zagotovo ni tako. V času pisanja je odprtih manj kot 1.000 strelovodov mainnet.
Prav tako ni strela edini predlog za spreminjanje velikosti. Glavni konkurent je bitcoin cash, sporna trda vilica bitcoina, ki omogoča večje bloke. Razprava med podporniki denarja za bitcoin, podporniki strele in zagovorniki različnih tretjih načinov - tudi občasnih anti-skalerjev - je živahna, če pa tudi huda. Lahko se zgodi, da bosta eden ali drugi prišli na vrh, da bosta še naprej obstajala, ali da bo vse spodletelo.
Vsekakor je strelovod obetaven poskus premagovanja dileme o razširljivosti, ki je preganjala bitcoin od prvega vikenda bitcoina leta 2008.
