»Pomaknite datum za dva meseca nazaj. OP_EVAL še ni pripravljen. “

To je bila sodba, za katero se je Gavin Andresen tako dolgo trudil, da bi se ji izognil. Z enim očitkom, poslanim s tipkovnice Russella O’Connorja, je bil večmesečni napor za nadgradnjo Bitcoina – prvi po izstopu ustanovitelja Satoshija Nakamota – nenadoma zaustavljen pred uvedbo.

Kot je razkril O’Connor, je predlagani ukaz, ki ga je Andresen napovedal kot “najhitrejšo pot” do varnejših Bitcoin denarnic, mogoče izkoristiti za ustvarjanje transakcij, ki bi programsko opremo poslale v neskončno računsko zanko, da bi jih potrdili..

Skratka, OP_EVAL bi lahko zlorabili, da bi zrušili Bitcoin vozlišča in s tem Bitcoin omrežje.

“Vseh 70 minut sem iskal, da sem našel to napako,” je zapisal O’Connor in obsodil postopek, ki je združil – in skoraj potisnil – slabo kodo v živo programsko opremo. “Fantje morate ustaviti to, kar počnete, in resnično razumeti Bitcoin.”

To je bil prvi resni zaostanek za Andresena, novega vodjo projekta, ki je hitro protestiral. Po njegovem mnenju opustitev OP_EVAL-a ne bi zapravila le mesecev kodiranja in pregledovanja, ampak bi uporabnike pustila brez orodij za zaščito pred trojanskimi virusi in virusi, nato pa bi oropala njihove digitalne denarnice..

To je bilo v središču privlačnosti OP_EVAL-a – enostavne denarnice z več podpisi bi uporabnikom omogočile izterjavo bitcoinov, tudi ko so bile varnostne kopije izgubljene; storitve bi lahko bile zgrajene za pošiljanje bančnih opozoril, ki preprečujejo prevare in kraje; in še bolje, vse to bi lahko dosegli pri transakcijah, ki bi izgledale in se obnašale tako, kot so tisti uporabniki vedeli in razumeli.

Toda O’Connorjeve opozorilne besede so bile dovolj za tiste, ki so svoje pomisleke glede stopnjujočega se tempa razvoja potrdili.

“Rad bi spomnil vse, da se zafrkavamo s stvarjo, vredno 20 milijonov dolarjev,” bi zapisal razvijalec Alan Reiner. “Gre za več kot le del programske opreme – karkoli vstopi, mora biti trdo kot diamant.”

Neuspeh OP_EVAL-a bi imel še večje posledice. Res je, da je Nakamoto lansiral prvo decentralizirano digitalno valuto na svetu, vendar obljuba še zdaleč ni bila izpolnjena. Le malo konec leta 2011 je razumelo njeno kodo, manj pa jih je še vedno imelo spretnost in znanost, da jo varujejo.

Kako naj se organizirajo ti razvijalci? Kakšne odgovornosti so imeli do uporabnikov? In kako bi uzakonili spremembo, ko ni bilo jasno, kdo – če sploh kdo – bi moral imeti zadnjo besedo?

Takšna vprašanja bi bila kmalu postavljena v ospredje v prvi veliki bitki glede programske opreme Bitcoin.

Neortodoksno nasledstvo

Brezplačne in odprtokodne projekte najpogosteje vodijo ustanovitelji, ki pa si morajo prizadevanja uskladiti s sodelavci, od katerih je odvisno njihovo delo. Kljub temu pa tam, kjer se pojavijo usmerjevalni spori, prežeta z naravno avtoriteto, ki odloča o svojih stvaritvah..

Bitcoin že zgodaj ni bil nobena izjema. Nakamoto je v prvih dveh letih svojega obstoja igral glavnega razvijalca in dobrodušnega diktatorja. Kot nesporni vodja Bitcoina je izvedel kar osem sprememb protokola, ne da bi bil podoben širšemu diskurzu [1.]. Se pravi, dokler se postopoma ni oddaljil od projekta.

Do konca leta 2010 bi Nakamoto izbrisal njihov psevdonim s spletnega mesta Bitcoin.org, veteran razvijalca 3-D grafike Gavin Andresen pa bi moral plašč zahtevati kot “dejansko vodilno vlogo” projekta [2.].

Andresenova najprimernejša izbira besed je bila primerna, saj so bile okoliščine, povezane s tem prehodom, nenavadne, obsegale so kratko javno sporočilo, zasebno prehajanje nalog in izmenjavo ključa, ki uporabniku omogoča, da pošlje sistemsko opozorilno sporočilo.

Kljub temu je to takrat predstavljalo malo težav za majhno, a naraščajočo skupino kodirnikov Bitcoina. Večina je bila zaskrbljena zaradi kritičnih popravkov, Andresen, zakonec stalnega profesorja, pa je imel čas in navdušenje, da je vodil delo [3.].

Dejansko je bilo veliko perečih potreb – hitrejša sinhronizacija, boljše testiranje – toda “povečana poročila o ukradenih denarnicah” in “slabe PR”, ki so jih povzročile tatvine, so se hitro pokazale kot glavna skrb.

Nekaj ​​časa je bil to cilj, glede katerega se je nova skupina sodelavcev Bitcoina strinjala [4.].

Goli Multisig

Na srečo je načrt rešitve dal Nakamoto. Kot bi izvedel Andresen, je Bitcoinova koda uporabnikom že omogočala ustvarjanje varnih transakcij, ki bi jih lahko porabili le, če so podpisani z več zasebnimi ključi [5.].

Z večpodpisom ali na kratko multisigom lahko zasebne ključe shranite v več naprav, na nasprotnih koncih sveta ali jih delite med uporabnikom in storitvijo denarnice, kar pomeni, da bi morali hekerji ogrožati več ciljev, da bi ukradli kovance.

Andresen, zaljubljen v to idejo, bi postal njen prvi prvak, ki je na poštnem seznamu napisal strasten priziv, da bi spodbudil sodelujoče k akciji..

“Moja največja skrb je, da bomo rekli:” Seveda, trajalo bo le nekaj dni, da se dogovorimo, kako to storiti pravilno, “in čez šest mesecev še vedno ni soglasja,” je zapisal [6.]. “In denarnice ljudi se bodo [še naprej] izgubljale ali krale.”

Skrbi niso bili brez teže – kot je izvedel Nakamoto, je imel multisig pomembne pomanjkljivosti. Najbolj pereče med njimi je bilo, da transakcije niso združljive s standardno obliko naslovov Bitcoin in so namesto tega zahtevale veliko daljše naslove.

Zaradi tega so bile transakcije, ki financirajo multisig denarnice, večje in so zahtevale višje provizije. Še več, teh provizij ni moral plačati tisti, ki prejema bitcoin z multisig denarnico, ampak tisti, ki jim bitcoin pošilja.

Zaradi teh neoptimalnih lastnosti so bile transakcije multisig v programski opremi označene kot “nestandardne”, kar pomeni, da se ne bi nujno širile na vozlišča v omrežju. Če bi vozlišče prejelo multisig transakcijo, bi jo preprosto prezrlo. Podobno ni bilo nobenega zagotovila, da bodo rudarji te transakcije vključili v bloke.

Če bi jih vključili, bi jih vozlišča sprejela (multisig transakcije so bile na koncu veljavne). Toda v praksi je imenovanje vsekakor onemogočilo potrditev teh transakcij.

Vnesite OP_EVAL

Da bi odkril potencial, ki ga je videl, bi Andresen nadaljeval z novo “op-kodo”, vrsto ukaza, s katerim bi vozlišča lahko odločala, ali in kdaj naj bodo veljavne nove vrste transakcij..

Zasnovan za bolj napredne transakcije, kot je multisig, se je OP_EVAL močno naslonil na zgoščene podatke, kriptografski trik, ki podatke kodira in stisne deterministično, a nepovratno v edinstven niz številk..

Najprej predlagano s strani psevdonimnega razvijalca ByteCoin je bila osnovna ideja, da lahko uporabniki razpršijo navodila, ki podrobno opisujejo pogoje, pod katerimi se lahko kasneje porabi bitcoin (vključno z denarnicami in iz denarnic multisig), tako da to razpršitev vključijo v transakcijo. Kovanci bi bili v bistvu poslani “v” hash.

Pogoji, potrebni za kasnejšo porabo bitcoina, bi se razkrili šele, ko bi bili kovanci porabljeni “iz” haša. Uporabnik multisig bi plačal dodano velikost transakcije, ko bi zapravil kovance, medtem ko so zahtevani dodatni podatki manj obremenili omrežje.

Ker je predlog prejel pozitivne povratne informacije, Andresen ni izgubljal časa, raje je namesto OP_EVAL uporabil prej kot slej.

»Varnost je res visoko na prednostnem seznamu; V enem letu bi rad videl zaščitene naslove Bitcoin v podpisih forumov ljudi, «je zapisal [7.].

Niso pa vsi delili Andresenovega občutka nujnosti. OP_EVAL bi bila velika nadgradnja sistema v živo, ki že ima milijone dolarjev vrednosti. Mladi Amir Taaki je čez ocean od Andresena predlagal, da si razvijalci vzamejo čas za pregled predloga.

“Na prvi pogled se zdi dobro,” je zapisal Taaki [8.]. “Toda hitro sledenje temu v verigi verig verjetno ni pametna ideja … Bitcoin jutri ne eksplodira, zato ni zadržkov pri zadržavanju pomembnih sprememb, kot so te.”

Razvijalci so še dodatno zapletli zadeve in domnevali, da bi dodajanje OP_EVAL v protokol predstavljalo velik izziv pri usklajevanju. V bistvu bi njegovo uresničevanje zahtevalo tveganje, da bi se veriga blokov, dokončni zapis vseh Bitcoin transakcij, ki se uveljavlja s skupnim konsenzom o pravilih programske opreme, razdelila na nezdružljiva omrežja..

To je pomenilo, da bi moral vsak uporabnik takoj, ko je OP_EVAL zaživel, preiti na novo različico programske opreme in novo verigo blokov, v tako imenovani nadgradnji “trde vilice”.

Če se ne nadgradijo soglasno, rudarji morda nevede proizvajajo “neveljavne” bloke. Še huje, uporabniki lahko nevede sprejmejo “neveljavne” transakcije.

Nova vrsta mehkih vilic

Kmalu pa je Andresen spoznal, da je mogoče njegove blatilce umiriti.

Kot prijeten trik je odkril, da je OP_EVAL mogoče uporabiti z redefiniranjem ene od številnih neaktivnih op-kod, ki jih je Nakamoto prvotno vključil kot ograde za prihodnje ukaze.

Na presenečenje vseh, vključno z Andresenom, bi bilo to združljivo tudi z vozlišči, ki se niso nadgradila in sprejela OP_EVAL. Ta vozlišča bi preverila, ali se hash ujema z novimi navodili, vendar jih ne bi uveljavila, temveč privzeto sprejela transakcije.

Dokler je večina rudarjev uveljavljala nova pravila, je to pomenilo, da bodo novi blockchain veljali tako nadgrajena kot tudi nenadgrajena vozlišča. Nadgrajena vozlišča bi sprejela verigo blokov, ker so bila uveljavljena nova pravila, medtem ko vozlišča, ki niso uspela nadgraditi, sprejemajo verigo blokov, ker jih nova pravila tako ali tako ne zanimajo.

Takšne nazaj združljive nadgradnje ali “mehke vilice” je že uvedel Nakamoto, a ker se je mreža povečala, so razvijalci začeli skrbeti zaradi velikega števila ljudi, ki bi morali biti vključeni v katero koli nadgradnjo.

Ni presenetljivo, da so Andresenovo spoznanje, da se je temu mogoče izogniti, pozdravili tudi drugi uveljavljeni sodelavci, s katerimi je hitro delil novico.

“Vau. Gavinova točka, da je [OP_EVAL] mogoče storiti brez delitve, me je prešinila, «je pripomnil Gregory Maxwell, ki se je odkril v realnem času [9.]. “Pripeljite [sic] šampanjec.”

S tem so razvijalci oblikovali še bolj varen način za aktiviranje mehkih vilic. Teoretizirali so, da bi lahko izvedli nekaj podobnega anketiranju, da bi ugotovili, kdaj ima funkcija dovolj široko podporo rudarjev, ki bi jo nato lahko uporabili za zagotovitev varne nadgradnje.

Rudarji bi morali vključiti malo podatkov v bloke, ki so jih izkopali, da bi signalizirali, da bodo uveljavili nova pravila. Ko je bila večina pripravljena, se lahko sprememba aktivira [10.].

Usodna napaka

Toda vse to delo so O’Connorjeve ugotovitve razveljavile [13.].

Rezultat je bil razdeljen na frakcije, pri čemer so nekateri menili, da se OP_EVAL po nepotrebnem zavlačuje, drugi pa trdijo, da bi predlagane hitre rešitve poslabšale nekatere želene lastnosti bistvenega skriptnega jezika Bitcoin [14.].

Razvijalci, vključno z Luke Dashjrjem, Pieterjem Wuilleom in Maxwellom, so predlagali alternative, ki so, na primer OP_EVAL, uporabile koncept pošiljanja kovancev v “hash”. Toda izziv je bil vseeno priti do te logike, ki so jo začeli imenovati »plačilo za razpršitev skripta« ali »P2SH«, v Bitcoin kot mehko vilico in se izognili razdelitvi verig blokov.

Obstoječe op-kode bi lahko šle le tako daleč: nenadgrajena vozlišča bi morala sprejemati transakcije, ki porabijo kovance iz zgoščenk, ne da bi razumeli nova pravila.

Andresen je našel pot naprej in njegova specifična rešitev P2SH sploh ne bi zahtevala nove kode op. Andresenova ideja je bila, da bi lahko Bitcoin programirali tako, da prepozna določeno obliko transakcij, nato pa to obliko razlaga na nekonvencionalen način, da jo potrdi z novimi navodili.

Vsako vozlišče, ki se ni nadgradilo, bi nekonvencionalno obliko razlagalo s konvencionalno logiko. Tako kot pri OP_EVAL, bi tudi nadgrajena vozlišča transakcijo vedno štela za veljavno. To je pomenilo, da je mogoče P2SH uporabiti kot mehko vilico: dokler večina hash moči uveljavlja nova pravila, se bodo stara in nova vozlišča dogovorila o istem blockchainu.

Andresenov predlog se je večini zdel zadovoljiv. “Zdi se … sprejemljivo na prvi pogled,” je odgovoril O’Connor [15.]. Taaki je ob sklicevanju na nekonvencionalen pristop kode dejal: “Ideja je kramp …. ampak mi je všeč.”

Na naslednjem sestanku razvijalcev je bilo čustvovanje prisotno in udeleženci so se dogovorili, da bodo izvedli Andresenov predlog P2SH. Rudarji bi bili anketirani v tednu pred 1. februarjem in če bi večina hash-moči (55 odstotkov) signalizirala podporo, bi bila stranka izpuščena, da aktivira soft fork le dva tedna pozneje..

Mir bi trajal nekaj dni.

Zakaj ne bi uporabili USD?

Konsenz bi prekinil Dashjr, ki je moral predčasno zapustiti sestanek in šele pozneje izvedel, da je bila Andresenova različica P2SH sprejeti kompromis.

Nekonvencionalna narava Andresenove rešitve je razjezila Dashjrja, ki je verjel, da je zapletel protokol in prinesel negotove posledice. Zadevo je izpostavil z Andresenom, vendar slednji ni bil prepričan, njegova skrb si zasluži spremembo načrtov [16.].

Njegovi predlogi so se zavrnili, Dashjr bi sredi januarja izbruhnil na javnem forumu BitcoinTalk, obsodil P2SH in obtožil, da je Andresen “sam” podpiral spremembo [17.].

“Gavin prisili vse, ki uporabljajo najnovejšo Bitcoin kodo, da glasujejo za [P2SH],” je zapisal. “Če želite nasprotovati tej blazni spremembi protokola, boste morali spremeniti svojo izvorno kodo BitcoinD ali pa boste privzeto glasovali ZA TO.”

Zaradi odtenkov njegovih ugovorov, drznega tenorja, v katerem so bili izrečeni, in njegovih obtožb o Andresenu, so bili odzivi na objavo manj kot pozitivni. Namesto da bi tehnično razpravo omejili na razvijalce, so nekateri videli, da Dashjr poskuša spodbuditi priljubljeno mafijo.

Ni pomagalo, da je bil Dashjr eden bolj donkihotskih sodelavcev projekta, znan po svojih dolgih argumentih v obrambo nadomestnih številskih sistemov in močni krščanski veri. En uporabnik foruma je dejal, da so bili zaradi komentarjev Dashjra videti “duševno nestabilni [18.]. ” Drugi je rekel, da se s podrobnostmi sploh ne želi obremenjevati; preprosto je zaupal Andresenu [19.].

V odgovor je Dashjr odločno nasprotoval predlogu P2SH iz filozofskih razlogov in izpodbijal ne le njegove tehnične prednosti, temveč tudi posledice za upravljanje..

“Če želite monarhijsko valuto, zakaj ne bi preprosto uporabili Fedovega USD?” Dashjr je prosil svoje klevetnike, le da so ga drugi preganjali in trdili, da se je on potegoval za oblast [20.].

Dashjr, ne da bi se umaknil, bi kodiral alternativno različico P2SH, imenovano CheckHashVerify (CHV). CHV je bil v bistvu drugačna izvedba P2SH – vendar ni zahteval nekonvencionalne razlage izhodov transakcij. Namesto tega je CHV dodal novo op-kodo, ki bi jo, tako kot OP_EVAL, lahko “preoblekli” v nadomestno kodo.

Toda za Andresena je bilo prepozno za več razprav [21.]. Na izbruh javnosti je odgovoril s svojim zapisom:

»Luke, preizkusi moje potrpljenje. Za nekaj dni se bom oddaljil od kodeksa, da se umirim, preden naredim kaj neumnega. “

Genjix postane javen

Ker je Andresenov dizajn P2SH (zdaj ga imenujemo preprosto P2SH) v glavnem videl kot dovolj dobro rešitev, ki jo je imel prednost vodja projekta, se je Dashjr znašel z malo zagovorniki.

Taaki bi moral biti glas manjšine, ki bi resno vzel pomisleke – vendar ne zato, ker je nasprotoval Andresenovi rešitvi ali se nujno strinjal z Dashjrjevo.

Razvijalec, ki je bil takrat v zgodnjih dvajsetih letih, je bil že eden najbolj odkrito sodelujočih v Bitcoinu, in čeprav še ni postal privlačni anarhist, ki je vdrl v počepe in potoval s 3D natisnjenimi pištolami, njegova vizija programske opreme kot gibanje proti ustanavljanju ga je že potisnilo iz ožjega kroga projekta.

Zaradi tega je bil Taaki nezaupljiv do pospešenega razvojnega procesa projekta. Raje bi imel, če bi postopek odločanja trajal čas in vključeval širšo bazo uporabnikov.

Po njegovem mnenju majhna skupina razvijalcev, ki je zahtevala strel, Bitcoinu ni dobro postregla. Taaki je trdno menil, da bi se moral vsak, ki ga zanima projekt, zavedati kompromisov in, kolikor je mogoče, sodelovati pri odločanju.

“Raje bi imeli ljudje besedo pri tej zadevi, tudi če razvijalcem oteži življenje, da razložijo svoje odločitve,” je dejal drugim razvijalcem [22.]. “Nekoliko sem zaskrbljen, ko sporočam našim uporabnikom, da bo tako, ne boste imeli nobenega mnenja in jim nato dali prst.”

Tudi če bi se Taaki strinjal, da je razlika med Andresenovim predlogom P2SH in Dashjrjevim CHV majhna, je vztrajal, da je vključevanje uporabnikov v razvojni proces pomembna naloga.

»[M] vas skrbi, da se Bitcoin nekega dne poškoduje. Glejte na ta dodatni nadzor kot na priložnost za izgradnjo kulture odprtosti, «je trdil.

V ta namen je Taaki napisal objavo v blogu, v kateri je predstavil nadgradnje P2SH in CHV ter razlike med obema [23.].

Uporabniki so imeli izbiro, je bilo sporočilo Taakija in: “Glasovanje temelji na moči rudarjenja.”

F * cked-up situacija

Taaki je s svojo izbiro besed ubil slona v sobo. Res je, Nakamoto je uveljavil mehke vilice, toda konec leta 2011 mreža ni več delovala kot v tistih zgodnjih dneh.

Ko je Nakamoto leta 2008 objavil belo knjigo, je domneval, da bo dokaz o delu priskrbel uporabnik, ki prispeva račune prek osebnih računalnikov. “Dokaz o delu je v bistvu en CPU-en glas,” je zapisal Nakamoto.

Po tej zasnovi je lahko vsak uporabnik rudar in varuje omrežje s predlaganjem blokov, preverjanjem veljavnosti transakcij, ki jih pošiljajo vrstniki, in uveljavljanjem kode, ki so jo razvili razvijalci.

Toda v letih po uvedbi programske opreme so ta model podjetniki zastarali. Odkar je Lazlo Hanyesz (s slavo pice Bitcoin) ugotovil, kako generirati bitcoin z zmogljivejšimi enotami za obdelavo grafike, so bili strokovnjaki zasedeni, da so rudarstvo iz hobija spremenili v majhno podjetje..

Približno v istem času je Marek “Slush” Palatinus predstavil metodo, ki rudarjem omogoča združevanje zgoščene moči, potrebne za predlaganje blokov in delitev dobička. Zaradi tega je rudarstvo manj pomenilo loterijo in bolj stabilen vir dohodka.

Do konca leta 2011 so le trije bazeni – DeepBit, Slush Pool in BTC Guild – nadzorovali več kot polovico globalne hash moči. Namesto en CPU-en glas, je bila večina »glasov« zdaj zbranih le v nekaj upravljavcih rudarskih bazenov, kot da bi bili predstavniki njihovih kiber-volivcev.

Nekaterim je bil to dokaz, da v Bitcoin omrežju nekaj ni v redu. “Vidim, da se [rudarski bazen] za spremembo omrežja odloča kot farsa glasovanja,” je trdil zgodnji rudar Midnightmagic [24.].

Za druge je bila centralizacija rudarjenja nesrečna bergla, način, kako narediti nadgradnjo mehkih vilic bolj obvladljivo in zato manj tvegano. (Navsezadnje je varno uvajanje zdaj zahtevalo sodelovanje le peščice upravljavcev rudarskih bazenov.)

Maxwell je bil na primer bolj odpovedan nezadovoljivi resničnosti [25.].

“Če bi prišlo do nepomembnega potiska, bi se tako razvijalci kot tudi bazeni umaknili, vendar se zdi, da mu zdaj v nobenem primeru nihče ne nasprotuje,” je odgovoril. “[I] ts dober mehanizem za uporabo v prihodnosti … ko upam, da ne bomo imeli te zajebane situacije, ko Bitcoin ni več decentraliziran.”

Glasati ali ne glasovati

To, da bosta Andresenova in Dashjrjeva vojskujoča se predloga, ki bi vključevala nasprotna stališča o upravljanju Bitcoinov, bi samo zapletlo stvari.

Do takrat so razvijalci o prihajajoči nadgradnji soft forka vedno govorili kot o nekakšnem glasovanju: rudarji bi lahko z večino zgoščene moči uveljavili nova pravila, ki jih opisuje P2SH (ali OP_EVAL), zato je bil glas namenjen oceni verjetnosti tega izid.

A čeprav je terminologija postala del leksikona, to ni vključevalo nekaterih tehničnih odtenkov. Pri izvedbi ankete razvijalci rudarjev niso ravno spraševali, kaj si mislijo o novih pravilih. Namesto tega so to videli kot način, kako preveriti, ali so rudarji pripravljeni zagotoviti varno nadgradnjo.

S tega vidika je bilo razvijalcem smiselno, da bo uporabnikom programske opreme dodan le en predlog, rudarji pa bodo izvajali omrežna pravila.

»Sistem Bitcoin _NIJE_ pripravljen na večinske volitve. Niti večina hashpowerja, niti večina ljudi, niti večina denarja, «je trdil Maxwell, ki ga je jezilo Taakijevo oblikovanje odločitve kot glasovanja [26.].

Maxwell je menil, da bi morali biti “glasovi” rudarjev, tako kot v sami programski opremi, omejeni na uveljavljanje vrstnega reda transakcij – in ne na pravila celotnega omrežja.

»Kaj se zgodi, če se super-večina – tudi 100% – sedanjih rudarjev odloči, da mora biti subvencija za vedno 50 BTC? NIČ. Rudarji, ki to pravilo spremenijo v svoji programski opremi, preprosto prenehajo obstajati z vidika omrežja Bitcoin, «je zapisal.

Dashjr se ni strinjal z Maxwellom, toda v praksi mu je bilo težko videti, kako bo Bitcoin ostal varen, če bodo razvijalci pritisnili na spremembe brez podpore rudarjev.

“Rudarji lahko preprosto zavrnejo pridobivanje transakcij P2SH, da ne bodo imuni na” spremembe razvojne skupine, “” je odgovoril [27.]. »Če» razvijalci «zaklenejo vse rudarje, uganite, kaj se zgodi? Preprostih 50% napadov, omrežje ostane nezaščiteno! “

Gledano v tej luči je lažje razumeti, zakaj je Dashjr verjel, da je Andresen zlorabil svojo vlogo glavnega razvijalca, tako da je poskušal samo potisniti P2SH. Če bi rudar uporabil standardno programsko opremo za kopanje bloka, bi samodejno dal “glas” za P2SH [28.].

V odgovor je Dashjr napisal popravke, ki bi vnesli njegov želeni predlog v “volitve”, ki uvaja možnost, da rudarji glasujejo za in proti P2SH in CHV..

Čeprav je le malo rudarjev uporabljalo kodo, je Dashjrjevo nasprotovanje vplivalo. Tycho, operater DeepBit, takrat največjega rudarskega bazena v omrežju, se je začel neprijetno ukvarjati s svojo vlogo pri ocenjevanju konkurenčne kode.

Trdil je, da je jasno, da do razvijalcev še ni prišlo do soglasja, je zapisal: “Nočem postati enotna entiteta, ki bi odločala o tem [29.]. “

Zastoj

Zavrača idejo, da bi lahko rudarski bazen, tudi kot priročnost, uporabili za odločitev o nadgradnji, je Tycho dodal še en zasuk k trenutni razpravi. Brez njegove podpore, ki bi znašala več kot 30 odstotkov vse razpršene moči, bi se P2SH težko aktiviral.

Konec januarja se je zaključeval prvi krog glasovanja P2SH in ni bilo videti, da bo dosegel svoj zahtevani prag. Nadgradnjo bi bilo treba odložiti, kar je razočaralo ne le Andresena, temveč tudi druge razvijalce.

Na IRC je Maxwell javno obžaloval, da se mrtvi točki ne vidi konca.

“Ta mem” hitenja “je sranje, Gavin je začel na poti [pay-to-script-hash] leta, kaj, oktobra?” on je pisal[30.]. “Kolikor vem, če nekdo ne izteče roka, se ta postopek ne bo nikoli zbližal, ker se bo vedno našel NEKDARJEN tip, ki je izpustil odlično idejo.”

Andresen krivde za zamudo ne bi nanašal na prihod rudarskih bazenov, temveč na osebnega operaterja DeepBita Tycho. “Zdi se, da ima ena oseba dovolj moči, da lahko na vsako spremembo vloži veto,” je zapisal [31.].

To je motilo Andresena, ki je videl Tychovo držo kot neetično. “Mislim, da je narobe, če uporabljate svoj položaj največjega upravljavca bazenov, da bi nasprotovali splošnemu soglasju,” je zapisal [32].

Tudi takrat, ko je Andresen šel tako daleč, da je izvajal javni pritisk, je uporabnike spodbujal, da so svoje rudarske bazene zahtevali nadgradnjo – in ponudil povrnitev vseh sredstev DeepBita v primeru, da bi P2SH povzročil kakršno koli finančno izgubo – Tycho ni bil pripravljen “glasovati” za predlog[33].

Andresen se je soočil z zamudo in poskušal javnost usmeriti k temu, saj je prepričan, da bo izbira med P2SH in CHV le malo vplivala na uporabnike..

Andresen je zapisal:

»Vse stvari [P2SH / CHV] so večinoma inženirji, ki se prepirajo, ali je bolje uporabiti žebelj, vijak ali lepilo za sestavljanje dveh kosov lesa. Katera koli rešitev bi delovala in navadni uporabniki ne bi opazili nobene razlike [34]. “

Sodeč po odzivih v niti, so uporabniki Bitcoinov sprejeli Andresenov okvir, pri čemer so Tycha obtožili, da je zadrževal vilice in pritisnili, naj aktivira.

Tycho pa je ostro nasprotoval Andresenovi trditvi. Tudi s 30 odstotki razpršene moči je vedel, da ga lahko prevladajo preostali rudarji, in ni hotel biti odločilni dejavnik.

2. krog

Ker P2SH doslej ni zbral zadostne podpore za razpršeno moč, bi bil Andresen vse bolj prisiljen razpravljati o strategiji svojega predloga na prostem, predvsem pa je začel sprejemati CHV kot potencialno alternativo za prehod iz mrtve točke..

Kljub temu so odzivi ločili mejo med tistimi, ki so verjeli, da je izbira med P2SH in CHV rudarjem, in tistimi, ki so naklonjeni bolj meritokratskemu odločanju.

“Končno so rudarji EDINI ljudje, ki imajo kakršno koli mnenje o takšnih vprašanjih,” je trdil uporabnik BitcoinTalk dooglus [35]. “Oni so edini, ki odločajo, katere transakcije se uvrstijo v bloke.”

Skrbnik foruma, Themos, je to idejo popolnoma zavrnil. »Ne-rudarji lahko zavrnejo bloke. Če bo to storilo dovolj strank, bodo rudarji kovancev postali brez vrednosti. [36] “

Namesto tega je Themos predlagal, naj se določen ožji krog strokovnjakov udeleži dvotedenske razprave in na koncu izda glasovanje [37]. Zaradi predloga ali nenamernosti je Dashjr kmalu ustvaril Wiki, kjer je seznam spoštovanih razvijalcev lahko izrazil svoje želje..

V naslednjih dneh so Maxwell, Thomas in Wuille nakazali, da bodo z veseljem sprejeli bodisi P2SH bodisi CHV, čeprav so jasno poudarili, da imajo raje P2SH. O’Connor in Dashjr sta se strinjala, da je P2SH sprejemljiva, vendar sta izrazila prednost CHV [38].

Morda ni presenetljivo, da je Andresen poskrbel, da je glasovalno glasoval v korist P2SH in vpisal odločen “ne” predlogu CHV.

Še pomembneje pa je, da je zelo malo rudarjev podpiralo CHV. Do sredine februarja je P2SH podpiralo 30 odstotkov razpršene moči, medtem ko se je Dashjrova alternativa zataknila za približno 2 odstotka.

Na sestanku o IRC je Dashjr dejal, da razmišlja, ali naj v celoti umakne CHV, s prizadetostjo sprejema prevlado P2SH [39]. Na isti seji so se udeleženci dogovorili, da bodo določili drugi rok za glasovanje do 1. marca.

Ko se je približeval novi rok, se je za P2SH zbralo več rudarjev, ki so podprli hash power blizu praga 55 odstotkov. Kmalu tako Tycho kot Dashjr nista imela druge izbire, kot da sprejmeta želje svojih vrstnikov [40].

S tem je Andresen napovedal, da bo soft fork uporabljen in aktiviran v 10 dneh, do 1. aprila 2012 pa so začela veljati nova pravila [41].

Uvedena je bila P2SH, prva nadgradnja protokola po Satoshievem odhodu.

Tempest v čajniku

Težaven politični proces, ki je privedel do sprejetja P2SH, bi še naprej imel trajen učinek zunaj same programske opreme.

Na koncu je Andresen lahko uporabil rešitev, ki jo je zasnoval in jo naklonil. Če lahko rečemo, da je bilo njegovo vodstvo zaslišano med krizo, je bilo do konca trdno utrjeno.

Javno mnenje, ki se ne ukvarja s posebnostmi, se je večinoma združilo z dejanji Dashjrja in v manjši meri Taakija, ki so jih ocenili kot nepotrebne in vnetljive [42]. Andresen je šel tako daleč, da je Dashjrja prosil, naj v celoti preneha prispevati k Bitcoinu, čeprav se je, kot kaže, bodisi umaknil tej nevarnosti, bodisi ga je Dashjr preprosto ignoriral [43].

Medtem je Maxwell postal eden od “bistvenih razvijalcev” Bitcoina, ki si je dostop do projekta delil z Andresenom in sodelavcema Wladimirjem van der Laanom in Jeffom Garzikom..

Ton je bil postavljen: ko je prišlo do razvoja Bitcoinov, je bil nagrajen podporni, pragmatični odnos in nasprotni sodelavci so bili odpuščeni. Medtem ko so se pojavile ideološke razlike, so postopki še vedno obstajali – in so jih verjetno le utrjevali.

Z več uporabniki, ki se vsak dan zlivajo v Bitcoin, je P2SH kmalu prešel v zastavo, čeprav bi še naprej služil kot plamenišče v sporih med razvijalci.

Andresen bi se ob spominu na dogodke leto pozneje kot odgovor na novo nastajajočo krizo pohvalil na načine, ki kažejo, da je po njegovem mnenju P2SH potrdil njegovo vodstvo in vizijo projekta [44].

“Velikost bloka se bo povečala,” je zapisal v odgovoru na video, ki ga je razvil razvijalec Peter Todd in se zavzel za povečanje meje v začetku leta 2013 [45]. “Mnogo ljudi bo zaradi vašega videoposnetka skrbelo zaradi ničesar, na popolnoma enak način, kot je predlog Luke-ml. [CHV] lani naredil nič drugega kot povzročil vihar v čajniku.”

Kako naj se sprejemajo odločitve za prvo decentralizirano digitalno valuto? Če bi bilo vprašanje končno postavljeno, bi bila za njegovo rešitev potrebna širša vojna, še leta v prihodnosti …

Bitka za P2SH: neizmerna zgodovina prve bitcoin vojneBitka za P2SH: neizmerna zgodovina prve bitcoin vojne

Oglejte si ta video na YouTubu