Taproot prihaja v Bitcoin: kako deluje, njegova zgodovina in posledice PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Taproot prihaja v Bitcoin: kako deluje, njegova zgodovina in posledice

Taproot prihaja v Bitcoin: kako deluje, njegova zgodovina in posledice PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Podpisa Taproot in Schnorr sta objavljena v Bitcoinu na bloku 709,632. To bo ogromen temeljni dosežek, na katerem bomo še naprej gradili v prihodnosti. Minila so štiri leta, odkar je Segregated Witness začel delovati v omrežju, naša zadnja večja nadgradnja protokola. To je tako dolgo kot cikel razpolovitve!

Razmislite o tem. Štiri leta od nastopa SegWita do nastopa Taproota. Počasna, metodična potrpežljivost, kot mora biti. Toda Taproot/Schnorrjeva zgodovina sega veliko dlje od tega.

Zgodovina Taproot

Nekaterim, ki so že nekaj časa tukaj, se bo to morda zdelo ironično, toda prvo omembo Schnorrjevih podpisov, za katere vem, je v resnici napisal nekdanji razvijalec Bitcoin Core, ki je postal graditelj verige blokov podjetij Mike Hearn. Leta 2012 je on vzgojen zamisel o novi kriptografski krivulji v zvezi s paketnim preverjanjem podpisov, da bi bila potrditev vozlišča računsko manj draga. Navsezadnje je bila shema, ki jo je predlagal, odvisna od podpisov Schnorr.

Adam Back je razpravljal o naivnosti sheme narediti naslove z več podpisi, ki so bili leta 2014 videti kot naslovi z enim podpisom, z uporabo Schnorrovih podpisov. Vključen celo Gavin Andresen Schnorr namesto ECDSA na njegovem seznamu želja spremembe, ki bi jih naredil za Bitcoin, če bi lahko pomahal s čarobno palico.

Že skoraj od samega začetka Bitcoina je večina razvijalcev, ki so dejavno vključeni v Bitcoin Core, želela podpise Schnorr in vedno je obstajalo precej trdno soglasje o njihovi superiornosti nad podpisi ECDSA. Dejansko bi lahko trdili, da je bil ECDSA ustvarjen posebej zato, ker je bila Schnorrova podpisna shema patentirana in je obstajala velika potreba po odprtokodni kriptografski podpisni shemi, ki ni obremenjena s patenti.

Schnorr je veliko bolj učinkovit in z njim lahko manipulira (stvari je mogoče dodati, odšteti itd. od podpisov in če je opravljeno pravilno, lahko še vedno pusti uporabnikom veljavne podpise, ko bi jih morali imeti) kot ECDSA. Uporaba ECDSA je bila v večini kriptografskih aplikacij z leti stvar potrebe in ne želje.

Merkelized Abstract Syntax Trees (MAST), Taproot polovica te prihajajoče nadgradnje Taproot, ima podobno dolgo zgodovino. Ne morem najti navedbe, vendar se povsem jasno spomnim, da sem videl ta stavek, ki so ga okoli leta 2013 ali 2014 na Bitcointalk.org naokrožili Peter Todd.

Izvirnik BIP za MAST je leta 2016 predlagal Johnson Lau. Ta predlog je bil tudi nekaj aktivnosti okoli leta 2017, ko so ga Mark Friedenbach, BTCDrak in Kalle Alm razdelili na dva ločena BIP (116 in 117) in razširil Laujev prvotni predlog.

MAST je naslednje leto nekako sedel v limbu, dokler ni Greg Maxwell prišel do začetne ideje Taproot in objavljeno na poštni seznam za bitcoin-dev. Njegov ključni vpogled je bil, da je v vsakem pogodbenem primeru med več udeleženci, ki si ga je zamislil, obstajal »optimalen izid«, kjer bi lahko pogodbo poravnali tako, da vsi samo podpišejo ustrezen izid, namesto da bi izid uveljavili z naprednejšimi skripti in transakcijami. To je temeljna trditev, na kateri temelji Taproot, tj. prilagajanje drevesa MAST na običajni ključ najvišje ravni, ki ga je mogoče porabiti, ne da bi razkrili, ali Merklovo drevo drugih pogojev porabe sploh obstaja.

Zadnji del te lekcije zgodovine se začne z naznanitvijo Pietra Wiulleja osnutek BIP za Schnorr in Taproot v tandemu na poštni seznam 6. maja 2019. Do januarja 2020 je bilo to uradno dokončano v BIP 340, 341 in 342. Od te točke naprej je bilo le veliko izpopolnjevanja drobnih podrobnosti na ravni izvajanja, nekaj obdobja pregleda in nato dolgotrajno boj za aktivacijske mehanizme. To nas pripelje do zdaj, le sramežljiva aktivacije.

Pomen Schnorrovih podpisov

Torej, kaj je narobe s podpisi Schnorr? No, za začetek zmanjšajo transakcije. Podpis ECDSA je običajno velik približno 72 bajtov za en sam podpis v transakciji. Schnorrjevi podpisi imajo največ 64 bajtov na podpis. To je približno 12 % prihranka pri velikosti v primerjavi z ECDSA za vsak podpis Schnorr. To je neposredna korist za osebo, ki uporablja Schnorr, ki bo plačala manj pristojbin kot uporabnik ECDSA, vendar je tudi neposredna korist za ljudi, ki Schnorr ne uporabljajo, saj zahteva, da je v verigi blokov shranjenih nekoliko manj podatkov za obdelavo in potrditev Schnorr nekoga drugega. podpisov.

Shranjevanje manj podatkov je vedno dobro, še bolje pa je povečanje učinkovitosti preverjanja podatkov, ki jih morate shraniti. Ena od lepih lastnosti Schnorrja, linearnost matematike, ki stoji za njim, omogoča tudi lepo lastnost, ki jo želite v podatkih Bitcoin: paketno preverjanje. Ko vaše vozlišče prejme blok iz omrežja, razčleni vsako posamezno transakcijo in potrdi vsak podpis enega za drugim.

To je velik del razloga, zakaj preverjanje blokov porabi veliko energije CPU. Schnorrjeve podpise je mogoče vse skupaj združiti in matematično potrditi naenkrat, kot da jih razbijete skupaj in naredite eno matematično operacijo namesto množice posameznih. Torej, več kot je Schnorrovih podpisov, večji so prihranki pri izračunu. To je velika zmaga za omrežje.

Še ena velika izboljšava, ki jo prinaša Schnorr, so skripte z več podpisi. Vsak naslov z več podpisi mora izrecno razkriti vse posamezne javne ključe, ki so vključeni v večpodpisni skript v času porabe, podpis pa je treba zagotoviti za vsak ključ, vključen v proces porabe. S Schnorrjevimi matematičnimi lastnostmi se odpirajo vrata za MuSig, standard z več podpisi. Ključe lahko preprosto dodate skupaj in končate z enim javnim ključem, ki ga lahko podpišejo vsi zasebni ključi z uporabo novih protokolov za podpisovanje. Jonas Nick iz Blockstreama primerjalno MuSig2 pri dveh minutah za en milijon udeleženci na naslovu z več podpisi za podpis. Izboljšanja skaliranja skriptov z več podpisi ni mogoče podcenjevati.

Ta ogromen korak naprej za skripte z več podpisi ima tudi velike posledice za profil zasebnosti in stroške številnih aplikacij, zgrajenih na vrhu Bitcoina. Kanali Lightning, ki temeljijo na MuSig-u, se zdaj lahko zlijejo s celotnim naborom anonimnosti Schnorr/Taproot UTXO-jev v verigi, ker nihče več ne bo mogel razlikovati dejstva, da so izhod dveh od dveh z več znaki.

Združili se bodo in izgledali kot en sam podpisni skript. Enako velja za vsak multisig UTXO na splošno. To bo imelo veliko posledic za ljudi, ki uporabljajo skripte z več podpisi za boljšo zaščito svojega hladilnega prostora z bolj robustnim modelom varnosti in obnovitve kot skript z enim podpisom.

Prvič, ne bo očitno, da uporabljajo nastavitev z več podpisi, tako da gledajo verigo blokov, zato se bodo tako, kot v primeru Lightninga, združili z vsem ostalim. Ključna zmaga pa je v zvezi z ekonomijo: uporaba večpodpisov trenutno zahteva zagotavljanje ločenega podpisa za vsak ključ, ki je vključen v končno porabo UTXO. S Schnorr/MuSig bodo stvari stisnjene v en sam podpis za en sam kombinirani javni ključ, kar pomeni, da bo poraba večpodpisnih UTXO z uporabo MuSiga postala veliko cenejša, saj potiska manj podatkov v blockchain.

Še zadnja kul stvar, ki jo naredijo Schnorrjevi podpisi, je drastično poenostavitev izvajanja podpisov adapterjev. Pomislite na podpis adapterja, ki je "šifriran" z vrednostjo, ki je bila dodana ali odštevana od veljavnega podpisa. Ne velja, dokler ne obrnete te matematične operacije ali jo "dešifrirate" s "ključem", ki je bil uporabljen za manipulacijo. To je mogoče z ECDSA, a ker je matematika v primerjavi s Schnorrom nelinearna, je razmeroma zapletena in pri izvajanju je treba upoštevati veliko varnostnih vprašanj.

Zaradi Schnorrovih linearnih lastnosti je podpis adapterja tako preprost, kot da vzamete eno (recimo število 9,300,030) in od nje odštejete vrednost (recimo 30). Ko se stranka, ki ima podpis adapterja, nauči odštete vrednosti, jo lahko preprosto doda nazaj in voila, imajo spet veljaven podpis.

Posledice Taproot

Kot je bilo razloženo malo zgoraj, je Taproot v resnici v bistvu le MAST, le da namesto da deluje kot P2SH (kjer zgostite skript ali v primeru MAST koren Merkle vrha drevesa skriptov), ​​»prilagodite« Schnorrjev javni ključ po korenu drevesa Merkle.

Prilagoditev deluje zaradi Schnorrovih linearnih lastnosti – ko »prilagodite« javni ključ s korenom Merkle (dodajte ta koren Merkle javnemu ključu), lahko preprosto dodate koren Merkle v izvirni zasebni ključ in ustvarite ključ porabe za nov nastavljen javni ključ. To pomeni, da dodate isto stvar tako javnemu kot zasebnemu ključu in sta še vedno veljaven par ključev. To skrije obstoj drevesa MAST, razen če je uporabljena njegova veja, vendar je v bistvu še vedno samo drevo MAST, ki je zavezano na učinkovitejši in bolj zaseben način.

Možnost, da se zavežete k različnim skriptom porabe v drevesu Merkle in razkrijete samo uporabljeni skript, je ogromna zmaga v razširljivosti v smislu zapletenosti pametne pogodbe, ki jo je mogoče graditi na Bitcoinu.

Tako kot velikost bloka omejuje število transakcij na blok, obstaja omejitev velikosti transakcije na 100 kilobajtov. Edina razlika je v tem, da je to pravilo politike, namesto da bi bilo pravilo soglasja. To pomeni, da lahko rudar izkoplje transakcijo, večjo od 100 kilobajtov, vendar privzeto nobeno vozlišče v omrežju ne bo posredovalo rudarju večje transakcije.

To samo po sebi omejuje velikost skripta, ki se uporablja za zaklepanje Bitcoin UTXO. Tudi pri P2SH, kjer je UTXO zaklenjen na zgoščeno vrednost skripta, ki se ne razkrije, dokler ga ne porabite, morate sčasoma še vedno razkriti celoten skript ob porabi. Taproot poveča to mejo razširljivosti skripta tako, da ne zahteva, da razkrijete celoten skript, ko ga uporabljate. Namesto da bi bila skupna velikost vseh načinov, na katere lahko porabite UTXO, omejena na omejitev velikosti transakcije, se morate prepričati le, da vsak posamezen način, na katerega lahko porabite Taproot UTXO, upošteva to omejitev.

Taproot ponuja tudi številne prednosti zasebnosti. Ena od velikih prednosti drevesa MAST je zmožnost ustvarjanja vseh vrst pogojnih situacij, v katerih lahko kovance porabijo druge stranke.

Predstavljajte si stvari, kot so sheme dedovanja, kjer lahko vaši otroci po približno enem letu porabijo vaše kovance, ali v primeru, da zavrnete podpis, imata vaša žena in odvetnik potencialno pot za izterjavo kovancev. Nič o teh pogojih porabe ni razkrito javnosti, razen če se dejansko uporabljajo. Ta dvojni postopek zagotavlja verodostojno zanikanje drugim stranem, ki so vključene v različne veje porabe, ki jih ustvarite, glede njihove vpletenosti v ta UTXO, prav tako pa jih ščiti pred tatom ali napadalcem, ki vnaprej cilja nanje, vedoč, da imajo določeno stopnjo nadzora nad svojimi UTXO tarče.

Taproot je bil tudi na tehnični ravni relativno dobro zasnovan. Vsakdo, ki bere, ki je na kateri koli globoki ravni seznanjen z Ločeno prič, bi moral poznati različico priče.

Ko je bil uveden Segregated Witness, je ustvaril nov razdelek »priče« transakcije, kamor so bili premaknjeni podatki o podpisu. Podatki o pričah so imeli oznako različice, tako da jih je bilo mogoče nadgraditi na novo funkcionalnost, ne da bi morali uporabiti nedefinirane OP_CODE na osnovnem sloju za nove funkcije.

Tako so dejansko implementirali Taproot/Schnorr. Segregirane transakcije priča uporabljajo različico priče nič. Ko bo Taproot/Schnorr kmalu objavljen, bodo uporabili novo različico priče ena, da jih bodo razlikovali od starejših transakcij ločenih prič. Na enak način, kot je SegWit predstavil različice priče, Taproot uvaja "tapleaf različico" za tapscripte, ki se uporabljajo v drevesih MAST za UTXO, ki uporabljajo Taproot. To ne omogoča le, da se skripti, zakopani v MAST, nadgradijo brez uporabe novih OP_CODE na osnovnem sloju, temveč tudi brez nadgradnje pričačnih različic! Taproot je bil torej zasnovan tako, da je čim bolj učinkovit za nadgradnjo v prihodnosti brez omejevanja drugih nepovezanih nadgradenj protokola.

Taproot bo prinesel veliko različnih primerov uporabe. Za začetek lahko vse nesodelujoče klavzule v kanalu Lightning, kot so kazenski ključi ali časovne ključavnice, ki omogočajo njihovo uporabo, zakopljemo pod MAST s Taproot. Nihče ne bo nikoli vedel, da obstajajo, razen če jih bo treba uporabiti, kar bo dodatno prikrilo, kateri UTXO so dejansko Lightning kanali ali ne.

Še en primer uporabe so sheme dedovanja. Predstavljajte si drevo Taproot, ki je strukturirano tako, da se lahko po šestih mesecih, ko svojega denarja ne premikate, celotna družina zbere in porabi UTXO, kot želi. Potem, šest mesecev pozneje, ga lahko porabijo vsi minus ena oseba (zato si predstavljajte, če bi imeli svojo ženo, dva otroka in starše za imetnike ključev, potem si predstavljajte, da lahko po dodatnih šestih mesecih vaša žena, en otrok in starši podpišejo , ali pa se lahko vaša dva otroka in starša podpišeta brez vaše žene itd.).

Potem, šest mesecev po tem, ga lahko porabijo vsi minus dve osebi. Sčasoma bi lahko prišlo do tega, da bi lahko samo ena oseba s pomočjo odvetnika (da bi se prepričala, da ne bi prišlo do zvijače) porabila UTXO.

Ali kaj, če za zavarovanje hladilnice uporabljate multisig, vendar imate samo eno mesto, za katerega menite, da je varno in dolgoročno predvidljivo? Ustvarite lahko MAST, kjer lahko ključ na tej varni lokaciji sčasoma, po nekaj letih, porabi te kovance sam, samo v primeru, da bi bili drugi ključi izgubljeni ali uničeni, vendar ne da bi vaše kovance takoj izpostavili nevarnosti kraje v sedanjosti, če to en ključ je bil ogrožen.

To je neverjetna in obsežna nadgradnja Bitcoina, ki se verjetno pripravlja skoraj od samega rojstva Bitcoina, ne le zadnjih nekaj let, v katerih so bile izdelane in implementirane dejanske podrobnosti implementacije.

Res je zmaga na toliko načinov za razširljivost in uporabnost protokola Bitcoin, da je težko izraziti, ker so nekateri od njih subtilni in "neseksi". A to ne zmanjša zmage. Torej, vsi se pripnite in pripravite na igro z novimi igračami, ki jih bomo morali kmalu uporabiti, saj prihaja Taproot!

To je gostujoča objava Shinobija. Izražena mnenja so povsem njihova in ne odražajo nujno mnenj BTC Inc oz Bitcoin Magazine.

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

Časovni žig:

Več od Bitcoin Magazine