Taproot, ehdotettu protokollapäivitys, joka parantaisi Bitcoinin yksityisyyttä ja joustavuutta, on myöhässä kehitysvaiheessa. Bitcoin Core -operaattorit ovat yhtä mieltä siitä, että päivitys hyödyttäisi Bitcoinia, ja toistaiseksi näyttää siltä, että myös laajempi Bitcoin-ekosysteemi on tyytyväinen siihen. Siksi on todennäköistä, että Taproot tulee tiensä Bitcoin Core -julkaisuun muiden mahdollisesti toteutettavien Bitcoin-toteutusten kanssa.
Mutta yksi kysymys on edelleen: kuinka Bitcoin-verkon pitäisi itse päivittää? Taproot on konsensusprotokollamuutos, mikä tarkoittaa, että Bitcoin-solmujen on jotenkin vaihdettava vanhoista säännöistä uusiin sääntöihin jakamatta verkko eri sääntöjä noudattaviksi ryhmiksi. Eri syistä tämä on joskus osoittautunut haastavaksi.
Parempia strategioita protokollapäivitysten aktivoimiseksi harkitaan nyt.
Aikaisemmat pehmeät haarukat ja BIP 9
Hyvä uutinen on, että Taprootista tulee pehmeä haarukka. Tämän tyyppinen päivitys lisää tai tiukentaa sääntöjä – toisin kuin kova haarukka, joka poistaa tai löysää sääntöjä. Sääntöjen lisäämisessä tai tiukentamisessa on hienoa, että kaikki, mitä päivitetty solmu pitää kelvollisena, myös päivittämätön solmu pitää kelvollisena. (Jos vanha solmu hyväksyy molemmat tapahtumatyypit A ja B, mutta uudet säännöt sallivat vain tapahtumatyypin A, vanha solmu pysyy yhteensopivana verkossa, joka valvoo uusia sääntöjä.)
Bitcoinin varhaisimmat pehmeät haarukat aktivoitiin lippupäivinä. Kehittäjät (erityisesti Satoshi Nakamoto) upottivat tulevan päivämäärän uuden Bitcoin-ohjelmiston asiakasohjelman julkaisun koodiin ja määrittelivät ajankohdan, jolloin päivitetyt solmut pakottaisivat uudet säännöt voimaan. Kaivostyöläisiä ja käyttäjiä kehotettiin päivittämään ennen kyseistä päivämäärää verkon jakamisen välttämiseksi. (Syrjään, niinä päivinä kaivostyöläiset ja käyttäjät olivat useammin samoja ihmisiä kuin nykyään.)
Koska päivittämättömät solmut ovat edelleen yhteensopivia uusien sääntöjen kanssa, pehmeiden haarukoiden kätevä etu on, että jos suurin osa hajautusvoimasta pakottaa päivityksen, koko Bitcoin-verkko löytää yksimielisyyden niiden versiosta blockchainista. Tämä tarkoittaa myös sitä, että kaikkien solmujen päivittäminen välittömästi uusien protokollasääntöjen täytäntöönpanon jälkeen on vähemmän pakollista, mikä antaa käyttäjille jonkin verran joustavuutta. (Vaikka käyttäjiä kehotetaankin päivittämään, he viime kädessä panevat uudet säännöt täytäntöön hylkäämällä liiketoimet ja estävät niitä rikkovat.)
Noin vuodesta 2012 lähtien pehmeät haarukat ovat yhä enemmän käyttäneet hajautusvoimaa koordinointimekanismina koordinoidakseen siirtymisen uusiin sääntöihin. Upottamalla vähän tietoa lohkoihinsa kaivostyöläiset voivat ilmoittaa muille kaivostyöläisille ja muulle verkolle, että he ovat päivittäneet ohjelmistonsa, ja ovat siten valmiita noudattamaan uusia sääntöjä. Kun riittävästi hash-tehosignaaleja on tuettu, kaikki päivitetyt solmut käynnistyvät uusien sääntöjen noudattamiseksi.
Muutaman päivityksen aikana tästä strategiasta kehittyi Bitcoin Improvement Ehdotus 9 (BIP 9). BIP 9 oli esimerkiksi mekanismi, jota käytettiin Bitcoinin viimeisen pehmeän haarukan päivityksen, Segregated Witness (SegWit), aktivoimiseksi. Kaivostyöläisille annettiin vuosi päivityksen aktivoimiseksi, mikä vaati 95 prosenttia lohkoista missä tahansa vaikeusvälissä sisällyttämään valmiussignaalibitin. Jos vuoden kuluttua tätä ei olisi tapahtunut, aktivointiaika päättyy ja päivitys olisi epäonnistunut. (Sitä voidaan tietysti yksinkertaisesti kokeilla uudelleen.)
SegWitille BIP 9 ei kuitenkaan onnistunut sujuvasti. Kuten joissakin aiemmissa päivityksissä, jotkut kaivostyöläiset eivät todennäköisesti päässeet päivitykseen jonkin aikaa apatian takia: kaivostyöläisille ei usein ole kovin suurta kannustinta päivittää nopeasti. Suurempi ongelma oli kuitenkin se, että jotkut kaivostyöläiset olivat ymmärtäneet merkinantoprosessin eräänlaisena äänestyksenä päivityksestä, jossa valmiuden ilmoittamisen sijasta he ilmoittavat (tai eivät) tukevan sitä. Mikä pahempaa, jotkut kaivostyöläiset käyttivät tätä “ääntä” estääkseen päivityksen yrittääkseen saada poliittista vipua Bitcoinin kehitysprosessissa, ja / tai he “äänestivät” päivitystä vastaan voidakseen peitetysti hyötyä Bitcoinin omituisuudesta. protokolla, jonka päivitys korjata.
Pitkän intensiivisen draaman jälkeen SegWit lopulta aktivoitui, mutta vasta sen jälkeen, kun vaihtoehtoiset Bitcoin-asiakkaat sisälsivät uusia aktivointijärjestelmiä. Joidenkin käyttäjien suorittamaan BIP 148 -asiakkaaseen sisältyvä BIP 148 oli ohjelmoitu hyväksymään vain lohkojen signalointituki protokollapäivitykselle alkaen lippupäivästä. Samaan aikaan BIP 91, joka sisältyy btc1-asiakasohjelmaan ja jota kaivostyöläiset ylläpitävät juuri ennen BIP 148 -lippupäivää, alensi hajautusvoiman tarpeen 95 prosentista 75 prosenttiin. Estävät kaivostyöläiset myönsivät mahdollisen jaetun verkon ja mahdollisen tulonmenetyksen edessä. Mutta useimmille Bitcoin Core -kehittäjille BIP 9 oli paljastanut olevansa optimaalinen ratkaisu, ja he alkoivat ajatella vaihtoehtoja.
BIP 8
BIP 8 oli varhainen vaihtoehto BIP 9: lle, jonka ehdotti BIP 148 -kirjailija Shaolinfry ja Bitcoin Knots sekä Bitcoin Core -edustaja Luke-jr. Alun perin se muistutti BIP 9: ää, mutta yhdellä ratkaisevalla erolla: Päivityksen epäonnistumisen sijasta vuoden riittämätön hajautusvoiman tuki, se tekisi aivan päinvastoin ja aktivoi pehmeän haarukan kyseisenä ajankohtana. Kuten lippupäivä, kaikki päivitetyt solmut alkavat siitä lähtien panna uudet säännöt täytäntöön. Kaivostyöläiset, jotka eivät ole vieläkään päivittäneet, voivat vaarantaa kaivoslohkot, jotka päivitetyt kaivostyöläiset ja käyttäjät hylkäävät.
BIP 8: n pääajatuksena on, että – olettaen tietenkin, että käyttäjät päivittävät – kaivostyöläiset eivät voi estää pehmeää haarukkaa eivätkä siksi voi käyttää tätä vipua hyödyksi. He voivat nopeuttaa aktivointia ja auttaa koordinoimaan sujuvaa protokollapäivitystä, mutta päivitys tapahtuu lopulta, vaikka he eivät aktivoi sitä itse.
Viimeisempi BIP 8 -luonnos sisältää joitain merkittäviä muutoksia. Ensinnäkin BIP 8 sallii solmujen konfiguroinnin kahdelle eri käytännölle, kun signalointijakso on päättymässä: pakotettu aktivointi, kuten kahdessa edellisessä kappaleessa selitetään, tai ei pakotettua aktivointia, kuten BIP 9: ssä. Lisäksi sen sijaan, että aktivoitaisiin itse päivitys, solmut (jos niin on määritetty) todella pakottavat päivityksen signaloinnin. Lohkot, jotka eivät ilmoita päivityksen tuesta, hylätään, mikä takaa silti päivityksen ainakin päivitetyille solmuille. Näiden kahden muutoksen yhdistelmällä on mielenkiintoinen ominaisuus, että jos suurin osa kaikesta Bitcoin-hajautusvoimasta pakotetaan ilmoittamaan päivityksen tuesta, päivityksen mukana kulkevat myös BIP 8 -solmut, joita ei ole määritetty pakottamaan signalointia..
Väite BIP 8: ta ja erityisesti sen pakotettua signalointia (tai automaattista aktivointia) vastaan on, että se voi olla riskialtista, erityisesti lyhyemmällä aikajanalla. Jos hash power enemmistö ja ainakin jotkut käyttäjät eivät päivitä, tämä järjestelmä voi jakaa verkon päivitettyjen ja päivittämättömien solmujen kesken. Olettaen, että suurin osa käyttäjistä tukee päivitystä, tämä todennäköisesti ratkaisee verkon päivitetyn osan hyväksi. Mutta päivittämättömät käyttäjät saattaisivat menettää varoja tällä välin, kun taas päivittämättömät kaivostyöläiset tuhlaisivat hash-voimaa Bitcoinin turvallisuuden vahingoksi.
Tätä riskiä voidaan todennäköisesti torjua tarjoamalla riittävästi aikaa päivitykseen. Valitettavasti kaikki eivät ole yhtä mieltä siitä, kuinka paljon aikaa riittää; jotkut ajattelevat, että pakotettu merkinanto voi alkaa vuoden sisällä, toisten mielestä sen pitäisi kestää useita vuosia.
Toinen BIP 8: n komplikaatio on pakotetun signaloinnin oletusasetusten asettaminen. Jos pakotettu merkinanto kytketään oletusarvoisesti pois päältä, käyttäjät saattavat joutua koordinoimattomiksi, mikä lisää verkon jakamisen riskiä. Jos toisaalta pakotettu signalointi valitaan oletusarvoiseksi Bitcoin Core -julkaisussa, Bitcoin Core -yrityksen historiallisesti laajalle levinnyt tae käytännössä takaa päivityksen tapahtuvan. Jotkut uskovat, että tämä antaisi Bitcoin Core -kehittäjille liikaa vaikutusta Bitcoinin protokollasääntöihin. BIP 8 -kirjoittaja Luke-jr haluaa, että BIP 8 otetaan käyttöön vain erityisasiakkaiden kautta, samanlainen kuin BIP 148 -asiakas.
Toiset väittävät, että Bitcoin Core -kehittäjät julkaisevat ohjelmiston aina parhaan harkintansa mukaan pitäen samalla mielessä käyttäjien kysynnän ja välttäen kiistanalaisia päivityksiä; BIP 8 -oletusasetusten asettamisen ei pitäisi olla poikkeus tähän käytäntöön. Jos joku on eri mieltä Bitcoin Core -kehittäjien tekemistä valinnoista, he voivat yksinkertaisesti päättää olla päivittämättä uuteen versioon tai edes haarauttaa Bitcoin Core -koodia käynnistääkseen kilpailevan asiakkaan kokonaan.
Moderni pehmeän haarukan aktivointi
Vaikka Bitcoin Core -kehittäjät pyrkivätkin ottamaan käyttäjien kysynnän huomioon ja yrittämään välttää kiistanalaisia päivityksiä, kaikki eivät ole vakuuttuneita siitä, että tämä on aina täysin mahdollista. Ehkä huoli ehdotetusta päivityksestä tulee esiin vain, kun ohjelmisto otetaan käyttöön uudessa julkaisussa. Ehkä aivan uudet ongelmat syntyvät tämän julkaisun jälkeen. Tai ehkä Bitcoin Core -kehittäjät yksinkertaisesti kaipaavat jotain.
Tämä on yksi syy, miksi Bitcoin Core -edustaja Matt Corallo ehdotti strategiaa, jonka nimi on “Moderni pehmeän haarukan aktivointi.”Moderni pehmeän haarukan aktivointi koostuu kolmesta vaiheesta, jotka yhdessä toteuttavat olennaisesti BIP 9: n (tai: BIP 8 ilman pakko signalointia) ja BIP 8: n yhdistelmän lippupäivän aktivoinnilla (vaikka pakotettu signalointi voisi olla myös vaihtoehto).
Ensimmäisenä vaiheena BIP 9 antaisi kaivostyöläisille mahdollisuuden aktivoida pehmeä haarukka hajautusvoiman avulla. Jos kaivostyöläiset eivät aktivoi sitä (esimerkiksi) vuodessa, ensimmäinen aktivointiaika päättyy. Sitten toisena vaiheena kehittäjät vievät jonkin aikaa analysoimaan, miksi aktivointi epäonnistui, ja harkitsevat ehdotusta uudelleen, jos he löytävät siitä huolta. Jos heidän mielestään ehdotuksessa ei ollut mitään ongelmaa, kolmas vaihe on pehmeän haarukan uudelleen sijoittaminen, tällä kertaa BIP 8: n kanssa lippupäivän aktivoinnilla: kaivostyöläiset saavat uuden mahdollisuuden aktivoida ehdotus hash-voimalla, mutta jos ne epäonnistuvat uudelleen , pehmeä haarukka aktivoituu, kun tämä toinen signalointijakso päättyy. (Tämän toisen signalointijakson aikana hajautusvoiman aktivointikynnystä voidaan myös laskea asteittain ajan myötä, Bitcoin Core -apulainen AJ Towns ehdottaa.)
Sitoutumalla nimenomaan BIP 8: n uudelleensijoittamiseen, jos käy ilmi, että ehdotuksessa ei ole mitään vikaa, Corallo uskoo, että strategia tarjoaisi BIP 9: n edut ilman haittoja. Koodi laitetaan sinne ensimmäisen signalointijakson aikana kaikkien harkittavaksi, kaivostyöläiset voivat koordinoida sujuvan päivityksen, jos he niin haluavat, ja ilman pakotettua aktivointia kehittäjät voivat käyttää aikaa harkita ehdotusta uudelleen, jos aktivointi aluksi epäonnistuu. Sillä välin kaivostyöläisillä olisi paljon vähemmän hyötyä päivityksen estämisestä ilman hyvää syytä, koska kaikki tietävät, että se aktivoituu lopulta joka tapauksessa.
Tärkein argumentti modernin pehmeän haarukan aktivointia vastaan on, että ilman kaivosmiesten yhteistyötä prosessi vie suhteellisen kauan, ja jotkut pitävät BIP 9 -vaihetta kokonaan ajanhukkaa. Corallon alkuperäinen ehdotus sisältää yhden vuoden BIP 9 -signaloinnin, jota seuraa kuusi kuukautta harkittavaksi, ja lopuksi kaksi vuotta BIP 8 -merkintää ennen automaattista aktivointia: yhteensä kolme ja puoli vuotta. Vaikka tätä aikajanaa ei tietenkään ole vielä kivissä, eri vaiheiden lyhentäminen liikaa jätä vähemmän aikaa uudelleenarviointiin ja / tai päivittämiseen (lisäävät verkon jakamisen riskiä).
Koska potentiaaliseen pakotettuun aktivointiin on kulunut pitkä aika, jotkut väittävät myös, että kaivostyöläiset voivat kuitenkin yrittää saada poliittista vipua: he voivat viivästyttää päivitystä vuosia.
BIP 8 + BIP 91
Toinen, äskettäinen ehdotus, joka kiertää Bitcoinin teknisten kanavien kautta, on ehkä parhaiten kuvattu hieman sulautumiseksi BIP 8: n ja Modern Soft Fork Activationin välillä, ainakin hengessä. Nimeämätön ehdotus ottaisi käyttöön pitkän BIP 8-signalointijakson, ehkä niin kauan kuin Modern Soft Fork Activationin kolme ja puoli vuotta, minkä jälkeen pakotettu signalointi laukaisee. Jos päivitys ei kuitenkaan vielä aktivoitu (esimerkiksi) vuoden kuluttua, kehittäjillä kestää jonkin aikaa ehdotuksen uudelleen tarkastelemiseen, kuten Modern Soft Fork Activationin yhteydessä..
Jos kehittäjät eivät löydä mitään ongelmaa ehdotuksessa ja sen sijaan päättelevät, että ehdotusta ei yksinkertaisesti ollut aktivoitunut kaivosmiesten apatian tai muun virheellisen syyn vuoksi, he voisivat päättää ottaa käyttöön uuden pehmeän haarukan BIP 91 -tyylillä, jota käytettiin SegWitin aikana. aktivointi. Tämä alentaisi tehokkaasti hash-tehokynnystä aktivointia varten, mikä nopeuttaisi oletettavasti prosessia.
Jos kehittäjät toisaalta löytävät ongelman ehdotuksessa, he voisivat ottaa käyttöön uuden pehmeän haarukan, joka korjaa ongelman, tai jopa kumota alkuperäisen pehmeän haarukan (tässä tapauksessa Taproot) kokonaan. Olettaen, että modernin pehmeän haarukan aktivoinnin kolmen ja puolen vuoden aikajana pakotettuun merkinantoon asti, pitäisi olla riittävästi aikaa huolehtia tästä.
Tärkein argumentti tätä ehdotusta vastaan on luultavasti se, että ei ole kovin tyylikästä käyttää pehmeää haarukkaa, joka vetäytyy toisesta pehmeästä haarukasta, tarvittaessa. Konkreettisemmin se edellyttää, että kaivostyöläiset ja käyttäjät päivittävät uusiin julkaisuihin ennen määräaikojen saavuttamista, tai ne voivat jakaa verkon.
Sporks
Lopuksi, hieman syrjäytyneenä ajatuksena, Bitcoin Core -edustaja Jeremy Rubin ehdotti, että hänen keksimänsä konseptin nimeltä Todennäköiset Bitcoin-pehmeät haarukat taiSporks,”Saattaa olla kannustimien kanssa yhteensopivampi kuin tyypilliset hajautusvoimalla pakotetut pehmeät haarukat.
RIP 9: n ongelman ydin on Rubinin mukaan se, että kaivostyöläiset voivat viivästyttää päivityksiä ilman omia kustannuksia. Pelkkä kieltäytyminen ilmoittamasta valmiutta päivitykseen on ilmaista, mutta se tarjoaa heille mahdollisesti poliittista vipua.
Sporksin avulla valmiussignaalia ei enää oteta vähän tiedoista, jotka kaivostyöläiset sisällyttävät kaivamiinsa lohkoihin, vaan johdetaan lohkon otsikkomerkistä: satunnaisesti tuotettu todiste työstä, jonka he tuottivat sijoittamalla aikaa ja resursseja. Päivitetyt solmut olisivat yhtä mieltä siitä, että pieni osa voimassaolevista lohkootsikoiden hajautuksista – tilastollisesti vain noin puolen vuoden välein – laukaisisi päivityksen.
Hajautusten satunnaisuuden mukaan kaivostyöläinen ei hallitse, tuottaako hän säännöllisiä lohkootsikoiden hajautuksia vai päivityksen aktivoivia lohkootsikoiden hajautuksia; hän sattuisi tilastollisesti vain vahingoittamaan yhtä jälkimmäisistä satunnaisesti. Joten jos hänen sijoittamansa resurssit synnyttävät päivitystä aktivoivan lohkon otsikkomerkinnän, hänellä on kaksi vaihtoehtoa. Joko julkaise se Bitcoin-verkossa, ansaitse lohkopalkinto ja aktivoi pehmeä haarukka. Tai kieltäydy julkaisemasta, viivästytä pehmeää haarukkaa keskimäärin noin kuudella kuukaudella esimerkissämme … mutta samalla myös luopumalla lohkopalkkiosta. Päivityksen viivästyminen aiheuttaisi merkittäviä kustannuksia.
Sporksin suurin ongelma tällä hetkellä on luultavasti se, että se on suhteellisen uusi idea, jota ei ole vielä kehitetty – saati sitten testattu luonnossa. Vaikka jotkut pitävät konseptia mielenkiintoisena, se ei ole vielä todennäköisin kilpailija Taproot-aktivoinnille.
Kirjoittajan huomautus: Keskustelu pehmeän haarukan aktivoinnista (ja Taproot-aktivoinnista erityisesti) on käynnissä; tämä on ei-tyhjentävä yleiskatsaus erilaisista päivitysehdotuksista, varsinkin kun on kyse ehdotusten muunnelmista, joissa on vaihtoehtoiset parametrit ja muut muutokset, sekä kaikista niiden eduista ja haitoista.
Päivittää
Toinen ajatus, joka on saanut jonkin verran pitoa tämän artikkelin kirjoittamisen jälkeen (enimmäkseen), on ensin ottaa käyttöön BIP 8 suhteellisen pitkällä (esimerkiksi kaksi vuotta) signalointijaksolla, joka on konfiguroitu ilman pakko-signalointia tämän signalointijakson lopussa. Tämä antaa kaivostyöläisille mahdollisuuden aktivoida pehmeä haarukka suhteellisen normaalisti, kuten he ovat tehneet aikaisemmin useita kertoja. Jos pehmeä haarukka ei kuitenkaan aktivoidu jonkin ajan kuluttua (esimerkiksi kuuden kuukauden kuluttua) eikä viivästymiselle näytä olevan hyvää syytä, uusi asiakas voidaan vapauttaa BIP 8: lla, joka on konfiguroitu pakottamaan signalointi lähelle nykyisen signalointijakson loppuun tai aikaisemmin. Olettaen, että suurin osa kaivostyöläisistä aktivoi sitten pehmeän haarukan joko ennen tätä pakotettua signalointijaksoa tai sen aikana, molemmat BIP 8 -solmujoukot (pakotetun signalointikokoonpanon kanssa ja ilman) pakottaisivat pehmeän haarukan aktivoitumaan.