Ločena priča je lahko trenutno najpomembnejša izboljšava protokola Bitcoin. Inovacija naj bi popravila voljnost transakcij, ponuja učinkovito povečanje velikosti bloka, omogoča prilagodljivost pri razvoju in še več. Po mesecih kodiranja se Segregated Witness približuje uvajanju kot povlecite zahtevo je bil predložen Bitcoin jedro v začetku tega tedna.

Kako blizu natančnega uvajanja? Kot pri vsaki spremembi protokola Bitcoin je tudi to težko napovedati.

Ločena časovna premica Priče …

Prvi korak: Ideja

Vsako izboljšanje protokola Bitcoin se začne z idejo.

Ideja o ločenih pričah sega že dolgo nazaj; splošni koncept ločevanja podatkov o transakcijah in podpisih je verjetno nastal leta 2014 ali morda celo prej. Toda to je bilo pred približno enim letom, v začetku leta 2015 BlockstreamSkupina za razvoj Bitcoin-a in sidechain-a se je odločila, da bo koncept implementirala v svoj prototip bočne verige: Elementi. Elements, ki vključuje Segregated Witness, je večinoma oblikoval razvijalec Bitcoin Core in soustanovitelj Blockstreama Gregory Maxwell in ga izdal junija 2015.

Takrat se je še vedno zdelo nemogoče uvesti ločeno pričo na verigi Bitcoin, razen če gre za trdo vilico. Ločevanje podatkov o transakcijah in podpisih bi nezdružljivo spremenilo strukturne bloke, kar bi lahko povzročilo delitev omrežja Bitcoin med nadgrajenimi vozlišči in nenadgrajenimi vozlišči.

Jeseni 2015 je razvijalec Bitcoin Core Luke Dashjr ugotovil, kako navsezadnje v glavni protokol Bitcoin vpeljati ločeno pričo. Z uporabo pametnega vdora lahko transakcije ločenih prič označimo kot transakcije, ki jih lahko kdorkoli porabi za nenadgrajena vozlišča, medtem ko se nadgrajena vozlišča preusmerijo v »dodatek« s podatki o podpisih. To rešuje težavo z nezdružljivostjo, kar pomeni, da je mogoče ločeno pričo razviti kot mehko vilico.

O tej možnosti so razvijalci Bitcoin Core prvič razpravljali po običajnih komunikacijskih kanalih: po zasebni e-pošti, na IRC, malo pozneje na Bitcoin razvojni poštni seznam in drugje. Vsi udeleženi v pogovoru so se strinjali, da je to dobra ideja.

Nekaj ​​tednov kasneje, decembra 2015, je razvijalec Bitcoin Core Pieter Wuille na sejmu javnosti javno predstavil Segregated Witness Skaliranje Bitcoina delavnica Hong Kong.

Predviden čas: 1 leto

Drugi korak: Koda

Ideja sama po sebi ne spremeni ničesar. Nekdo mora napisati kodo, da uresniči zamisel.

Wuille je začel ločevati ločeno pričo novembra 2015 – nekaj tednov preden je idejo predstavil v Hong Kongu. Navdušen nad potencialom, razvijalec Bitcoin Core in Ciphrex Prispevali so tudi izvršni direktor Eric Lombrozo, razvijalec Bitcoin Core Johnson Lau in nekateri drugi razvijalci.

Pet mesecev kasneje Ločena priča za Bitcoin Core šteje 4.743 vrstic kode (vključno s testno kodo) in predlaga odstranitev ali spremembo 554 obstoječih vrstic kode Bitcoin Core. Wuille in drugi sodelujoči menijo, da je to storjeno.

Skupni čas: + -5 mesecev

Tretji korak: Pregled

Ker se koda šteje za izpolnjeno, je Wuille ta teden poslal zahtevo za vlečenje. Zahteva za vlečenje je v bistvu “uradni” predlog razvojne platforme GitHub za združitev serije kode – ločene priče – v glavno vejo Bitcoin Core: nenehno razvijajoče se srce projekta, na katerem temeljijo nove izdaje Bitcoin Core.

S tem se začne postopek tehničnega pregleda. Drugi razvijalci so vabljeni, da pregledajo in preizkusijo kodo ter podajo svoje mnenje. To lahko storite v obliki komentarja ali z vrsto glasovanja: „ACK“ (za) in „NACKs“ (proti). Obstaja tudi več pododdelkov ACK-jev in NACK-ov, na primer za navajanje, da je kodo testiral ta razvijalec – ali ne.

Postopek pregleda bo trajal toliko časa, dokler vzdrževalec skladišča Bitcoin Core – trenutno Wladimir van der Laan – meni, da je to potrebno. Če meni, da grobo soglasje za združitev ni (in bo ostalo), lahko zahtevo za vlečenje zapre. Predlog je zavrnjen in predlagatelj se lahko odloči za ponovno pisanje kode.

Verjetneje bo v primeru ločene priče postopek pregleda poslal povratne informacije Wuilleu in drugim razvijalcem, kar bi lahko privedlo do rahlih sprememb kode.

In če bo Van der Laan na neki točki verjel, da obstaja grobo soglasje za združitev, bo združil zahtevo za vlečenje. Nato ločena priča postane del glavne podružnice Bitcoin Core.

V primeru ločene priče je težko reči, kako dolgo bo trajalo, da se zahteva za vlečenje združi. Ker pa gre za veliko spremembo, bo postopek trajal od nekaj tednov do enega meseca ali morda nekoliko dlje.

Predviden čas: 2 do 6 tednov

Četrti korak: sprostitev

Ko je zahteva za vlečenje združena v glavno vejo Bitcoin Core, jo bo treba javnosti ponuditi z novo izdajo Bitcoin Core.

Bitcoin Core ponuja dve vrsti izdaj: glavne izdaje (ki običajno spremenijo drugo številko v različici izdaje, na primer 0.10.0, 0.11.0, 0.12.0 itd.) In manjše izdaje (spremeni zadnjo številko, na primer 0,12. 1, 0,12,2 itd.). Večje izdaje so predvidene približno dvakrat na leto, vendar običajno ne vključujejo predlaganih mehkih vilic. To je tako, da lahko vsakdo sprejme ugodnosti nove večje izdaje, tudi če ne želi nadgraditi na predlagano soft fork. 

Manjše izdaje so na voljo vsakič, ko se združi koda za predlagani soft fork (ali odpravo napak), in Van der Laan meni, da obstaja približno soglasje za izdajo. (O tem se običajno razpravlja med tedenska srečanja IRC.)

Vse izdaje – večje in manjše – so najprej označene kot »kandidat za izdajo«. Kandidat za izdajo je predlagana izdaja, ki je najprej javno na voljo za testiranje. Če v kandidatu za izdajo najdete kakršne koli napake ali druge težave, se ustvari nov kandidat za javnost in je tudi javno na voljo za testiranje. 

Poleg tega se vsa izdaja – večja in manjša, pa tudi kandidati za izpustitev – odvijajo v tehničnem ritualu in podpisovanju (“stavba gitian”), ki ga izvaja več razvijalcev. To se naredi zaradi varnosti in kakovosti, kar lahko traja do nekaj dni.

Če po približno enem tednu pri zadnjem kandidatu za izdajo ne bo nobenih težav, bo Van der Laan sporočil, da je ta kandidat dejansko nov. Ta nova izdaja se distribuira bitcoincore.org in bitcoin.org.

Predviden čas: 1 teden+

Peti korak: Aktiviranje

Ko bo Bitcoin 0.12.2 izdan, bo ekipa za razvoj Bitcoin Core spodbudila vse k nadgradnji. Medtem ko nadgradnja ni obvezna – starejša vozlišča bodo ostala združljiva z ostalim omrežjem Bitcoin – nadgrajena vozlišča izkoristijo prednosti ločene priče in obdržijo največjo varnost.

Če pa nadgradijo le običajni uporabniki, segregirana priča še ne bo aktivirala. Za aktivacijo bodo rudarji morali nadgraditi. Po Bitcoin Core 0.12.1 in sprejetju različic bitov se mehke vilice dogajajo z novo vrsto signalizacije.

Najprej rudarji (ali bazeni), ki izvajajo Bitcoin Core 0.12.2 (in Bitcoin izvedbe, ki so združile podobno kodo), samodejno začnejo signalizirati, da so pripravljeni na rudarstvo ločenih prič. To se zgodi z različicami, ki jih vključujejo v bloke, ki jih opravijo, ki kažejo, katere vrste transakcij in blokov lahko mine. 

Ko rudarji, ki predstavljajo 95 odstotkov razpršene moči (1.916 blokov) v enem samem težavnostnem obdobju (2.016 blokov / približno dva tedna) vključijo pravi verzijski bit, se mehka vilica zaklene. Eno težavnostno obdobje kasneje se aktivira mehka vilica. preostalih 5 odstotkov rudarjev ima približno dva tedna za nadgradnjo. (Če se ne nadgradijo, bodo ostali del Bitcoin omrežja, vendar bi lahko drugi rudarji svoje blokade osiroteli, če vključujejo zdaj neveljavne transakcije.)

Težko je napovedati, ali in kako hitro bodo rudarji, ki predstavljajo vsaj 95 odstotkov razpršene moči, podprli ločeno pričo. Glede na Pismo o soglasju okrogle mize za Bitcoin v Hongkongu, velika večina rudarjev s heš pooblastilom se je zavezala, da bo sprejela ločeno Pričo. 

Toda tudi to pismo ni predstavljalo 95 odstotkov razpršene moči. In nekaj več kot 5 odstotkov razpršene moči trenutno rudari v prid Bitcoin Classic; ni jasno, ali bo konkurenčna vilica Bitcoin Core združila tudi Segregated Witness. (Prav tako ni jasno, ali se bodo ti rudarji držali Bitcoin Classic, če ne bo združil ločenih prič.)

Minimalni čas: 4 tedne

Šesti korak: posvojitev

Po aktiviranju ločene priče v omrežju Bitcoin je potreben še zadnji korak, da bodo uporabniki izkoristili prednosti: Programska oprema denarnice mora vključevati možnost dejanskega ustvarjanja in prejemanja transakcij ločenih prič.

Kako dolgo bo trajalo, da bodo denarnice sprejete, je odvisno od njihovih razvijalcev – in od razvijalcev Bitcoin knjižnic. Ko je Bitcoin o tem v začetku letošnjega leta vprašal razvijalce denarnic in knjižnic, se je zdelo, da večina namerava v svojo programsko opremo vključiti ločene priče. Hitrost, s katero se bo to zgodilo, pa se lahko razlikuje; nekateri razvijalci so bolj pripravljeni, bolje financirani ali preprosto bolj sposobni kot drugi. Nekateri so že naredili potrebne spremembe in bodo podpirali ločeno pričo od 1. dneva aktivacije; drugi lahko trajajo nekoliko dlje.

Dokler obstaja možnost, da obstaja vsaj ena denarnica, lahko uporabniki vedno takoj preklopijo in uživajo v ugodnostih.

Predvideni čas: se spreminja

 

Zahvaljujemo se razvijalcem Bitcoin Core Eric Lombrozo in BTCDrak za povratne informacije in tehnična navodila.