Tämä artikkeli on suora seuranta meidän Taproot-selittäjä. Jos et ole lukenut kyseistä artikkelia, sinun kannattaa tehdä se ensin.
Jos Taproot otetaan käyttöön Bitcoinissa, monet älykkäät sopimusrakenteet näyttävät aivan kuten säännölliset liiketoimet lohkoketjussa. Niin kauan kuin kaikki osallistujat ovat yhtä mieltä sopimuksen tuloksesta – “osuuskunnan lähellä” – Schnorrin ja MASTin älykäs yhdistelmä tarjoaa sekä tehokkuutta että yksityisyyttä.
Jos Taproot-älykäs sopimus on kuitenkin riittävän monimutkainen – toisin sanoen jos potentiaalisia tuloksia on paljon – Merkle-polku, joka on paljastettava yhteistyöhön liittymättömyyden sattuessa, olisi silti datapainoinen.
A jatkoehdotus Bitcoin Corein avustaja Gregory Maxwell, “Graftroot”, voisi tarjota samanlaisia etuja kuin Taproot, mutta ilman tätä haittapuolta tarjoamalla entistä älykkäämpiä sopimusten joustavuutta.
Graftroot
Taprootin avulla kaikki älykkään sopimuksen osallistujat yhdistävät julkiset avaimensa luomaan “julkisen kynnysavaimen”, josta he voivat käyttää “kynnysallekirjoitustaan”. Graftrootille kaikki osallistujat luovat myös tällaisen julkisen kynnysavaimen. Mutta tällä kertaa he eivät säädä tätä julkisen kynnyksen avainta.
Osallistujat luovat erilaisia käsikirjoituksia: vaihtoehtoiset olosuhteet, joissa rahaa voidaan käyttää. Mutta Graftrootin avulla he kaikki allekirjoittavat eri komentosarjat luodakseen näitä komentoja vastaavia kynnysallekirjoituksia. Jokainen osallistuja, joka haluaa käyttää tiettyä komentosarjaa varalla, ottaa ja tallentaa kyseisen komentosarjan ja vastaavan kynnysallekirjoituksen. Nämä allekirjoitukset voivat myöhemmin todistaa maailmalle, että käsikirjoitus oli pätevä vaihtoehto, “osallistuja”, jonka kaikki osallistujat sopivat.
Oletetaan, että Alice ja Bob tekevät älykkään sopimuksen, jossa molemmat voivat käyttää varoja yhdessä, tai pyydä Alicea yksin viettämään se viikon kuluttua, tai Pyydä Bob yksin käyttämään sitä yhdessä salaisen numeron kanssa. Tässä tapauksessa Alice ja Bob yhdistävät julkiset avaimensa luomaan julkisen kynnysavaimen, josta he voivat myöhemmin käyttää varoja, jos he antavat kynnysallekirjoituksen. (He eivät vielä luo tätä kynnysallekirjoitusta – vain kun he käyttävät varoja.)
Sitten he myös luovat ja allekirjoittavat välittömästi vaihtoehtoiset komentosarjat. Alice pitää skriptiä vastaavan kynnysallekirjoituksen, jonka avulla hän voi käyttää kolikoita viikon kuluttua, ja Bob pitää kynnyksen allekirjoitusta, joka vastaa skriptiä, jonka avulla hän voi käyttää kolikoita yhdessä salaisen numeron kanssa. (Huomaa, että kynnysallekirjoitukset ja vastaavat komentosarjat yksinään eivät riitä kolikoiden kuluttamiseen; ne vain todistavat, että sekä Alice että Bob ovat sopineet skripteistä. Kolikoiden käyttöä varten on edelleen täytettävä skripteissä määritellyt ehdot. )
Seuraavana päivänä, kun on aika sopia sopimuksesta, Alice ja Bob sopivat todennäköisesti allekirjoittavansa sovintotapahtuman. He yhdessä luovat kynnysallekirjoituksen kulutettavaksi kynnysarvon julkisesta avaimesta, eikä kukaan muu saa tietää vaihtoehtoisista kulutusoloista tai edes siitä, että mukana oli useampi kuin yksi henkilö. Se näyttää tavalliselta tapahtumalta.
Mutta jos osuuskunnan sulkeminen epäonnistuu jostain syystä, kuka tahansa, joka voi täyttää vaihtoehtoisen ehdon, saa käyttää kolikot yksin. Jos Bobilla on salainen numero, hän paljastaa “oman” vaihtoehtoisen komentosarjansa yhdessä komentoa vastaavan kynnysallekirjoituksen kanssa. Muu maailma voi tarkistaa kynnyksen allekirjoituksen julkisen kynnysavaimen perusteella ja päättelee, että kaikki älykkään sopimuksen osallistujat sopivat vaihtoehtoisesta käsikirjoituksesta. Siksi Bob voi oikeutetusti käyttää kolikot salaisella numerolla. Vaihtoehtoisesti, jos viikko on kulunut, Alice voi paljastaa “oman” vaihtoehtoisen käsikirjoituksensa yhdessä käsikirjoituksen kynnysallekirjoituksen kanssa ja käyttää kolikot. Kummassakaan tapauksessa kukaan ei opi vaihtoehtoisesta varmuuskopiosta.
Graftrootin tärkein etu on, että sillä ei ole enää väliä kuinka monimutkainen älykäs sopimus on tai tarkemmin sanottuna kuinka monta mahdollista lopputulosta on. Vaikka yllä oleva esimerkki sisältää vain kaksi vaihtoehtoista komentosarjaa, Graftroot-rakenne voisi sisältää satoja, eikä sillä olisi merkitystä. Alice ja Bob voisivat jopa lisätä ehtoja alkuperäisen älykkään sopimuksen rakentamisen jälkeen!
Haittapuoli on kuitenkin se, että Graftroot on interaktiivinen. Osallistujien on oltava yhteydessä toisiinsa allekirjoittamaan vaihtoehtoiset skriptit jo ennen kolikoiden käyttöä. Lisäksi osallistujien on tallennettava kynnysallekirjoitukset vaihtoehtoisille skripteille; jos he menettävät tämän allekirjoituksen, he menettävät varauksensa.
Graftrootin kehitys
Joten milloin Bitcoin-käyttäjät voivat hyödyntää tätä tekniikkaa?
Hyvä uutinen on, että erillisellä todistajalla ominaisuus nimeltä “Script Versioning” mahdollistaa suhteellisen helpon tällaisten muutosten – Schnorr-allekirjoitukset, Taproot, Graftroot – käyttöönoton taaksepäin yhteensopivalla tavalla.
Silti ihannetapauksessa tällaisten päivitysten parissa työskentelevät Bitcoin Core -operaattorit – mukaan lukien Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell ja Gregory Maxwell – haluaisivat ottaa kaikki nämä parannukset käyttöön yhden kerran. Vaikka komentosarjojen versiointi tekee päivittämisen helpoksi, se vaatii, että tapahtumat ilmoittavat käytetyn protokollapäivityksen. Joten vaikka Graftroot pystyi täydellisesti piilottamaan vaihtoehtoisten komentosarjojen saatavuuden, komentosarjaversio saattoi silti paljastaa, että tapahtuma käyttää Graftrootia. Useiden protokollapäivitysten käyttöönotto kerralla välttää tämän jossain määrin, koska ne kaikki käyttävät samaa komentosarjaversiota. Tämän lisäksi useiden päivitysten käyttö kerralla hyödyttää ohjelmistojen yhteensopivuutta.
Toisaalta “suhteellisen helppo käyttöönotto” on edelleen valtava tehtävä, kun on kyse 24/7 käynnissä olevan turvallisuuden kannalta kriittisen protokollan yksimielisistä muutoksista, joskus päivitysten kohdalla vaihtelevat kiinnostuksen kohteet ja mieltymykset. Jokaisella mahdollisella ominaisuudella on omat kompromissinsa, joten monien yhdistäminen kerralla voi johtaa myös enemmän vastaväitteisiin. Ja tietysti useiden ominaisuuksien yhdistäminen yhdeksi päivitykseksi ei myöskään tee kehitysprosessista helpompaa.
Toistaiseksi Schnorr-allekirjoitukset ja Taproot on asetettu etusijalle, ja niitä ehdotetaan yhtenä pakettina. Graftroot voi olla askel sen jälkeen.
Tämä on yleiskuvaus Graftroot-konseptista; toteutuksen yksityiskohdat voivat vaihdella. Lisätietoja on artikkelissa alkuperäinen Graftroot-ehdotus kirjoittanut Gregory Maxwell tai katso tämän esityksen Pieter Wuille.