Taproot on tulossa Bitcoiniin: Kuinka se toimii, sen historia ja vaikutukset PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Taproot on tulossa Bitcoiniin: miten se toimii, sen historia ja vaikutukset

Taproot on tulossa Bitcoiniin: Kuinka se toimii, sen historia ja vaikutukset PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Taproot- ja Schnorr-allekirjoitukset julkaistaan ​​Bitcoinissa lohkolla 709,632 XNUMX. Tämä on valtava perustavanlaatuinen saavutus, jota voidaan jatkaa tulevaisuudessa. On kulunut neljä vuotta siitä, kun Segregated Witness tuli verkossa, viimeinen merkittävä protokollapäivitys. Se on yhtä pitkä kuin puolittumissykli!

Mieti sitä. Neljä vuotta SegWitin lähetyksestä Taprootin lähetykseen. Hidasta, järjestelmällistä kärsivällisyyttä, niin kuin pitääkin. Mutta Taproot/Schnorrin historia ulottuu paljon pidemmälle.

Taprootin historia

Jotkut, jotka ovat olleet täällä jonkin aikaa, saattavat pitää tätä ironista, mutta ensimmäinen maininta Schnorr-allekirjoituksista, joista olen tietoinen, oli itse asiassa entiseltä Bitcoin Core -kehittäjältä, josta tuli yrityksen lohkoketjun rakentaja Mike Hearn. Vuonna 2012 hän kasvatettu ajatus uudesta salauskäyrästä allekirjoitusten erävarmennusta varten solmun validoinnin vähentämiseksi laskennallisesti kallista. Lopulta hänen ehdottamansa järjestelmä oli riippuvainen Schnorrin allekirjoituksista.

Adam Back keskusteli naiivista järjestelmiä tehdä multisig-osoitteita, jotka näyttivät singlesig-osoitteilta vuonna 2014 käyttämällä Schnorr-allekirjoituksia. Jopa Gavin Andresen mukaan lukien Schnorr ECDSA:n sijaan hänen toivelistallaan muutoksista, jotka hän tekisi Bitcoiniin, jos hän voisi heiluttaa taikasauvaa.

Melko lähellä Bitcoinin alusta lähtien useimmat Bitcoin Coreen aktiivisesti osallistuvat kehittäjät ovat halunneet Schnorr-allekirjoituksia, ja heidän paremmuudestaan ​​ECDSA-allekirjoituksiin nähden on aina ollut melko vankka yksimielisyys. Voidaan itse asiassa väittää, että ECDSA luotiin nimenomaan siksi, että Schnorr-allekirjoitusjärjestelmä oli patentoitu, ja avoimen lähdekoodin kryptografiselle allekirjoitusjärjestelmälle, jota patentit eivät rasita, oli valtava tarve.

Schnorr on paljon tehokkaampi ja helpommin manipuloitavissa (asioita voidaan lisätä, vähentää jne. allekirjoituksista, ja jos se tehdään oikein, se voi silti jättää käyttäjille kelvolliset allekirjoitukset, kun heillä niitä pitäisi olla) kuin ECDSA. ECDSA:n käyttö oli vuosien mittaan useimmissa kryptografisissa sovelluksissa pikemminkin välttämättömyys kuin halu.

Merkelized Abstract Syntax Trees (MAST), tämän tulevan Taproot-päivityksen Taproot-puoli, on samanlainen pitkä historia. En löydä viittausta, mutta muistan aivan selvästi nähneeni sen lauseen, jonka Peter Toddin kaltaiset ihmiset heittelivät Bitcointalk.orgissa noin vuonna 2013 tai 2014.

Alkuperäinen BIP MASTille Johnson Lau ehdotti vuonna 2016. Tämä ehdotus nähtiin myös jonkin verran toimintaa vuoden 2017 tienoilla, kun Mark Friedenbach, BTCDrak ja Kalle Alm jakoivat sen kahdeksi erilliseksi rajanylityspaikaksi (116 ja 117) ja laajensi Laun alkuperäistä ehdotusta.

MAST istui umpikujassa seuraavan vuoden ajan, kunnes Greg Maxwell keksi alkuperäisen Taproot-idean ja julkaistu sen bitcoin-dev-postituslistalle. Hänen keskeinen näkemyksensä oli, että kaikissa useiden osallistujien välisissä sopimustapauksissa, joita hän saattoi ajatella, oli "optimaalinen lopputulos", jossa sopimuksen voitiin ratkaista siten, että kaikki allekirjoittivat vain sopivan lopputuloksen sen sijaan, että pakottaisivat lopputulosta edistyneemmillä skripteillä ja tapahtumilla. Tämä on perustavanlaatuinen väite, johon Taproot perustuu, eli MAST-puun säätämiseen tavalliseksi huipputason avaimeksi, jota voidaan käyttää paljastamatta, onko muiden kulutusehtojen Merkle-puuta edes olemassa.

Tämän historian oppitunnin viimeinen pieni osa alkaa Pieter Wiullen ilmoittamalla rajatarkastusasemien luonnokset Schnorrille ja Taprootille rinnakkain postituslistalle 6. toukokuuta 2019. Tammikuuhun 2020 mennessä tämä viimeisteltiin virallisesti BIP:t 340, 341 ja 342. Tästä eteenpäin se oli vain paljon pienten yksityiskohtien jalostusta toteutustasolla, jonkin verran tarkastelujaksoa ja sitten pitkään kestänyt taistelua aktivointimekanismeista. Se johtaa meidät tähän hetkeen, vain ujo aktivoitumisesta.

Schnorrin allekirjoitusten merkitys

Joten, mikä iso juttu Schnorrin allekirjoituksissa on? No, aluksi he tekevät liiketoimista pienempiä. ECDSA-allekirjoitus on yleensä kooltaan noin 72 tavua yksittäistä allekirjoitusta kohden tapahtumassa. Schnorr-allekirjoitukset ovat enintään 64 tavua per allekirjoitus. Tämä on noin 12 %:n säästö ECDSA:han verrattuna jokaista Schnorr-allekirjoitusta kohden. Tämä on sekä suora etu Schnoria käyttävälle henkilölle, joka maksaa vähemmän maksuja kuin ECDSA-käyttäjä, mutta se on myös suora etu ihmisille, jotka eivät käytä Schnoria, koska se vaatii hieman vähemmän dataa tallennettavaksi lohkoketjuun jonkun toisen Schnorrin käsittelemiseksi ja validoimiseksi. allekirjoituksia.

Vähemmän tiedon tallentaminen on aina hyvä asia, mutta mikä vielä parempaa, on tallennettavien tietojen validoinnin tehostaminen. Yksi Schnorrin hienoista ominaisuuksista, sen takana olevan matematiikan lineaarisuus, mahdollistaa myös Bitcoin-tiedoissa haluamasi mukavan ominaisuuden: erävalidoinnin. Kun solmusi vastaanottaa lohkon verkosta, se jäsentää jokaisen yksittäisen tapahtuman ja vahvistaa jokaisen allekirjoituksen yksitellen.

Tämä on suuri osa sitä, miksi lohkojen validointi kuluttaa paljon suorittimen tehoa. Schnorr-allekirjoitukset voidaan koota yhteen ja vahvistaa matemaattisesti kerralla, ikään kuin murskaamalla ne yhteen ja tekemällä yksi matemaattinen operaatio yksittäisten joukon sijasta. Joten mitä enemmän Schnorr-allekirjoituksia on, sitä suuremmat ovat laskennalliset säästöt. Tämä on valtava skaalausvoitto verkolle.

Toinen suuri parannus, jonka Schnorr tuo, on usean allekirjoituksen skriptit. Jokaisen multisig-osoitteen on nimenomaisesti paljastettava kaikki yksittäiset julkiset avaimet, jotka ovat mukana multisig-skriptissä kulutuksen aikana, ja allekirjoitus on annettava jokaiselle käyttöprosessiin osallistuvalle avaimelle. Schnorrin matemaattisten ominaisuuksien ansiosta ovi avautuu MuSigille, multisignature-standardille. Voit vain lisätä avaimet yhteen ja päätyä yhteen julkiseen avaimeen, jonka kaikkien yksityisten avainten jaetut henkilöt voivat allekirjoittaa käyttämällä uusia allekirjoitusprotokollia. Jonas Nick Blockstreamista vertailuanalyysi MuSig2 kestää kaksi minuuttia miljoona osallistujat multisig-osoitteeseen allekirjoitettavaksi. Moniallekirjoitusskriptien skaalausparannuksia ei voida aliarvioida.

Tällä valtavalla harppauksella moniallekirjoitusskriptien osalta on myös valtava vaikutus lukuisten Bitcoinin päälle rakennettujen sovellusten yksityisyysprofiiliin ja kustannuksiin. MuSig-pohjaiset Lightning-kanavat voivat nyt sulautua koko Schnorr/Taproot UTXO:iden anonymiteettisarjaan ketjussa, koska kukaan ei pysty enää erottamaan, että ne ovat kaksi kahdesta multisig-lähtö.

Ne sulautuvat yhteen ja näyttävät aivan kuin yhdeltä allekirjoitukselta. Sama pätee mihin tahansa multisig UTXO: hun yleensä. Tällä on paljon seurauksia ihmisille, jotka käyttävät usean allekirjoituksen komentosarjoja suojatakseen kylmävarastoaan tehokkaammalla suojaus- ja palautusmallilla kuin yksi allekirjoituskomentosarja.

Ensinnäkin ei ole selvää, että he käyttävät multisig-asetuksia katsomalla lohkoketjua, joten tämä, kuten Lightningin tapauksessa, saa ne sulautumaan kaikkeen muuhun. Tärkeä voitto on kuitenkin talouden kannalta: usean allekirjoituksen käyttäminen tällä hetkellä vaatii erillisen allekirjoituksen jokaiselle avaimelle, joka liittyy lopulta UTXO:n kulutukseen. Schnorr/MuSigilla asiat pakataan yhdeksi allekirjoitukseksi yhdelle yhdistetylle julkiselle avaimelle, mikä tarkoittaa, että multisig-UTXO:iden käyttäminen MuSigillä tulee paljon halvemmaksi, koska se työntää vähemmän dataa lohkoketjuun.

Viimeinen hieno asia, jonka Schnorr-allekirjoitukset tekevät, on yksinkertaistaa huomattavasti sovittimen allekirjoitusten käyttöönottoa. Ajattele sovittimen allekirjoitusta, joka on "salattu" arvolla, joka on lisätty kelvolliseen allekirjoitukseen tai vähennetty siitä. Se ei ole voimassa ennen kuin kumoat matemaattisen toiminnon tai "purkaat sen" "avaimella", jota käytettiin sen manipuloimiseen. Tämä on mahdollista ECDSA:lla, mutta koska matematiikka on epälineaarista Schnorriin verrattuna, se on suhteellisen monimutkaista ja sen käyttöönotossa on otettava huomioon monia turvallisuusnäkökohtia.

Schnorrin lineaaristen ominaisuuksien vuoksi sovittimen allekirjoitus on kuitenkin yhtä yksinkertaista kuin ottaa yksittäinen (esimerkiksi luku 9,300,030 30 XNUMX) ja vähentää siitä arvo (esimerkiksi XNUMX). Kun sovittimen allekirjoitusta pitävä osapuoli oppii vähennetyn arvon, he voivat yksinkertaisesti lisätä sen takaisin ja voila, heillä on taas kelvollinen allekirjoitus.

Taprootin vaikutukset

Kuten yllä on todettu, Taproot on todellisuudessa vain MAST, paitsi sen sijaan, että se toimisi kuten P2SH (jossa tiivistetään skripti tai MAST:n tapauksessa komentosarjapuun yläosan Merkle-juuri), "säätö" Schnorr julkinen avain Merkle-puun juurella.

Säätäminen toimii Schnorrin lineaaristen ominaisuuksien vuoksi – kun "virität" julkista avainta Merkle-juurella (lisäät Merkle-juuren julkiseen avaimeen), voit yksinkertaisesti lisätä Merkle-juuren alkuperäiseen yksityiseen avaimeen ja luoda käyttöavaimen uusi muokattu julkinen avain. Eli lisäät saman asian sekä julkiseen että yksityiseen avaimeen, ja ne ovat edelleen kelvollinen avainpari. Tämä piilottaa MAST-puun olemassaolon, ellei sen oksaa käytetä, mutta pohjimmiltaan se on silti vain MAST-puu, johon on sitoutunut tehokkaammalla ja yksityisellä tavalla.

Mahdollisuus sitoutua erilaisiin kulutusskripteihin Merkle-puussa ja paljastaa vain käytetty skripti on valtava skaalautuvuusvoitto älykkäiden sopimusten monimutkaisuuden kannalta, joka on mahdollista rakentaa Bitcoinille.

Aivan kuten lohkon koko rajoittaa tapahtumien määrää lohkoa kohden, tapahtuman kokorajoitus on 100 kilotavua. Ainoa ero on, että sen sijaan, että se olisi konsensussääntö, se on poliittinen sääntö. Tämä tarkoittaa, että kaivostyöntekijä voi louhia yli 100 kilotavun tapahtuman, mutta oletusarvoisesti kukaan verkossa oleva solmu ei välitä tätä suurempaa tapahtumaa kaivostyöläiselle.

Tämä rajoittaa luonnostaan ​​Bitcoin UTXO:n lukitsemiseen käytetyn skriptin kokoa. Jopa P2SH:ssa, jossa UTXO on lukittu käsikirjoituksen hajautusarvoon, joka paljastetaan vasta, kun käytät sen, sinun on silti lopulta paljastettava koko käsikirjoitus käyttöaikana. Taproot lisää tätä komentosarjan skaalautuvuusrajaa, koska se ei vaadi sinua paljastamaan koko skriptiä, kun käytät sitä. Sen sijaan, että kaikkien UTXO:n käyttötapojen kokonaiskoko on rajoitettu tapahtumakokorajoitukseen, sinun on vain varmistettava, että mikä tahansa tapa, jolla voit käyttää Taproot UTXO:ta, noudattaa tätä rajoitusta.

Taprootin mukana tulee myös runsaasti tietosuojaetuja. Yksi MAST-puun suurista eduista on kyky luoda kaikenlaisia ​​ehdollisia tilanteita, joissa muut osapuolet voivat käyttää kolikoita.

Kuvittele esimerkiksi perintöjärjestelmiä, joissa lapsesi voivat käyttää kolikoitasi noin vuoden kuluttua, tai jos kieltäydyt allekirjoittamasta, vaimosi ja asianajaja voivat saada kolikoita takaisin. Näistä käyttöehdoista ei paljasteta mitään, ellei niitä todella käytetä. Tämä kaksinkertainen prosessi tarjoaa uskottavan kiistämisen muille luomillesi eri kulutushaareille osallistuville osapuolille heidän osallistumisestaan ​​kyseiseen UTXO:han, sekä suojaa heitä varkailta tai hyökkääjiltä, ​​jotka kohdistavat ennaltaehkäisevästi heihin tietäen, että he hallitsevat jonkin verran omaa toimintaansa. kohteen UTXO:t.

Teknisellä tasolla Taproot on myös suhteellisen hyvin suunniteltu. Jokaisen lukevan, joka tuntee erotetun todistajan jollakin syvällisellä tasolla, tulisi tuntea todistajaversio.

Kun Segregated Witness otettiin käyttöön, se loi tapahtuman uuden "todistaja"-osion, johon allekirjoitustiedot siirrettiin. Todistajatiedoissa oli versiolippu, jotta se voitiin päivittää uusiin toimintoihin ilman, että uusia ominaisuuksia varten tarvittiin käyttää määrittelemättömiä OP_CODE-koodeja peruskerroksessa.

Taproot/Schnorr on itse asiassa toteutettu tällä tavalla. Segregated Witness -tapahtumat käyttävät todistajan versiota nolla. Kun Taproot/Schnorr julkaistaan ​​pian, he käyttävät uutta todistajaversiota XNUMX erottaakseen ne vanhemmista Segregated Witness -tapahtumista. Samalla tavalla kuin SegWit esitteli todistajaversiot, Taproot esittelee "tapleaf version" Taprootia käyttävien UTXO:iden MAST-puissa käytetyille tapscripteille. Tämän ansiosta MASTiin haudatut skriptit voivat päivittää käyttämättä uusia OP_CODE-koodeja peruskerroksessa, mutta myös ilman, että sinun on päivitettävä todistajaversioita! Joten Taproot suunniteltiin mahdollisimman tehokkaaksi päivittääkseen tulevaisuudessa ilman, että se rajoita muita asiaankuulumattomia päivityksiä protokollaan.

Taproot tuo monia erilaisia ​​käyttötapauksia. Aluksi kaikki salamakanavan ei-yhteistyölausekkeet, kuten sakkoavaimet tai aikalukot, jotta niitä voidaan käyttää, voidaan haudata MASTin alle Taprootilla. Kukaan ei koskaan tiedä niiden olemassaolosta, ellei niitä tarvitse käyttää, mikä hämärtää entisestään mitkä UTXO:t ovat todellisuudessa salamakanavia vai eivät.

Perintöjärjestelmät ovat toinen käyttötapaus. Kuvittele Taproot-puu, joka on rakennettu niin, että kuuden kuukauden kuluttua siitä, kun et liikuta rahojasi, koko perheesi voi kokoontua ja käyttää UTXO:ta haluamallaan tavalla. Sitten kuusi kuukautta myöhemmin kaikki miinus yksi henkilö voivat käyttää sen (eli kuvittele, jos sinulla olisi vaimosi, kaksi lasta ja vanhempasi avaimenhaltijoina, niin kuvittele, että kuuden lisäkuukauden jälkeen vaimosi, yksi lapsi ja vanhemmat voivat allekirjoittaa tai kaksi lastasi ja vanhempasi voivat allekirjoittaa ilman vaimoasi ja niin edelleen).

Sitten kuusi kuukautta sen jälkeen kaikki miinus kaksi henkilöä voivat käyttää sen. Lopulta se voi tiivistyä siihen, että vain yksi henkilö voi käyttää UTXO:n asianajajan avulla (varmistaakseen, ettei mitään huijausta tapahtuisi).

Tai entä jos käytät multisigiä kylmävarastosi turvaamiseen, mutta sinulla on vain yksi paikka, jota pidät turvallisena ja ennustettavana pitkällä aikavälillä? Voisit luoda MASTin, jossa lopulta muutaman vuoden kuluttua kyseisessä turvallisessa paikassa oleva avain voi käyttää ne kolikot yksin, jos muut avaimet katoavat tai tuhoutuivat, mutta ilman että kolikoitasi joutuu välittömästi varkausvaaraan. yksi avain vaarantui.

Tämä on hämmästyttävä ja kattava päivitys Bitcoiniin, joka on luultavasti ollut töissä melkein itse Bitcoinin syntymästä lähtien, ei vain muutaman viime vuoden ajan, jolloin todelliset toteutustiedot on työstetty ja toteutettu.

Se on todellakin voitto niin monella tapaa Bitcoin-protokollan skaalautuvuuden ja hyödyllisyyden kannalta, että sitä on vaikea ilmaista, koska jotkut niistä ovat hienovaraisia ​​ja "epäseksikäisiä". Mutta se ei vähennä voittoa. Joten, kaikki kiinni ja valmiina leikkimään uusilla leluilla, joita joudumme pian käyttämään, sillä Taproot on tulossa!

Tämä on Shinobin vieraspostaus. Esitetyt mielipiteet ovat täysin heidän omiaan eivätkä välttämättä vastaa BTC Inc:n tai Bitcoin Magazine.

Lähde: https://bitcoinmagazine.com/technical/bitcoin-taproot-explainer

Aikaleima:

Lisää aiheesta Bitcoin Magazine