”Työnnä päivämäärä taaksepäin kaksi kuukautta. OP_EVAL ei ole vielä valmis. “

Se oli tuomio, jonka Gavin Andresen oli työskennellyt niin kauan välttääkseen. Yhdellä nuhteella, joka lähetettiin Russell O’Connorin näppäimistöltä, kuukausien ponnistelu Bitcoinin päivittämiseksi – ensimmäinen perustaja Satoshi Nakamoton irtautumisen jälkeen – pysähtyi äkillisesti ennen toteutusta.

Kuten O’Connor paljasti, ehdotettua komentoa – jonka Andresen ilmoitti “nopeimmaksi poluksi” turvallisempiin Bitcoin-lompakkoihin – voitaisiin hyödyntää luomaan tapahtumia, jotka lähettävät ohjelmiston loputtomaan laskennalliseen silmukkaan yrittäen vahvistaa ne..

Lyhyesti sanottuna OP_EVALia voidaan käyttää väärin Bitcoin-solmujen ja siten myös Bitcoin-verkon kaatumiseen.

“Minulta kesti kaikki 70 minuuttia, kun etsin tätä virhettä”, O’Connor kirjoitti tuomiten prosessin, joka oli sulautunut – ja melkein työntänyt – huono koodi live-ohjelmistoon. “Teidän on lopetettava tekemäsi ja todella ymmärrettävä Bitcoin.”

Se oli ensimmäinen vakava takaisku Andresenille, projektin uudelle johtajalle, joka oli nopea protestoimaan. Hänen mielestään OP_EVALin hylkääminen ei tuhlaisi vain kuukausien kestävää koodaamista ja tarkistamista, vaan se jättäisi käyttäjät ilman työkaluja suojaamaan troijalaisia ​​ja viruksia vastaan ​​ja ryöstämään heidän digitaalisen lompakonsa.

Tämä oli OP_EVAL: n vetoomuksen ydin – helppojen moniallekirjoitettujen lompakoiden avulla käyttäjät voisivat palauttaa bitcoinin, vaikka varmuuskopiot katoaisivat. palvelut voidaan rakentaa lähettämään pankkimaisia ​​muistutuksia petosten ja varkauksien estämiseksi; ja mikä vielä parempaa, tämä kaikki voitaisiin saavuttaa tapahtumilla, jotka näyttävät ja käyttäytyvät kuin käyttäjät tuntisivat ja ymmärtäisivät.

Mutta O’Connorin varoitussanat olivat riittävät niille, jotka olivat nähneet huolensa nousevasta.

“Haluan muistuttaa kaikkia siitä, että olemme sekaisin 20 + miljoonan dollarin kanssa”, kehittäjä Alan Reiner kirjoittaisi. “Pelissä on enemmän kuin pelkkä ohjelmisto – mitä tahansa tulee olla yhtä kovaa kuin timantti.”

OP_EVALin epäonnistumisella olisi vielä suuremmat seuraukset. Oli totta, että Nakamoto oli lanseerannut maailman ensimmäisen hajautetun digitaalisen valuutan, mutta lupauksensa ei ollut läheskään toteutunut. Harvat loppuvuodesta 2011 ymmärsivät sen koodin, ja harvoilla oli vielä taitoa ja tuntemusta sen suojaamiseksi.

Kuinka näiden kehittäjien tulisi organisoitua? Mitä vastuuta heillä oli käyttäjille? Ja kuinka he tekisivät muutoksen, kun ei ollut selvää kenellä – jos kenelläkään – pitäisi olla viimeinen sana?

Tällaiset kysymykset työnnettäisiin pian esiin ensimmäisessä suuressa taistelussa Bitcoin-ohjelmistosta.

Epätavallinen perintö

Ilmaisia ​​ja avoimen lähdekoodin projekteja vetävät useimmiten perustajat, joiden on puolestaan ​​kohdennettava ponnistelunsa avustajien kanssa, joista heidän työnsä riippuu. Silti siellä, missä syntyy kiistoja ohjauksesta, heillä on luonnollinen auktoriteetti toimia päätöksentekijöinä luomuksilleen.

Bitcoin ei ollut varhaisessa vaiheessa poikkeus. Kahden ensimmäisen toimintavuotensa aikana Nakamoto oli pääkehittäjän ja hyväntahtoisen diktaattorin rooli. Bitcoinin kiistattomana johtajana hän teki jopa kahdeksan protokollamuutosta muistuttamatta paljoa laajempaa keskustelua [1]. Toisin sanoen, kunnes hän astui vähitellen pois projektista.

Vuoden 2010 loppuun mennessä Nakamoto pyyhkäisi salanimensä Bitcoin.org-verkkosivustolta, jättäen veteraanisen 3D-grafiikan kehittäjän Gavin Andresenin vaatimaan vaipan olevan projektin “tosiasiallisena johtajana” [2].

Andresenin suosima sanavalinta oli asianmukainen, koska muutokseen liittyvät olosuhteet olivat epätavalliset, mikä merkitsi lyhyttä julkista viestiä, yksityistä tehtävien suorittamista ja avaimen vaihtoa, jonka avulla käyttäjä voi lähettää järjestelmänlaajuisen hälytysviestin.

Silti tuolloin tämä aiheutti vähän vaikeuksia Bitcoinin pienelle, mutta kasvavalle koodaajien ryhmälle. Suurin osa oli huolissaan kriittisistä korjauksista, ja vakituisen professorin puolisolla Andresenillä oli aikaa ja intoa johtaa työtä [3].

Itse asiassa oli monia kiireellisiä tarpeita – nopeampi synkronointi, parempi testaus – mutta “lisääntyneet ilmoitukset varastetuista lompakoista” ja varkauksien aiheuttama “huono PR” nousivat nopeasti huolenaiheeksi.

Jonkin aikaa se oli tavoite, johon kaikki Bitcoinin uudet kirjoittajat näyttivät olevan yhtä mieltä [4].

Paljas Multisig

Onneksi ratkaisun suunnitelman oli toimittanut Nakamoto. Kuten Andresen oppii, Bitcoinin koodi antoi jo käyttäjille mahdollisuuden luoda turvallisia tapahtumia, jotka voidaan käyttää vain allekirjoitettuina useilla yksityisillä avaimilla [5].

Usean allekirjoituksen tai lyhyen multisig-koodin avulla yksityiset avaimet voidaan tallentaa useille laitteille, vastakkaisille puolille maailmaa tai jakaa käyttäjän ja lompakkopalvelun välillä, mikä tarkoittaa, että hakkereiden on kompromissi useita kohteita varastamaan kolikoita.

Ihastunut ajatukseen, Andresenistä tulee sen ensimmäinen mestari, ja hän kirjoittaa postituslistalle kiihkeän vetoomuksen innostaa osallistujia toimintaan.

“Suurin huoleni on, että sanomme:” Toki, kestää vain pari päivää sopia siitä, miten se tehdään oikein “, ja kuuden kuukauden kuluttua ei ole vielä yksimielisyyttä”, hän kirjoitti [6]. “Ja ihmisten lompakot katoavat tai varastetaan edelleen.”

Huolet eivät olleet ilman painoa – Nakamoton toteuttamana multisigillä oli merkittäviä haittoja. Painavin näistä oli se, että tapahtumat eivät olleet yhteensopivia Bitcoinin vakiomuotoisen osoitemuodon kanssa ja vaativat sen sijaan paljon pidempiä osoitteita.

Tämän vuoksi multisig-lompakoita rahoittavat liiketoimet olivat suurempia ja vaativat korkeampia maksuja. Lisäksi näitä maksuja ei tarvitse maksaa henkilö, joka saa bitcoinia multisig-lompakolla, vaan henkilön, joka lähettää bitcoinin heille.

Näiden epäoptimaalisten ominaisuuksien takia multisig-tapahtumat määritettiin ohjelmistossa epätyypillisiksi, mikä tarkoittaa, että ne eivät välttämättä levitä verkon solmuihin. Jos solmu saisi multisig-tapahtuman, se yksinkertaisesti jättää sen huomiotta. Vastaavasti ei ollut takuuta, että kaivostyöläiset sisällyttävät nämä tapahtumat lohkoihin.

Jos ne sisällytettäisiin, solmut hyväksyisivät ne (multisig-tapahtumat olivat lopulta päteviä). Mutta käytännössä nimitys teki kaiken, mutta mahdotonta saada nämä tapahtumat vahvistettua.

Kirjoita OP_EVAL

Saadakseen potentiaalin, jonka hän näki, Andresen jatkoi uuden “op-koodin” puolustamista, komentotyyppiä, jonka solmut voisivat päättää, pitäisikö uuden tyyppisten tapahtumien olla kelvollinen ja milloin.

Suunniteltu vastaamaan edistyneempiin tapahtumiin, kuten multisig, OP_EVAL nojasi voimakkaasti hajautuksiin, salaustemppuun, joka sekoittaa ja pakkaa tietoja deterministisesti, mutta peruuttamattomasti ainutlaatuiseksi numerosarjaksi.

Ensimmäinen ehdotettu salanimisen kehittäjän ByteCoinin perusajatus oli, että käyttäjät voisivat hajauttaa ohjeet, joissa kuvataan olosuhteet, joissa bitcoinia voidaan myöhemmin käyttää (mukaan lukien multisig-lompakkoihin ja sieltä) sisällyttämällä tämä hash tapahtumaan. Kolikot lähetettäisiin lähinnä “hashille”.

Edellytykset myöhemmälle bitcoinin käyttämiselle paljastuvat vasta, kun kolikot on käytetty hashista. Multisig-käyttäjä maksaisi lisätyn tapahtumakoon käytettäessä kolikoita, kun taas vaaditut lisätiedot aiheuttivat pienemmän taakan verkolle.

Koska ehdotus sai positiivista palautetta, Andresen ei tuhlannut aikaa, mieluummin saada OP_EVAL käyttöön aikaisemmin kuin myöhemmin.

“Turvallisuus on todella tärkeä prioriteettiluettelossa; Haluaisin nähdä suojatut Bitcoin-osoitteet ihmisten foorumin allekirjoituksissa vuoden kuluessa ”, hän kirjoitti [7].

Kaikki eivät kuitenkaan jakaneet Andresenin kiireellisyyttä. OP_EVAL olisi iso päivitys live-järjestelmään, jonka arvo on jo miljoonia dollareita. Andresenin valtameren toisella puolella nuori Amir Taaki ehdotti kehittäjille aikaa ehdotuksen tarkistamiseen.

“Se näyttää hyvältä ensi silmäyksellä”, Taaki kirjoitti [8]. “Mutta tämän nopea seuraaminen lohkoketjuun ei todennäköisesti ole viisas idea … Bitcoin ei räjähdä huomenna, joten ei ole suurta menetystä pidättäytymällä tällaisista merkittävistä muutoksista.”

Asiaan liittyvien ongelmien lisäämiseksi kehittäjät olettivat, että OP_EVAL: n lisääminen protokollaan aiheuttaisi merkittävän koordinointihaasteen. Pohjimmiltaan sen toteuttaminen edellyttäisi riskiä siitä, että lohkoketju, kaikkien Bitcoin-tapahtumien lopullinen tietue, jonka täytäntöönpanoa jaettu yhteisymmärrys ohjelmistosäännöistään, saattaisi hajota yhteensopimattomiin verkkoihin.

Tämä tarkoitti sitä, että heti kun OP_EVAL julkaistiin, jokaisen käyttäjän on vaihdettava ohjelmiston uuteen versioon ja uuteen lohkoketjuun, ns. “Hard fork” -päivityksessä.

Epäonnistuminen päivityksessä yhdessä, ja kaivostyöläiset saattavat tietämättään tuottaa virheellisiä lohkoja. Vielä pahempaa on, että käyttäjät saattavat tietämättään hyväksyä virheelliset tapahtumat.

Uudenlainen pehmeä haarukka

Tarpeeksi pian Andresen kuitenkin huomasi, että hänen halveksijansa oli mahdollista hillitä.

Hienona temppuna hän paljasti, että OP_EVAL voidaan ottaa käyttöön määrittelemällä yksi Nakamoton alun perin sisällyttämistä useista passiivisista op-koodeista tulevaisuuden komentojen paikkamerkkeinä.

Kaikkien, myös Andresenin, yllätykseksi tämä olisi yhteensopiva myös solmujen kanssa, joita ei päivitetty hyväksymään OP_EVAL. Nämä solmut tarkistavat, että hajautus vastaa uusia ohjeita, mutta eivät pakottaisi niitä, vaan hyväksyisivät tapahtumat oletusarvoisesti.

Niin kauan kuin suurin osa kaivostyöläisistä pani uudet säännöt täytäntöön, tämä tarkoitti sitä, että sekä päivitetyt että päivittämättömät solmut pitävät uutta lohkoketjua kelvollisena. Päivitetyt solmut hyväksyisivät lohkoketjun, koska uusia sääntöjä noudatettiin, kun taas solmut, jotka eivät onnistuneet päivittämään, hyväksyisivät lohkoketjun, koska he eivät välittäneet uusista säännöistä kummallakaan tavalla.

Nakamoto oli jo ottanut käyttöön tällaisia ​​taaksepäin yhteensopivia päivityksiä tai “pehmeitä haarukoita”, mutta verkon koon kasvaessa kehittäjät olivat alkaneet huolehtia suuresta joukosta ihmisiä, jotka tarvitsisivat olla mukana missä tahansa päivityksessä..

Ei ole yllättävää, että muut vakiintuneet avustajat suhtautuivat myönteisesti siihen, että Andresen ymmärsi, että tämä voitaisiin välttää, ja hän jakoi nopeasti uutiset.

“Vau. Gavinin ajatus siitä, että [OP_EVAL] voidaan tehdä ilman jakoa, räjäytti mieltäni “, Gregory Maxwell huomautti reagoiden havaintoon reaaliajassa [9]. “Tuo [sic] kampanja.”

Tämän avulla kehittäjät suunnittelivat entistä turvallisemman menetelmän pehmeiden haarukoiden aktivoimiseksi. He teorioivat voivansa tehdä jotain kyselyn kaltaista selvittääkseen, milloin ominaisuudella oli riittävän laaja kaivostyöntekijöiden tuki, jota he voisivat sitten käyttää turvallisen päivityksen varmistamiseksi.

Kaivostyöläisiä pyydetään sisällyttämään vähän tietoa kaivettuihin lohkoihin ilmoittamaan noudattavansa uusia sääntöjä. Kun enemmistö oli valmis, muutos voitiin aktivoida [10].

Kohtalokas virhe

Mutta O’Connorin havainnot kumoivat kaiken tämän työn [13].

Tuloksena oli jako ryhmittymiin, toisten mielestä OP_EVAL viivästyi tarpeettomasti ja toiset väittivät, että ehdotetut pikakorjaukset heikentävät tiettyjä Bitcoinin olennaisen komentosarjakielen toivottuja ominaisuuksia [14].

Kehittäjät, mukaan lukien Luke Dashjr, Pieter Wuille ja Maxwell, ehdottivat vaihtoehtoja, joissa OP_EVALin tapaan hyödynnettiin kolikoiden lähettämistä hajautukseen. Mutta haasteena oli edelleen saada tämä logiikka, jota he alkoivat kutsua nimellä “pay to script hash” tai “P2SH”, Bitcoiniksi pehmeänä haarukana ja välttämään lohkoketjun jakautuminen.

Olemassa olevat op-koodit voisivat mennä vain niin pitkälle: päivittämättömien solmujen olisi hyväksyttävä tapahtumat, jotka kuluttivat kolikoita hashista, ymmärtämättä uusia sääntöjä.

Andresen löysi tien eteenpäin, eikä hänen erityinen P2SH-ratkaisunsa tarvinnut lainkaan uutta op-koodia. Pikemminkin Andresenin ajatus oli, että Bitcoin voitaisiin ohjelmoida tunnistamaan tietty tapahtumamuoto ja tulkitsemaan tämä muoto epätavanomaisella tavalla vahvistaakseen sen uusien ohjeiden avulla.

Kaikki solmut, jotka eivät päivittäneet, tulkitsevat epätavanomaisen muodon perinteisen logiikan avulla. Kuten OP_EVAL, myös päivittämättömät solmut pitävät tapahtumaa aina kelvollisena. Tämä tarkoitti sitä, että P2SH voitaisiin ottaa käyttöön pehmeänä haarukana: niin kauan kuin suurin osa hajautusvoimasta pakottaa uudet säännöt voimaan, sekä vanhat että uudet solmut sopivat samasta lohkoketjusta.

Andresenin ehdotus näytti tyydyttävältä useimmille. “Näyttää … ensi silmäyksellä hyväksyttävältä”, O’Connor vastasi [15]. Taaki viittasi koodin epätavalliseen lähestymistapaan ja sanoi: “Idea on hakata…. mutta pidän siitä.”

Myöhemmässä kehittäjien kokouksessa mielipiteet pidettiin, ja osallistujat sopivat toteuttavansa Andresenin P2SH-ehdotuksen. Kaivostyöntekijät äänestettäisiin 1. helmikuuta edeltävällä viikolla, ja jos suurin osa hajautusvoimasta (55 prosenttia) ilmoitti tuesta, asiakas vapautettaisiin aktivoimaan pehmeä haarukka vain kaksi viikkoa myöhemmin.

Rauha kesti kaikki muutaman päivän.

Miksi et käytä USD: tä?

Konsensuksen rikkominen olisi Dashjr, jonka oli täytynyt lähteä kokouksesta aikaisin ja vasta myöhemmin oppinut, että Andresenin versio P2SH: sta oli ollut hyväksytty kompromissi..

Andresenin ratkaisun epätavallinen luonne ärsytti Dashjria, joka uskoi sen monimutkaistavan protokollaa ja tuonut epävarmat seuraukset linjalle. Hän otti asian esiin Andresenin kanssa, mutta jälkimmäinen ei ollut vakuuttunut siitä, että hänen huolensa ansaitsivat suunnitelmien muutoksen [16].

Hänen ehdotuksensa, Dashjr räjähti julkisella BitcoinTalk-foorumilla tammikuun puolivälissä, tuomitsen P2SH: n ja lataamalla Andresenin “yksin” tukemaan muutosta [17].

“Gavin pakottaa kaikki käyttämään uusinta Bitcoin-koodia äänestämään [P2SH]”, hän kirjoitti. “Jos haluat vastustaa tätä järjetöntä protokollan muutosta, sinun on muutettava BitcoinD-lähdekoodiasi tai äänestät oletuksena IT-SUOSIKSI.”

Hänen vastalauseidensa vivahteen, röyhkeän tenorin, jossa ne toimitettiin, ja hänen syytöksensä Andresenista johtuen vastaukset virkaan olivat vähemmän kuin myönteisiä. Sen sijaan, että tekninen keskustelu olisi rajoitettu kehittäjille, jotkut kokivat Dashjrin yrittävän yllyttää suosittua väkijoukkoa.

Se ei auttanut, että Dashjr oli yksi projektin quixotic-avustajista, joka tunnetaan pitkistä argumenteistaan ​​puolustamaan vaihtoehtoisia numerojärjestelmiä ja vahvaa kristillistä uskoa. Erään foorumin käyttäjän mukaan Dashjrin kommentit saivat hänet näyttämään ”henkisesti epävakaalta [18]. ” Toinen sanoi, ettei hän halunnut vaivautua yksityiskohtiin ollenkaan; hän vain luotti Andreseniin [19].

Vastauksena Dashjr vastusti P2SH-ehdotusta jatkuvasti filosofisista syistä kiistämällä paitsi sen tekniset ansiot myös sen vaikutukset hallintoon.

“Jos haluat monarkiaalisen valuutan, miksi et käytä vain Fedin USD: tä?” Dashjr pyysi halveksijoitaan, toiset vain hämmentyivät väittäen, että hän kilpaili vallasta [20].

Ei peruuta, Dashjr koodaisi P2SH: n vaihtoehtoisen version, nimeltään CheckHashVerify (CHV). CHV oli pohjimmiltaan erilainen P2SH-toteutus – mutta se ei edellyttänyt tapahtumien tuotosten epätavanomaista tulkintaa. Sen sijaan CHV lisäsi uuden op-koodin, joka, kuten OP_EVAL, voidaan “naamioida” paikkamerkin op-koodiksi.

Mutta Andresenille oli liian myöhäistä keskusteluun [21]. Höpöttäen julkisesta räjähdyksestä hän vastasi omalla, kirjoittamalla:

”Luke, yrität kärsivällisyyteni. Aion erota koodista muutaman päivän rauhoittua ennen kuin teen jotain tyhmää. “

Genjix tulee julkiseksi

Koska Andresenin P2SH-suunnittelu (jota kutsutaan nyt yksinkertaisesti P2SH: ksi) nähtiin suurelta osin riittävän hyvänä ratkaisuna, jota projektin johtava kehittäjä suosisi, Dashjr löysi itsensä muutaman puolustajan kanssa.

Taakille kuuluu vähemmistön ääni ottaa vakavia huolia – mutta ei siksi, että hän vastusti Andresenin ratkaisua tai välttämättä hyväksyi Dashjrin.

Kehittäjä, sitten 20-luvun alussa, oli jo yksi Bitcoinin suorimmista avustajista, ja vaikka hänestä ei ollut vielä tullut otsikkoa tarttuva anarkisti, joka hakkeroi kyykkyistä ja matkusti 3D-tulostettujen aseiden juoksijoiden kanssa, hänen näkemyksensä ohjelmistosta laitostenvastainen liike oli jo työntänyt hänet projektin sisäpiiristä.

Tämä puolestaan ​​oli tehnyt Taakista epäluuloisen projektin nopeutuvasta kehitysprosessista. Hän piti sitä parempana, jos päätöksentekoprosessi vie aikaa ja sisältäisi laajemman käyttäjäkunnan.

Hänen mielestään pieni kehittäjien kaapeli ei palvellut Bitcoinia hyvin. Taaki katsoi vahvasti, että jokaisen, joka on kiinnostunut projektista, tulisi olla tietoinen kompromisseista ja osallistua mahdollisuuksien mukaan päätöksentekoon.

“Haluaisin mieluummin, että ihmisillä on sananvaltaa asiassa, vaikka se tekee kehittäjistä vaikeamman selittää päätöksensä”, hän kertoi muille kehittäjille [22]. “Minusta tuntuu hieman pelottavalta kertoa käyttäjillemme, miten se tulee olemaan, sinulla ei ole sananvaltaa ja sitten antaa heille sormi.”

Vaikka Taaki oli samaa mieltä siitä, että ero Andresenin P2SH: n ja Dashjrin CHV-ehdotusten välillä oli pieni, hän jatkoi, että käyttäjien osallistuminen kehitysprosessiin oli tärkeä tehtävä.

“[M] hätää on joskus Bitcoin korruptoitunut. Näe tämä ylimääräinen tarkastelu mahdollisuutena rakentaa avoimuuden kulttuuri ”, hän väitti.

Tätä varten Taaki kirjoitti blogikirjoituksen, jossa hän esitti P2SH- ja CHV-päivitykset sekä näiden kahden väliset erot [23].

Käyttäjillä oli valinnanvapaus, oli Taakin viesti ja: “Äänestys perustuu kaivostoimintaan.”

F * cked-up -tilanne

Sanavalinnalla Taaki oli ohjannut norsun huoneeseen. Oli totta, Nakamoto oli säätänyt pehmeät haarukat, mutta vuoden 2011 loppupuolella verkko ei enää toiminut kuten noina aikoina.

Kun Nakamoto julkaisi valkoisen kirjan vuonna 2008, hän oletti, että käyttäjät toimittavat työtodistuksen käyttäjille, jotka toimittavat laskelmia henkilökohtaisten tietokoneiden kautta. “Työtodistus on pohjimmiltaan yksi CPU-yksi ääni”, Nakamoto oli kirjoittanut.

Tämän mallin mukaan kuka tahansa käyttäjä voi olla kaivosmies ja suojata verkkoa ehdottamalla lohkoja, vahvistamalla vertaisryhmien lähettämiä tapahtumia ja pakottamalla kehittäjien kirjoittaman koodin.

Mutta yrittäjät olivat vanhentaneet ohjelmiston julkaisemisesta lähtien tätä mallia. Koska Lazlo Hanyesz (Bitcoin-pizzan maine) oli tajunnut kuinka tuottaa bitcoin tehokkaammilla grafiikkaprosessoriyksiköillä, asiantuntijat olivat olleet kiireisiä muuttamalla kaivostoimintaa harrastuksesta pieneksi yritykseksi.

Noin samaan aikaan Marek “Slush” Palatinus esitteli menetelmän, jonka avulla kaivostyöläiset voivat yhdistää hash-voiman, jota tarvitaan lohkojen ehdottamiseen ja voittojen jakamiseen. Tämä teki kaivostoiminnasta vähemmän arpajaisia ​​ja enemmän vakaa tulonlähde.

Vuoden 2011 loppuun mennessä vain kolme allasta – DeepBit, Slush Pool ja BTC Guild – hallitsivat reilusti yli puolet maailmanlaajuisesta hajautusvoimasta. Yhden CPU-one-äänen sijasta suurin osa “äänistä” keskittyi nyt vain muutamaan kaivosalueen operaattoriin, ikään kuin he edustaisivat kyber-ainesosiaan.

Joillekin se oli todiste siitä, että jokin oli väärässä Bitcoin-verkossa. “Näen [kaivosaltaan] päättävän verkon muutoksesta äänten farssina”, varhainen kaivosmies Midnightmagic väitti [24].

Muille kaivostoiminnan keskittäminen oli valitettava kainalosauva, tapa tehdä pehmeästä haarukasta päivitys hallittavammaksi ja siten vähemmän riskialttiiksi. (Loppujen lopuksi turvallinen käyttöönotto vaati nyt vain kourallisen kaivosaltaiden operaattoreiden osallistumista.)

Esimerkiksi Maxwell oli enemmän tyytymätön käsillä olevaan epätyydyttävään todellisuuteen [25].

“Jos ei-triviaalista takaiskua olisi, niin kehittäjät ja altaat perääntyisivät, mutta kukaan ei tunnu kovin vastustavan sitä missään tapauksessa”, hän vastasi. “[Minulla on hyvä mekanismi käytettäväksi tulevaisuudessa … kun toivottavasti meillä ei ole tätä perseestä tilannetta, jossa Bitcoinia ei enää hajauteta.”

Äänestää tai ei äänestää

Se, että Andresenin ja Dashjrin taistelevat ehdotukset ilmentävät vastakkaisia ​​näkemyksiä Bitcoinin hallinnasta, vain mutkistaa asioita.

Siihen asti kehittäjät olivat aina puhuneet tulevasta pehmeän haarukan päivityksestä eräänlaisena äänestyksenä: kaivostyöläiset pystyivät panemaan P2SH: n (tai OP_EVAL) hahmottelemaan uudet säännöt hash-valta-enemmistöllä, joten äänestyksen tarkoituksena oli mitata tämän todennäköisyyttä. tulokset.

Mutta terminologiasta oli tullut osa sanakirjaa, mutta siinä jätettiin pois joitakin teknisiä vivahteita. Kyselyä tehdessään kehittäjät eivät kysyneet kaivostyöläisiltä, ​​mitä mieltä he olivat uusista säännöistä. Pikemminkin he pitivät tätä tapana nähdä, ovatko kaivostyöläiset valmiita varmistamaan turvallisen päivityksen.

Tästä näkökulmasta kehittäjille oli järkevää, että vain yksi ehdotus lisätään ohjelmiston käyttäjille ja kaivostyöläiset juoksevat noudattamaan verkkosääntöjä.

”Bitcoin-järjestelmä on _EI_valmistettu enemmistövaaleihin. Ei hashpower-enemmistöä, ei ihmisten enemmistöä, ei suurinta osaa rahasta “, Maxwell väitti ärsyttäen sitä, että Taaki muotoili päätöksen äänestykseksi [26].

Maxwellin mielestä kaivostyöläisten “äänet” olisi rajoitettava samoin kuin itse ohjelmistossa, tapahtumien järjestyksen täytäntöönpanoon – eivät koko verkon sääntöihin.

“Mitä tapahtuu, jos ylin enemmistö – jopa 100% – nykyisistä kaivostyöläisistä päättää, että tuen pitäisi olla 50 BTC ikuisesti? EI MITÄÄN. Kaivostyöläiset, jotka muuttavat tätä sääntöä ohjelmistossaan, yksinkertaisesti lakkaavat olemasta Bitcoin-verkon näkökulmasta ”, hän kirjoitti.

Dashjr ei ollut eri mieltä Maxwellin kanssa, mutta käytännössä hänen oli vaikea nähdä, kuinka Bitcoin pysyisi turvassa, jos kehittäjät ajaisivat muutoksia ilman kaivostyöntekijöiden tukea.

“Kaivostyöläiset voivat yksinkertaisesti kieltäytyä kaivamasta P2SH-kauppoja ollakseen immuuneja” kehitystiimin muutoksille “, hän vastasi [27]. “Jos” kehittäjät “sulkevat kaikki kaivostyöläiset, arvaa mitä tapahtuu? Helpot 50%: n hyökkäykset, verkko jää suojaamattomaksi! “

Tässä valossa on helpompi ymmärtää, miksi Dashjr uskoi Andresenin väärinkäyttävän rooliaan pääkehittäjänä yrittäessään työntää P2SH: ta yksin. Jos kaivosmies käytti lohkon louhintaan tavallista ohjelmistoa, se äänesti automaattisesti P2SH: n puolesta [28].

Vastauksena Dashjr kirjoitti korjaustiedostoja, jotka sisälsivät hänen suosimansa ehdotuksen hajautusvoiman “vaaleihin” ja esittivät kaivostyöläisille mahdollisuuden äänestää sekä P2SH: n että CHV: n puolesta ja vastaan..

Vaikka harvat kaivostyöläiset käyttivät koodia, Dashjrin vastustuksella oli vaikutusta. Tycho, verkon suurimman kaivosalueen, DeepBitin operaattori, alkoi kasvaa epämukavaksi roolistaan ​​kilpailevan koodin arvioinnissa.

Väittäen olevan selvää, että kehittäjien keskuudessa ei ollut vielä päästy yksimielisyyteen, hän kirjoitti: “En halua tulla yhdeksi kokonaisuudeksi, joka päättää tästä [29]. ”

Umpikujaan

Työntekijä hylkäsi idean, vaikka kaivosaltaaa voitaisiin jopa mukavuuden vuoksi käyttää päivityspäätöksen ajamiseksi, Tycho lisäsi uuden käänteen käydyn keskusteluun. Ilman hänen tukeaan, joka on yli 30 prosenttia kaikesta hajautusvoimasta, P2SH: n aktivointi olisi vaikeaa.

Tammikuun loppupuolella ensimmäinen P2SH-äänestyskierros oli päättymässä, eikä se näyttänyt täyttävän vaadittua kynnystä. Päivitys olisi viivästyttävä, mikä on turhautunut paitsi Andresenille myös muille kehittäjille.

IRC: ssä Maxwell valitti julkisesti, ettei umpikujaan näyttänyt olevan loppua.

“Tämä” kiire “-meme on paskaa, Gavin aloitti [pay-to-script-hash] -reitin, mitä, lokakuussa?” hän kirjoitti[30]. “Sikäli kuin voin kertoa, ellei joku laadi määräaikaa, tämä prosessi ei koskaan lähene toisiaan, koska aina on joku SEURAINEN kaveri, joka on loistava idea jätettiin pois.”

Andresen ei syytä viivästymisestä ei kaivosaltaiden syntymistä, vaan DeepBitin operaattoria Tychoa henkilökohtaisesti. “Tällä hetkellä näyttää siltä, ​​että yhdellä henkilöllä on riittävästi voimaa vetoa muutoksista”, hän kirjoitti [31].

Tämä vaivasi Andresenia, joka piti Tychon asennetta epäeettisenä. “Mielestäni on väärin, että käytät asemaansa suurimpana uima-allasoperaattorina vastoin yleistä yksimielisyyttä”, hän kirjoitti [32].

Työho ei halunnut “äänestää” edes silloin, kun Andresen meni niin pitkälle, että hän painosti julkista painostusta, pakottaen käyttäjiä pyytämään kaivospoolejaan päivittämään – ja tarjoamaan palauttaa kaikki DeepBitin varat, mikäli P2SH johtaisi taloudelliseen menetykseen. ehdotus[33].

Viivästymisen edessä Andresen yritti saada yleisö selville asiaan. Vakaumuksessaan valinnalla P2SH ja CHV ei olisi juurikaan vaikutusta käyttäjiin.

Andresen kirjoitti:

”Kaikki [P2SH / CHV] -tavarat ovat enimmäkseen insinöörejä, jotka kiistelevät siitä, onko parempi käyttää kahta kappaletta yhteen naulalla, ruuvilla tai liimalla. Mikä tahansa ratkaisu toimi, eikä tavalliset käyttäjät huomaa mitään eroa [34]. ”

Lankavastausten perusteella Bitcoin-käyttäjät hyväksyivät Andresenin kehyksen ja syyttivät Tychoa haarukan pidättämisestä ja painostamisesta aktivoimaan.

Tycho puolestaan ​​vastusti kiivaasti Andresenin väitettä. Jopa 30 prosentin hash-voimalla hän tiesi, että jäljellä olevat kaivostyöläiset voisivat kumota hänet, eikä hän halunnut olla ratkaiseva tekijä.

Kierros 2

Koska P2SH ei ole toistaiseksi kyennyt keräämään riittävää hajautusvoiman tukea, Andresen joutuu yhä enemmän pakottamaan keskustelemaan ehdotuksensa strategiasta avoimesti, ja hän erityisesti alkoi hyväksyä CHV: tä potentiaalisena vaihtoehtona umpikujan poistamiseksi..

Silti vastaukset vetivät jakolinjan niiden välillä, jotka uskoivat, että P2SH: n ja CHV: n välillä oli valinta kaivostyöläisten, ja niiden välillä, jotka kannattivat meritokraattisempaa päätöksentekoa..

“Viime kädessä kaivostyöläiset ovat AINOASTA ihmisiä, joilla on sananvaltaa tällaisissa kysymyksissä”, BitcoinTalk-käyttäjä dooglus väitti [35]. “He ovat ainoat, jotka päättävät, mitkä tapahtumat jakautuvat.”

Foorumin ylläpitäjä Theymos hylkäsi tämän idean suoraan. Ei-kaivostyöläiset voivat hylätä estot. Jos tarpeeksi asiakkaita tekee tämän, kaivostyöläisten kaivostyöntekijöistä tulee arvottomia. [36] ”

Sen sijaan Theymos ehdotti, että tietyn sisäisen asiantuntijapiirin tulisi osallistua kahden viikon keskusteluun ja antaa äänestys lopussa [37]. Joko ehdotuksen tai tapahtuman vuoksi Dashjr loi pian Wikin, jossa joukko arvostettuja kehittäjiä voi ilmaista mieltymyksensä.

Seuraavien päivien aikana Maxwell, Thomas ja Wuille ilmoittivat kaikki hyväksyvänsä mielellään joko P2SH: n tai CHV: n, vaikka he tekivät selväksi, että he pitivät parempana P2SH: ta. O’Connor ja Dashjr olivat yhtä mieltä siitä, että P2SH oli hyväksyttävä, mutta ilmaisivat mieluummin CHV: n [38].

Ehkä ei ole yllättävää, että Andresen varmisti heiluttavansa äänestyslistaa P2SH: n hyväksi rekisteröimällä selkeän “ei” CHV-ehdotusta vastaan.

Vielä tärkeämpää on, että vain harvat kaivostyöläiset tukivat CHV: tä. Helmikuun puoliväliin mennessä P2SH: ta tuki 30 prosenttia hajautusvoimasta, kun taas Dashjrin vaihtoehto oli jumissa noin 2 prosenttia.

IRC: tä käsittelevässä kokouksessa Dashjr sanoi harkitsevansa vetäytyykö CHV kokonaan, hyväksymällä hämmentävästi P2SH: n määräävää asemaa39]. Samassa kokouksessa osallistujat sopivat asettavan toisen äänestyksen määräajan 1. maaliskuuta.

Uuden määräajan lähestyessä enemmän kaivostyöläisiä kokoontui P2SH: n taakse, jolloin hajautusvoiman tuki oli lähellä 55 prosentin kynnystä. Pian sekä Tycholla että Dashjrillä ei ollut muuta vaihtoehtoa kuin hyväksyä ikäisensä mieltymykset [40].

Tämän jälkeen Andresen ilmoitti, että pehmeä haarukka otetaan käyttöön ja aktivoidaan 10 päivän kuluessa, ja 1. huhtikuuta 2012 mennessä uudet säännöt pantiin täytäntöön [41].

P2SH, ensimmäinen protokollapäivitys Satoshin lähdön jälkeen, oli annettu.

Myrsky teekannussa

P2SH: n siirtymiseen johtaneella vaikealla poliittisella prosessilla olisi jatkossakin pysyvä vaikutus itse ohjelmiston ulkopuolelle.

Loppujen lopuksi Andresen oli pystynyt ottamaan käyttöön ratkaisun, jonka hän sekä suunnitteli että suositteli. Jos voidaan sanoa, että hänen johtajuuttaan kyseenalaistettiin kriisin keskellä, se lopulta vahvistui tiukasti.

Julkinen mielipide, joka ei välitä erityispiirteistä, yhtyi suurelta osin Dashjrin ja vähemmässä määrin Taakin toimintaan, pitäen niitä tarpeettomina ja tulehtivina [42]. Andresen meni niin pitkälle, että pyysi Dashjria lopettamaan panostuksensa Bitcoiniin kokonaan, vaikka näyttää siltä, ​​että hän joko perui tuosta uhasta tai muuten Dashjr vain sivuutti sen [43].

Samaan aikaan Maxwellista tuli yksi Bitcoinin “ydinkehittäjistä”, joka jakaa sitoutumisen projektiin Andresenin ja avustajien Wladimir van der Laanin ja Jeff Garzikin kanssa..

Sävy oli asetettu: Bitcoin-kehityksen suhteen kannustava, käytännöllinen asenne palkittiin ja vastakkaiset avustajat erotettiin. Vaikka ideologiset erimielisyydet olivat nousseet esiin, ne pysyivät – ja epäilemättä vain vahvistivat – menettelyn.

Kun lisää käyttäjiä parveilee Bitcoiniin päivällä, P2SH siirtyi pian opiskeluun, vaikka se toimisi edelleen leimahduspisteenä kehittäjien välisissä erimielisyyksissä.

Andresen muistelee vuotta myöhemmin tapahtuneita tapahtumia vastauksena toiseen nousevaan kriisiin, ja Andresen kerskaisi tavoilla, jotka viittaavat siihen, että hän uskoi P2SH: n vahvistaneen johtajuuttaan ja näkemystään projektista [44].

“Lohkon kokoa nostetaan”, hän kirjoitti vastauksena kehittäjä Peter Toddin tuottamaan videoon, joka kannatti raja-arvon korotusta vuoden 2013 alussa [45]. “Videosi saa vain monet ihmiset huolehtimaan mistään, aivan samalla tavalla kuin Luke-Jr: n [CHV] viime vuonna tekemä ehdotus ei tehnyt muuta kuin aiheutti tuulen teekannussa.”

Kuinka päätökset tulisi tehdä ensimmäisestä hajautetusta digitaalisesta valuutasta? Jos kysymys olisi vihdoin esitetty, sen ratkaiseminen vie laajemman sodan, vielä vuosia tulevaisuudessa …

Taistelu P2SH: sta: Ensimmäisen Bitcoin-sodan kertomaton historiaTaistelu P2SH: sta: Ensimmäisen Bitcoin-sodan kertomaton historia

Katso tämä video YouTubessa