Segregated Witness může být doposud nejvýznamnějším vylepšením bitcoinového protokolu. Inovace je nastavena tak, aby opravila tvárnost transakcí, nabízí efektivní zvětšení velikosti bloku, umožňuje flexibilitu vývoje a další. Po měsících programování se Segregated Witness blíží zavedení, jako a vytáhnout požadavek byl předložen Bitcoinové jádro počátkem tohoto týdne.

Jak blízko k zavedení? Stejně jako při jakékoli změně protokolu bitcoinů je těžké to předvídat.

Časová osa Segregated Witness…

Krok první: Myšlenka

Každé vylepšení bitcoinového protokolu začíná nápadem.

Myšlenka Segregovaného svědka sahá dlouho do minulosti; obecný koncept oddělení údajů o transakcích a podpisu pravděpodobně vznikl v roce 2014, nebo možná ještě dříve. Ale bylo to asi před rokem, začátkem roku 2015 BlockstreamVývojový tým pro bitcoiny a postranní řetězce se rozhodl implementovat koncept do svého prototypu postranního řetězce: Elementy. Prvky, které zahrnují Segregated Witness, byly většinou navrženy vývojářem Bitcoin Core a spoluzakladatelem Blockstream Gregory Maxwell a vydány v červnu 2015.

V tom okamžiku se však stále považovalo za nemožné implementovat Segregated Witness na bitcoinovém blockchainu, pokud to však nebylo přes hard fork. Oddělení transakčních a podpisových dat by nekompatibilně změnilo strukturní bloky, což by mohlo způsobit rozdělení v bitcoinové síti mezi upgradovanými uzly a neaktualizovanými uzly.

Na podzim roku 2015 to byl vývojář Bitcoin Core Luke Dashjr, kdo přišel na to, jak implementovat Segregated Witness v hlavním bitcoinovém protokolu. Pomocí chytrého hacku mohou být transakce Segregated Witness označeny jako transakce „kdokoli může utratit“ u neupgradovaných uzlů, zatímco upgradované uzly jsou přesměrovány do „doplňkového bloku“ s podpisovými daty. Tím se vyřeší problém s nekompatibilitou, což znamená, že Segregated Witness může být uveden jako měkká vidlice.

Tato možnost byla poprvé projednána mezi vývojáři Bitcoin Core prostřednictvím typických komunikačních kanálů: soukromým e-mailem, na IRC, o něco později na Seznam adresářů pro vývoj bitcoinů a jinde. Všichni, kdo se rozhovoru zúčastnili, souhlasili, že to byl dobrý nápad.

O několik týdnů později, v prosinci 2015, byl Segregated Witness veřejně představen vývojářem bitcoinového jádra Pieterem Wuillem na Škálování bitcoinů workshop Hong Kong.

Předpokládaná doba: 1 rok

Krok dva: Kodex

Myšlenka sama o sobě nic nezmění. K realizaci nápadu někdo potřebuje napsat kód.

Wuille začal kódovat Segregated Witness v listopadu 2015 – pár týdnů předtím, než představil tento nápad v Hongkongu. Nadšený potenciálním vývojářem Bitcoin Core a Ciphrex Začali přispívat také generální ředitel Eric Lombrozo, vývojář bitcoinových jader Johnson Lau a někteří další vývojáři.

O pět měsíců později počítá Segregated Witness pro Bitcoin Core 4 743 řádků kódu (včetně testovacího kódu) a navrhuje odstranit nebo upravit 554 stávajících řádků kódu Bitcoin Core. Wuille a další přispěvatelé to považují za hotové.

Celkový čas: + -5 měsíců

Krok třetí: Přezkum

Protože je kód považován za dokončený, Wuille tento týden podal žádost o stažení. Požadavek na vytažení je v podstatě „oficiálním“ návrhem vývojové platformy GitHub na sloučení dávky kódu – Segregated Witness – do hlavní pobočky Bitcoin Core: neustále se vyvíjející jádro projektu, na kterém jsou založeny nové verze Bitcoin Core.

Tím je zahájen proces technické kontroly. Ostatní vývojáři jsou vyzváni, aby zkontrolovali a otestovali kód a nabídli svůj názor. To lze provést formou komentáře nebo prostřednictvím typu hlasování: „ACK“ (pro) a „NACK“ (proti). Existuje také několik podskupin ACK a NACK, například k označení, že kód byl tímto vývojářem otestován – nebo ne.

Proces kontroly bude trvat tak dlouho, jak to bude správce úložiště Bitcoin Core – aktuálně Wladimir van der Laan – považovat za nezbytný. Pokud věří, že hrubý konsenzus o sloučení chybí (a zůstane), může požadavek na stažení zavřít. Návrh je zamítnut a zadavatel se může rozhodnout přepsat kód.

Pravděpodobnější je, že v případě Segregated Witness bude proces kontroly poskytovat zpětnou vazbu Wuille a dalším vývojářům, což by mohlo vést k mírným změnám kódu.

A pokud se Van der Laan v určitém okamžiku domnívá, že existuje slušná shoda ohledně sloučení, sloučí žádost o stažení. Segregated Witness se poté stává součástí hlavní pobočky Bitcoin Core.

V případě Segregated Witness je těžké říci, jak dlouho bude trvat, než bude požadavek na sloučení sloučen. Jelikož se však jedná o velkou změnu, bude tento proces trvat několik týdnů až jednoho měsíce, nebo možná o něco déle.

Předpokládaná doba: 2 až 6 týdnů

Krok čtyři: Uvolnění

Jakmile je požadavek na sloučení sloučen do hlavní větve bitcoinového jádra, bude nutné jej nabídnout veřejnosti prostřednictvím nového vydání bitcoinového jádra.

Bitcoin Core nabízí dva typy verzí: hlavní vydání (která obvykle mění druhé číslo ve verzi vydání, například 0.10.0, 0.11.0, 0.12.0 atd.) A menší vydání (mění poslední číslo, například 0,12). 1, 0.12.2 atd.). Hlavní vydání jsou naplánována přibližně dvakrát ročně, ale obvykle neobsahují žádné navrhované softwarové vidlice. Je tomu tak proto, aby si každý mohl osvojit výhody nového významného vydání, i když nechce upgradovat na navrhovanou měkkou vidličku. 

Drobná vydání jsou nabízena vždy, když je sloučen kód pro navrhovanou soft fork (nebo opravu chyby), a Van der Laan věří, že existuje hrubá shoda ohledně vydání. (O tom se obvykle diskutuje během týdenní setkání IRC.)

Všechna vydání – hlavní i vedlejší – jsou nejprve označena jako „kandidát na vydání“. Kandidát na vydání je navrhované vydání, které je nejprve veřejně nabídnuto k testování. Pokud se v kandidátovi na vydání objeví nějaké chyby nebo jiné problémy, vytvoří se nový kandidát na vydání a veřejně se nabídne také k testování. 

Všechna vydání – hlavní i vedlejší i kandidáti na vydání – navíc procházejí technickou budovou a podpisovým rituálem („gitianská budova“) prováděnou několika vývojáři. To se provádí pro účely zabezpečení a zabezpečení a může to trvat až několik dní.

Pokud po zhruba týdnu nebudou u posledního kandidáta na vydání hlášeny žádné problémy, Van der Laan oznámí, že tento kandidát na vydání je nyní skutečným novým vydáním. Tato nová verze je distribuována prostřednictvím bitcoincore.org a bitcoin.org.

Předpokládaný čas: 1 týden+

Krok pět: Aktivace

Jakmile bude vydán bitcoin 0.12.2, vývojový tým bitcoinového jádra vyzve všechny k aktualizaci. Zatímco upgrade je volitelný – starší uzly zůstanou kompatibilní se zbytkem bitcoinové sítě – upgradované uzly využívají výhod Segregated Witness a zachovávají maximální bezpečnost.

Pokud však upgradují pouze typičtí uživatelé, Segregated Witness se ještě neaktivuje. Aktivace bude vyžadovat, aby horníci upgradovali. Podle bitcoinového jádra 0.12.1 a přijetí bitů verze se soft forky dějí prostřednictvím nového typu signalizace.

Nejprve těžaři (nebo skupiny) provozující bitcoinové jádro 0.12.2 (a implementace bitcoinů, které sloučili podobný kód), automaticky začnou signalizovat, že jsou připraveni těžit transakce segregovaným svědkem. K tomu dochází prostřednictvím bitů verzí, které obsahují v blocích, které těží, což naznačuje, jaké typy transakcí a bloků mohou těžit. 

Jakmile horníci představující 95 procent hash síly (1 916 bloků) v rámci jedné obtížnosti (2 016 bloků / přibližně dva týdny) zahrnou správný bit verze, softwarová vidlice se uzamkne. O jednu obtížnější dobu se soft vidlice aktivuje, což znamená zbývajících 5 procent horníků má na upgrade zhruba dva týdny. (Pokud neaktualizují, zůstanou součástí bitcoinové sítě, ale pokud zahrnou nyní neplatné transakce, mohly by jejich bloky osiřely ostatní těžaři.)

Zda a jak rychle těžaři představující alespoň 95 procent hashové síly podpoří Segregated Witness, je těžké předpovědět. Podle Hongkongský bitcoinový kulatý stůl s konsensem, drtivá většina těžařů s hashovou mocí se zavázala adoptovat Segregovaného svědka. 

Ale ani ten dopis nepředstavoval 95 procent hash síly. A o něco více než 5 procent hash síly v současné době těží ve prospěch Bitcoin Classic; není jasné, zda konkurenční bitcoinová vidlice spojí i Segregated Witness. (Není ani jasné, zda tito těžaři zůstanou v bitcoinu Classic, pokud nesloučí Segregated Witness.)

Minimální doba: 4 týdny

Krok šest: Přijetí

Po aktivaci Segregated Witness v síti bitcoinů je pro uživatele zapotřebí ještě jeden poslední krok: Software peněženky musí zahrnovat možnost skutečně vytvářet a přijímat transakce Segregated Witness.

Jak dlouho bude trvat přijetí peněženek, záleží na jejich vývojářích – a na vývojářích bitcoinových knihoven. Když se Bitcoin na začátku letošního roku zeptal vývojářů peněženek a knihoven, zdálo se, že většina plánuje integrovat Segregated Witness do svého softwaru. Tempo, jakým k tomu dojde, se však může lišit; někteří vývojáři jsou ochotnější, lépe financovaní nebo jednoduše schopnější než ostatní. Někteří již provedli nezbytné změny a budou podporovat Segregovaného svědka od 1. dne aktivace; ostatním to může trvat o něco déle.

Ale pokud existuje alespoň jedna peněženka nabízející tuto možnost, uživatelé se mohou kdykoli přepnout a využívat výhod hned.

Odhadovaný čas: liší se

 

Díky vývojářům Bitcoin Core Ericovi Lombrozovi a BTCDrak za zpětnou vazbu a technické vedení.