Spacechains: kuidas see uus Bitcoini külgahela ettepanek töötab

Allikasõlm: 1544330

Spacechains on kavandatud Bitcoini külgahel, mis pakub ühesuunalist sidumismehhanismi, kasutades pimeühendatava kaevanduse disaini.

Idee külgahelatest kui Bitcoini skaleerimis- ja funktsioonide laiendusmehhanismist on väga vana kontseptsioon. Omamoodi põhiline "esivanemate" idee külgahelatest, liita kaevandatud ketid, läheb isegi tagasi aega enne Satoshi kadumist.

See ettepanek oli lihtsalt idee, et kaks täiesti eraldiseisvat ja sõltumatut ketti kaevandaks sama kaevurite rühm, ilma et oleks võimalik midagi kettide vahel liigutada. The algne külgahela ettepanek tegid 2014. aastal paljud inimesed, kes asutasid Blockstreami sõna otseses mõttes nädal pärast paberi avaldamist. Põhiidee oli, et mündid saaksid liikuda edasi-tagasi peamise Bitcoini plokiahela ja muude külgahelate vahel, kasutades lihtsaid maksete kontrollimise (SPV) tõendeid, et tõestada asjade kehtivust, kui saadate münte ühest ahelast teise. See ei saanud kunagi teoks ahela ümberkorralduste rakendamise keerukuse, varguse ja kaevandamise tsentraliseerimise riskide tõttu (millest kõigest saab lugeda Bitcoini valge paber).

Külgahelate kinnitusmehhanisme võib olla kahte tüüpi, ühe- ja kahesuunalisi. Tähendused peaksid olema ilmsed – kahesuunalises ahelas võivad mündid liikuda edasi-tagasi põhiahela ja külgahela vahel ning ühesuunalises ahelas saavad nad liikuda ainult lähteahelast külgahelasse ega liigu kunagi tagasi. Praegu on Bitcoinis rakendatud ainsaks kahesuunalise külgahela sidumise vormiks ühine konsensus, mis tähendab, et sidumise tagab usaldusväärne “haldurite” kogum, kes säilitab kontrolli külgahelaga seotud rahaliste vahendite üle mitmesigilises rahakotis, kuni need välja võetakse.

Inimesed on aga jätkanud tööd muude külgahelate tihvtide kujundustega, mis ei ole ühendatud. Siin käsitlen ühe näitena Ruben Somseni Spacechaini ettepanekut. See on ühesuunaline kinnitusmehhanism, mis kasutab sarnaselt pimeühendatava miini konstruktsiooni Paul Stztorc's. See tähendab, et mündid võivad minna ainult külgahelasse ja mitte kunagi lahkuda ning et kaevurid ei pea külgahela kaevandamise eest hüvitise saamiseks uut tarkvara käivitama (kuid nagu ma hiljem käsitlen, saavad nad sellest rohkem kasu).

Spacechaini ettepanek

Ühendatud kaevandamine nõuab, et kaevurid juhiksid nii Bitcoini ahela kui ka mis tahes muu kaevandatava ahela sõlmpunkte, et koostada mõlema ahela plokid ja siduda need kaevandatavas Bitcoini ploki päises. Pimeliitkaevandamine kasutab ära asjaolu, et tegelikkuses peavad Bitcoini kaevandajad oma Bitcoini plokis siduma vaid teise keti ploki päisega, keegi teine ​​võib tegelikult võtta vaevaks teise keti ploki kokku panna.

Somseni pakutud mehhanismi saab kasutada ANYPREVOUT (APO), et võimaldada kõigil võistelda järgmise külgahela ploki ehitamisel, tagades samal ajal, et Bitcoini põhiahela ploki kohta saab siduda ainult ühe ploki. Rubeni ettepaneku teine ​​eelis on see, et see ei vaja spetsiaalset pehmet kahvlit, et võimaldada ruumiahelate kasutuselevõttu. Eltoo/ANYPREVOUT on välja pakutud Lightning Networki eelisteks, võimaldades paindlikke olekuahelaid ja kanalitehaseid. Spacechains on lihtsalt veel üks võimalus paljudest asjadest, millele ANYPREVOUTi lubamine tee sillutaks.

Tema pimeühendamise kaevandamise ettepaneku üldidee seisneb selles, et APO-d kasutades saate eelnevalt määratleda pika hulga tehinguid, mis võtavad nendesse sisestatud sama algse UTXO ja kohustuvad selle alati uuesti looma. Kujutage ette ühte satoshi UTXO-d, kus iga eelloodud tehing tagab, et sama UTXO luuakse kinnitamisel väljundina uuesti. Mõelge sellele kui omamoodi markerile, see spetsiaalne UTXO on identifikaator, mis võimaldab igaühel, kes vaatab peamist Bitcoini plokiahelat, teada: "See on koht, kus ma leian pühendumuse külgahela X plokkidele." See jätab siiski lahtiseks ühe probleemi: kaevurite tasud. Kui see UTXO tuleb sama summaga uuesti luua, pole tasusid tasuda.

Seda saab lahendada kasutades SIGHASH_SINGLE (sisendi allkiri märgib ainult selle üksiku sisendi ja vastava väljundi) ja SIGHASH_ANYONECANPAY (Inimesed saavad vabalt lisada täiendavaid sisendeid ja väljundeid ilma allkirja kehtetuks tunnistamata seni, kuni SIGHASH_SINGLE-i kasutav sisend/väljund jäetakse nii, nagu see on, et seda allkirja mitte kehtetuks muuta). Seejärel saab igaüks lisada sisendi ja muuta väljundit, et maksta tehingu eest kaevandustasusid.

Seda mehhanismi kasutatakse ka külgahela ploki plokipäisesse sidumiseks. Samamoodi, nagu Taproot seob end erinevate kulutingimuste puuga, kohandades tavalist avalikku võtit puu Merkle'i juurega, saab igaüks muuta tavalist avalikku võtit külgahela ploki plokipäise räsi abil. Külgahela sõlmed saavad seejärel paljastada ja edastada selle ploki päise koos osutiga põhiahela tehingule, et tõestada, et see tegelikult kaevandati. Sealt edasi teeksid külgahela sõlmed kogu tavapärase valideerimise tagamaks, et külgahela plokk järgib õigeid konsensuse reegleid, ja edastavad tegelikud plokid üle külgahela võrgu nagu põhiahelas.

Kui ühte põhiahela külgahela plokkidele sidumiseks kasutatud tehingutest kasutati kehtetu ploki sidumiseks või isegi andmete täielikuks prügiseks muutmiseks, siis kui külgahela sõlmed näevad ahelas kasutatavat sidumistehingut, võib juhtuda kaks asja: üks, kehtetu plokk levib üle külgahela võrgu ja kui see ei läbi valideerimiskontrolli, jääb see orvuks; või kaks, andmeid ei avaldata kunagi, sel juhul ehitatakse järgmine külgahela plokk viimase tegelikult avaldatud ploki peale ja rakendatakse sellele ning avaldamata kohustust eiratakse. See teine ​​​​võimalus järgib sama tüüpi pikima ahela loogikat nagu põhiahel, nii et isegi kui midagi selgub hiljem, jääb see siiski orvuks tulevaste plokkide tõttu, mis sellele ei ehitatud.

Kuid endiselt on topeltkulutamise probleem. Igaüks, kellel on markeri UTXO genereerimiseks kasutatud privaatvõti, võib potentsiaalselt kahekordistada ükskõik millise eelmääratletud tehingu, mida kasutatakse külgahela plokkidele sidumiseks, ja tühistada kogu komplekt sellest hetkest alates.

See lahendatakse signatuuri sisestamisega UTXO enda lukustusskripti. See lukustab allkirja sisendil ja väljundil, tagades markeri UTXO taasloomise järgmises seda kasutavas tehingus. Kuna see allkiri edastatakse ja seda kontrollitakse automaatselt, kui UTXO on kulutatud, ei ole võimalik seda lihtsalt teisega asendada ja teise sihtkohta kulutada.

See jätab alles viimase lahendamata probleemi. Teoreetiliselt oleks võimalik esitada mitu tehingut järjest ühte Bitcoini plokki, nii et kaevandajad kinnitavad suure hulga külgahela plokke ühes põhiahela plokis. Seda võidakse kuritarvitada teenuse keelamise ründamiseks külgahela võrku.

Selle probleemi lahendamiseks saab markeri UTXO skripti sisestada CHECKSEQUENCEVERIFY (CSV) suhtelise ajaluku, mis tagab, et ühes etteantud peaahela ploki sees saab kinnitada ainult ühte markerit UTXO kasutavat tehingut.

Kokku näeb see välja selline: 

allikas

Samuti väärib märkimist, et selle disaini kahte varianti saab rakendada CHECKTEMPLATEVERIFY (CTV) abil või ilma muudatusteta. Nendel kahel disainivariandil on lihtsalt ebaoptimaalsed kompromissid.

CTV variant kasutaks seda funktsiooni tehingute ahelasse sidumiseks, kasutades APO asemel CTV-d ja häkkimist, mis sisaldab UTXO lukustusskripti sees olevat allkirja. CTV seob kõiki CTV UTXO kulutamise tehingu väljundeid, kuid ei seo end peale enda sisendi.

See tähendab, et saate CTV tehingule lisada sisendeid, kuid mitte väljundeid. Seega võite tuua oma tasu nagu APO kujunduses, kuid te ei saa lisada külgahela ploki päisele kohustust.

Seega peame siin looma tehingu, mis on täiesti väljaspool CTV tehingute ahelat, et luua külgahela kohustus luua UTXO, millest piisab CTV tehingu tasu maksmiseks (kuna te ei saa luua uut muudatuse väljundit selle tehingu puhul läheb 100% teie lisatud sisendist tasudeks) ja tasu ettevalmistava tehingu sees UTXO on koht, kus me pühendume külgahela ploki päisele. Niisiis, esimene samm: tehing, mis loob tasu maksva väljundi ja kohustuse külgahela ploki päisele. Teine samm: võtame tasu väljundi ja lisame selle CTV tehingu sisendiks, mis kinnitamisel “kaevandab” meie konkreetse külgahela ploki. See variant näeb välja selline:

allikas

Järgmine variant kasutab lihtsalt eelallkirjastatud tehinguid. Seda saaks kasutusele võtta juba täna, kuid skripti piirangute tõttu peab see kõik tehingute tasud eelnevalt maksma kosmoseahela looja poolt.

Tehingute ahel algab ühest UTXO-st ja ahelas loob kaks väljundit. Esimeseks väljundiks on marker UTXO, mis annab märku, et tehingute ahel on seotud konkreetse ruumiahelaga, teine ​​aga väikese väärtusega UTXO, mida võib avalikult kulutada igaüks, kes lubab sellele lisada mõne muu sisendi/väljundi. See teine ​​tehing on koht, kus igaüks saab avalikult lubada olla esimene, kes kulutab ruumiahela tehinguahela teise väljundi, ja kasutada seda oma külgahela ploki päisele pühendumiseks.

CTV variandis tuli külgahela plokk siduda teisese tehinguga, kuna CTV ei võimalda CTV poolt lukustatud sisendit kulutavas tehingus uusi väljundeid lisada. See variant nõuab teisese tehingu kasutamist, sest kui lisate eelallkirjastatud ahelasse uusi sisendeid või väljundeid, muudate tehingu TXID-d ja tühistate kõik sellele järgnevad eelallkirjastatud tehingud. See variant näeb välja selline: 

allikas

Selle viimase variandi üks negatiivne külg on see, et kui isik, kes on eelnevalt allkirjastanud kõik tehingud, mida kasutatakse külgahela ploki kohustuste jaoks, ei kustuta selleks kasutatud privaatvõtmeid, saab ta ahela tõhusalt peatada, kulutades praeguse markeri UTXO igal ajal kahekordselt. aega.

Ja see on käes. See on uusim ettepanek Bitcoini külgahela kujunduse kohta ja seda saab rakendada kolmel erineval viisil, kusjuures ilmselge hoiatus on, et rakendatav tee, mida saab nüüd teha, on küsimus, et keegi peab privaatvõtme kustutama.

See artikkel on lihtsalt esimene seeriast, mis on seotud peamiste külgahela disainiettepanekutega, mis on Bitcoini jaoks avaldatud alates 2014. aasta algsest disainist. Hoidke ülejäänutel silm peal.

See on Shinobi külalispostitus. Avaldatud arvamused on täielikult nende omad ja ei pruugi kajastada BTC Inc või Bitcoin Magazine'i arvamusi.

Ajatempel:

Veel alates Bitcoin ajakiri