Taproot on jõudmas Bitcoini: kuidas see töötab, selle ajalugu ja tagajärjed PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Taproot tuleb Bitcoinile: kuidas see töötab, selle ajalugu ja tagajärjed

Taproot on jõudmas Bitcoini: kuidas see töötab, selle ajalugu ja tagajärjed PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Taprooti ja Schnori allkirjad avaldatakse Bitcoinis plokis 709,632 XNUMX. See on tohutu põhisaavutus, millele tulevikus edasi ehitada. Möödunud on neli aastat ajast, mil Segregated Witness võrku tuli, mis on meie viimane suurem protokolliuuendus. See on sama pikk kui poolitamise tsükkel!

Mõelge sellele. Neli aastat SegWiti otseülekandest Taprooti otseülekandeni. Aeglane, metoodiline kannatlikkus, nagu peab. Kuid Taprooti/Schnorri ajalugu ulatub sellest palju kaugemale.

Taprooti ajalugu

Mõned, kes on siin mõnda aega viibinud, võivad seda irooniliseks pidada, kuid esimene mainimine Schnori allkirjadest, millest ma olen teadlik, pärines tegelikult endisest Bitcoin Core'i arendajast, kellest sai ettevõtte plokiahela ehitaja Mike Hearn. 2012. aastal ta üles kasvatatud idee uuest krüptograafilisest kõverast seoses allkirjade partii kontrollimisega, et muuta sõlmede valideerimine arvutuslikult vähem kulukaks. Lõppkokkuvõttes sõltus tema pakutud skeem Schnori allkirjadest.

Adam Back arutas naiivset skeemid teha Schnori signatuure kasutades multisig-aadresse, mis nägid välja nagu üksikud aadressid 2014. aastal. Isegi Gavin Andresen kaasa arvatud Schnorr ECDSA asemel tema soovide nimekirjas muudatustest, mida ta teeks Bitcoinis, kui saaks võlukepiga vehkida.

Alates Bitcoini päris algusest on enamik Bitcoin Core'iga aktiivselt osalenud arendajaid soovinud Schnorri allkirju ja nende paremuse osas ECDSA allkirjade suhtes on alati olnud üsna kindel konsensus. Tegelikult võib väita, et ECDSA loodi just seetõttu, et Schnori allkirjaskeem oli patenteeritud, ja oli tohutu vajadus avatud lähtekoodiga krüptograafilise allkirjade skeemi järele, mida patentid ei koormaks.

Schnorr on palju tõhusam ja hõlpsamini manipuleeritav (allkirjadest saab asju liita, lahutada jne ning õigesti tehes võib siiski jätta kasutajatele kehtivad allkirjad siis, kui need peaksid olema) kui ECDSA. ECDSA kasutamine oli enamikus krüptograafilistes rakendustes aastate jooksul pigem vajaduse kui soovi küsimus.

Merkelized Abstract Syntax Trees (MAST), mis on selle eelseisva Taprooti versiooniuuenduse Taproot pool, omab sarnast pikaajalist ajalugu. Ma ei leia tsitaati, kuid mäletan üsna selgelt, et nägin seda fraasi, mida Peter Todd nagu Peter Todd saidil Bitcointalk.org umbes 2013. või 2014. aastal ümber viskasid.

Algne BIP MAST-i jaoks Johnson Lau pakkus välja 2016. aastal. See ettepanek leidis tegevust ka 2017. aasta paiku, kui Mark Friedenbach, BTCDrak ja Kalle Alm jagasid selle kaheks eraldi piiripunktiks (116 ja 117) ja laiendas Lau esialgset ettepanekut.

MAST istus järgmise aasta teadmatuses, kuni Greg Maxwell tuli välja esialgse Taprooti ideega ja avaldatud see bitcoin-devi meililisti. Tema peamine arusaam oli, et igas mitme osaleja vahelises lepingujuhtumis, millele ta võib mõelda, oli "optimaalne tulemus", kus lepingu võisid kõik sõlmida lihtsalt sobivale tulemusele alla kirjutades, selle asemel et tulemust täiustatud skriptide ja tehingutega jõustada. See on põhiväide, millel Taproot põhineb, st MAST-i puu muutmisel tavaliseks tipptasemel võtmeks, mida saab kulutada ilma, et paljastataks, kas muude kulutingimuste Merkle'i puu on üldse olemas.

Selle ajalootunni viimane väike osa algab Pieter Wiulle'i kuulutamisega piiripunktide kavandid Schnorri ja Taprooti jaoks koos meililistiga 6. mail 2019. 2020. aasta jaanuariks vormistati see ametlikult Piiripunktid 340, 341 ja 342. Sellest hetkest peale oli tegemist vaid väikeste detailide viimistlemisega juurutamise tasemel, mõne läbivaatamisperioodiga ja seejärel pika veniva perioodiga. võitlus aktiveerimismehhanismide üle. See viib meid praeguseni, lihtsalt aktiviseerumise häbelik.

Schnorri allkirjade tähtsus

Niisiis, mis on Schnori allkirjade suur asi? Alustuseks teevad nad tehinguid väiksemaks. ECDSA allkirja suurus on tavaliselt tehingu ühe allkirja jaoks umbes 72 baiti. Schnorri allkirjade arv on maksimaalselt 64 baiti signatuuri kohta. Võrreldes ECDSA-ga on iga Schnorri allkirja puhul umbes 12% suurusesääst. See on nii otsene kasu Schnori kasutavale inimesele, kes maksab vähem tasusid kui ECDSA kasutaja, kuid see on ka otsene kasu inimestele, kes Schnori ei kasuta, kuna nõuavad, et plokiahelas salvestataks veidi vähem andmeid, et töödelda ja kinnitada kellegi teise Schnorrit. allkirjad.

Vähem andmete salvestamine on alati hea, kuid veelgi parem on suurendada salvestatavate andmete valideerimise tõhusust. Üks Schnori toredaid omadusi, selle taga oleva matemaatika lineaarsus, võimaldab ka Bitcoini andmetes soovitud omadust: partii valideerimist. Kui teie sõlm saab võrgust ploki, analüüsib see iga üksiku tehingu ja kinnitab iga allkirja ükshaaval.

See on suur osa sellest, miks plokkide valideerimine kulutab palju protsessori võimsust. Schnori allkirjad saab kõik kokku panna ja matemaatiliselt kinnitada korraga, nagu need kokku lüüa ja üksikute allkirjade asemel teha üks matemaatiline tehte. Seega, mida rohkem on Schnorri allkirju, seda suurem on arvutuslik kokkuhoid. See on võrgu jaoks tohutu skaleerimise võit.

Veel üks suur edasiminek, mille Schnorr toob, on mitme allkirjaga skriptid. Iga multisig-aadress peab selgesõnaliselt paljastama kõik individuaalsed avalikud võtmed, mis on kulutamise ajal multisig-skriptis kaasatud, ja iga kulutamisprotsessis osaleva võtme jaoks tuleb anda allkiri. Schnori matemaatiliste omadustega avaneb uks mitmesignatuuri standardile MuSigile. Saate lihtsalt võtmed kokku liita ja lõpetada ühe avaliku võtmega, millele kõik privaatvõtme jagajad saavad allkirjastada, kasutades uusi allkirjaprotokolle. Jonas Nick Blockstreamist võrdlusuuring MuSig2 jaoks kulub kaks minutit üks miljon osalejad multisig aadressi allkirjastamiseks. Mitmesignatuuriga skriptide skaleerimise täiustamist ei saa alahinnata.

Sellel mitme allkirjaga skriptide tohutul arengul on tohutu mõju ka paljude Bitcoinile ehitatud rakenduste privaatsusprofiilile ja kuludele. MuSig-põhised Lightning-kanalid saavad nüüd sulanduda kogu Schnorr/Taproot UTXO-de anonüümsuskomplekti ahelas, sest keegi ei suuda enam eristada tõsiasja, et tegemist on kaks kahest multisig-väljundiga.

Need sulanduvad ja näevad välja nagu ühe allkirja skript. Sama kehtib kõigi multisig UTXO kohta üldiselt. Sellel on palju mõju inimestele, kes kasutavad mitme allkirjaga skripte, et kaitsta oma külmmälu paremini tugevama turva- ja taastemudeliga kui ühe allkirja skript.

Esiteks ei ole plokiahelat jälgides ilmne, et nad kasutavad multisig-seadistust, nii et see, nagu Lightningi puhul, sulandub nad kõige muuga. Võtmevõit on siiski seotud majandusega: mitme allkirja kasutamine nõuab praegu eraldi allkirja andmist iga võtme jaoks, mis on seotud UTXO kulutamisega. Schnorr/MuSig-iga tihendatakse asjad ühe kombineeritud avaliku võtme jaoks üheks signatuuriks, mis tähendab, et multisig UTXO-de kulutamine MuSigiga muutub palju odavamaks, kuna see surub plokiahelasse vähem andmeid.

Viimane lahe asi, mida Schnorri allkirjad teevad, on adapteri signatuuride rakendamise drastiline lihtsustamine. Mõelge adapteri allkirjale, mis on "krüpteeritud" väärtusega, mis on lisatud või lahutatud kehtivast allkirjast. See ei kehti enne, kui muudate selle matemaatilise toimingu tagasi või "dekrüpteerite selle" võtmega, mida sellega manipuleerimiseks kasutati. See on ECDSA puhul võimalik, kuid kuna matemaatika on Schnorriga võrreldes mittelineaarne, on see suhteliselt keeruline ja selle rakendamisel tuleb arvestada paljude turvaprobleemidega.

Schnori lineaarsete omaduste tõttu on aga adapteri signatuur sama lihtne kui võtta üksik (näiteks arv 9,300,030 30 XNUMX) ja lahutada sellest väärtus (näiteks XNUMX). Kui adapteri allkirja omav osapool saab lahutatud väärtuse teada, saab ta selle lihtsalt tagasi lisada ja voila, on neil jälle kehtiv allkiri.

Taprooti tagajärjed

Nagu eespool juttu oli, on Taproot tegelikkuses sisuliselt lihtsalt MAST, välja arvatud see, et see töötab nagu P2SH (kus räsitakse skript või MAST-i puhul skriptipuu ülaosa Merkle'i juur), vaid „näpistatakse” Schnori avalik võti Merkle puu juure järgi.

Tutistamine toimib tänu Schnori lineaarsetele omadustele – kui “näpistada” avalikku võtit Merkle juurega (lisa see Merkle juur avalikule võtmele), siis saad lihtsalt lisada Merkle juure algsele privaatvõtmele ja genereerida kuluvõtme uus kohandatud avalik võti. St lisate sama asja nii avalikule kui ka privaatsele võtmele ja need on endiselt kehtiv võtmepaar. See peidab MAST-puu olemasolu, välja arvatud juhul, kui selle haru kasutatakse, kuid põhimõtteliselt on see siiski lihtsalt MAST-puu, millele on pühendunud tõhusamal ja privaatsemal viisil.

Võimalus pühenduda Merkle'i puus erinevatele kuluskriptidele ja paljastada ainult kasutatud skript on tohutu mastaapsuse võit nutikate lepingute keerukuse osas, mida on võimalik Bitcoinile tugineda.

Nii nagu ploki suurus piirab tehingute arvu ploki kohta, on ka tehingu suuruse piirang 100 kilobaiti. Ainus erinevus seisneb selles, et selle asemel, et olla konsensuse reegel, on see poliitiline reegel. See tähendab, et kaevandaja saab kaevandada tehingu, mis on suurem kui 100 kilobaiti, kuid vaikimisi ei edasta keegi võrgusõlm sellest suuremat tehingut kaevandajale.

See piirab olemuselt Bitcoin UTXO lukustamiseks kasutatava skripti suurust. Isegi P2SH-ga, kus UTXO on lukustatud skripti räsi külge, mida ei avaldata enne, kui olete selle kulutanud, peate lõpuks siiski kogu skripti kulutamise ajal avaldama. Taproot suurendab seda skripti skaleeritavuse piirangut, kuna ei nõua selle kasutamisel kogu skripti avalikustamist. Selle asemel, et kõigi UTXO kulutamise viiside kogumaht oleks piiratud tehingumahu piiranguga, peate ainult veenduma, et iga üksik Taprooti UTXO kulutamise viis järgib seda piirangut.

Taprootiga kaasneb ka palju privaatsushüvesid. MAST-puu üheks suureks eeliseks on võimalus luua kõikvõimalikke tingimuslikke olukordi, kus münte saavad kulutada teised osapooled.

Kujutage ette selliseid asju nagu pärimisskeemid, kus umbes aasta pärast saavad teie lapsed teie münte kulutada või juhul, kui keeldute allkirjastamast, on teie naisel ja advokaadil võimalik münte tagasi saada. Nende kulutingimuste kohta ei avaldata avalikkusele midagi, kui neid tegelikult ei kasutata. See kahekordne protsess annab teistele teie loodud erinevate kuluharudega seotud osapooltele usutava eitavuse seoses nende seotusega selles UTXO-s, samuti kaitseb neid varga või ründaja eest, kes neid ennetavalt sihib, teades, et neil on teatud määral kontroll oma kulutuste üle. sihtmärgi UTXO-d.

Tehnilisel tasandil on Taproot samuti suhteliselt hästi konstrueeritud. Kõik, kes loevad, kes tunnevad Eraldatud tunnistajat mis tahes sügavamal tasemel, peaksid olema kursis tunnistajaversiooniga.

Segregated Witnessi juurutamisel lõi see tehingu uue "tunnistaja" jaotise, kuhu allkirjaandmed teisaldati. Tunnistaja andmetel oli versiooni lipp, nii et neid sai uuendada uutele funktsioonidele, ilma et oleks vaja uute funktsioonide jaoks kasutada baaskihi määratlemata OP_CODE-sid.

See on tegelikult see, kuidas Taproot/Schnorr on rakendatud. Eraldatud tunnistaja tehingud kasutavad tunnistaja versiooni null. Kui Taproot/Schnorr varsti avaldatakse, kasutavad nad uut tunnistajaversiooni, et eristada neid vanematest eraldatud tunnistajate tehingutest. Samamoodi nagu SegWit tutvustas tunnistajaversioone, tutvustab Taproot Taprooti kasutavate UTXO-de MAST-puudes kasutatavate koputusskriptide jaoks "tapleaf-versiooni". See mitte ainult ei võimalda MAST-i maetud skripte uuendada ilma aluskihil uusi OP_CODE-sid kasutamata, vaid ka ilma, et oleks vaja uuendada ka tunnistajaversioone! Seega loodi Taproot nii, et see oleks tulevikus uuendamiseks võimalikult tõhus, piiramata muid protokolli mitteseotud uuendusi.

Taproot pakub palju erinevaid kasutusjuhtumeid. Alustuseks saab kõik välkkanalis olevad koostööst keelduvad klauslid, nagu trahvivõtmed või ajalukud, mis võimaldavad nende kasutamist, matta koos Taprootiga MAST-i alla. Keegi ei saa kunagi teada, et need on olemas, välja arvatud juhul, kui neid on vaja kasutada, mis varjab veelgi, millised UTXO-d on tegelikult välgukanalid või mitte.

Pärimisskeemid on teine ​​kasutusjuht. Kujutage ette Taprooti puud, mis on struktureeritud nii, et pärast kuue kuu möödumist, kui te pole oma raha liigutanud, saab kogu teie pere kokku tulla ja kulutada UTXO-d nii, nagu nad soovivad. Siis kuus kuud hiljem saavad kõik miinus üks inimene selle kulutada (seega kujutage ette, kui võtmehoidjateks oleks teie naine, kaks last ja vanemad, siis kujutage ette, et pärast kuue lisakuu möödumist saavad teie naine, üks laps ja vanemad allkirjastada või teie kaks last ja vanemat saavad allkirjastada ilma teie naiseta jne).

Kuus kuud pärast seda saavad kõik miinus kaks inimest selle kulutada. Lõpuks võib see taanduda sellele, et advokaadi abiga (tagamaks, et ei juhtuks segadusi) saab UTXO kulutada vaid üks inimene.

Või mis siis, kui kasutate külmhoone turvamiseks multisigi, kuid teil on ainult üks koht, mida peate pikaajaliselt turvaliseks ja prognoositavaks? Võite luua MAST-i, kus lõpuks, mõne aasta pärast, saab selles turvalises kohas asuv võti need mündid üksi kulutada, juhuks kui teised võtmed kaotsi lähevad või hävivad, kuid ilma et see seaks oma münte koheselt varguse ohtu. üks võti oli ohus.

See on hämmastav ja kõikehõlmav Bitcoini uuendus, mis on väidetavalt olnud töös peaaegu Bitcoini enda sünnist saati, mitte ainult viimastel aastatel, mil tegelikud rakenduse üksikasjad on välja töötatud ja rakendatud.

Bitcoini protokolli mastaapsuse ja kasulikkuse osas on see tõesti nii mitmel viisil võit, et seda on raske edasi anda, kuna mõned neist on peened ja ebaseksikad. Kuid see ei vähenda võitu. Niisiis, pange kõik kinni ja valmistuge mängima uute mänguasjadega, mida peagi kasutama peame, sest Taproot on tulemas!

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

Allikas: https://bitcoinmagazine.com/technical/bitcoin-taproot-explainer

Ajatempel:

Veel alates Bitcoin ajakiri