Jízdní řád: Který upgrade zvítězí?

A jde se do finále. Debata o škálování Bitcoinu vstupuje do své poslední fáze. Oba hlavní návrhy na vylepšení bitcoinového protokolu – BIP148 a SegWit2x – chtějí během měsíce aktivovat Segregated Witness. Upgrade by tedy mohl být implementován do dvou měsíců.

Je zde ale reálné riziko, že se BTC rozdělí na dvě různé měny. Oba návrhy se totiž odchylují od původního návrhu SegWitu z roku 2015 a to může vést právě nekompatibilitě s původním klientem Bitcoin Core. Následuje jízdní řád všech relevantních návrhů a jejich potenciální rizika.

Rekapitulace: Aktivace Segregated Witness

SegWit (BIP141) je zpětně kompatibilní upgrade BTC protokolu, původně navržený v roce 2015 Pietrem Wuillem a podporovaný jádrovými vývojáři z Bitcoin Core. Tento návrh je ústředním bodem takzvané Road Map – plánu jádrových vývojářů, jak upgradovat zdrojový kód Bitcoinu, aby se zvýšila transakční kapacita, která již dnes přestává stačit. Software podporující Segregated witness dnes běží na velkém množství plnohodnotných uzlů sítě.

SegWit je též součástí Dohody z New Yorku, což je alternativní návrh na vyřešení škálovatelnosti. Přišly s ním 23. května 2017 velké bitcoinové společnosti a velcí těžaři. Tento tzv. Bitcoin Improvement Proposal 148, neboli BIP148, je uživateli aktivovaný soft fork, který má být aktivován prvního srpna. Rozdíl je ve způsobu, jakým bude SegWit rozdílnými návrhy aktivován.

Původní Segregated Witness (BIP141) byl navržen jádrovými vývojáři a má jejich plnou podporu. Bude aktivován, pokud alespoň 95% výpočetní síly sítě bude signalizovat podporu tomuto návrhu. 95% podpory je pak standardní práh, při kterém jádroví vývojáři implementují jakýkoli návrh na vylepšení protokolu. Této signalizace musí být dosaženo během jedné periody obtížnosti (difficulty), která má cca 14 dní/2016 bloků. Vše musí proběhnout do 15. listopadu. Když budeme předpokládat, že těžaři signalizující připravenost skutečně začnou nový software používat, pak by bylo riziko rozdělení na dvě měny minimální.

V současné době se ovšem podpora původnímu SegWitu (BIP141) pohybuje kolem 45%. Proto někteří uživatelé přišli s návrhem, aby byl SegWit aktivován přes BIP148, takzvaný User Activated Soft Fork, neboli UASF. Od prvního srpna začne jejich klient odmítat bloky, které nesignalizují připravenost pro BIP141 (původní SegWit). Pokud bude mít tento návrh podporu většiny výpočetního výkonu sítě (hashrate), pak by měl vždy bez problémů představovat nejdelší řetězec a tak aktivovat SegWit na všech klientech připravených tento návrh podporovat. Tak bychom se vyhnuli rozdělení na dvě měny. Pokud však návrh bude podporovat jen menšina sítě, může se řetězec BIP148 oddělit od současného protokolu.

Dohoda z New Yorku, nebo též Silbertova dohoda, neboli SegWit2x, chce Segregated Witness aktivovat skrz návrh BIP91. Stejně jako BIP148 by BIP91 odmítal všechny bloky, které nesignalizují podporu BIP141. Na rozdíl od BIP148 je ale pro aktivaci BIP91 potřeba jen 80% podpora po dobu cca 2,5 dne. To by taktéž mělo minimalizovat riziko rozdělení. Nicméně druhým krokem Dohody z New Yorku má být kontroverzní hard fork, kterým se zvětší velikost bloku na 2MB. Tato změna, na rozdíl od původního SegWitu, již není zpětně kompatibilní a tudíž může vést k rozdělení řetězců – když totiž bude podpora menší, pak přežijí oba řetězce, nikoli jen ten nový s 2MB bloky.

A nyní k jízdnímu řádu…

14. července

Softwarový klient SegWit2x, který vzešel z Newyorské konference je odnoží základního software Bitcoin Core. Je též známý jako BTC1 a beta verze byla vydána 30. června. Podle pracovních postupů SegWit2x měla být tato verze instalována na počítače betatesterů 14. července, ale došlo ke zpoždění, takže k začátku testů dojde asi až dnes. Běžných uživatelů se to zatím nijak netýká.

21. července

Pokud testy kódu dopadnou podle očekávání, pak začne signalizace podpory návrhu BIP91 – SegWit2x. Uzly s nainstalovaným klientem SegWit2x by měly už běžně operovat. To však běžného uživatele nijak neovlivní.

Jste-li ovšem těžařem, pak můžete pomoci implementaci SegWit2x tím, že budete signalizovat podporu tomuto návrhu (BIP91). Ta se pohybuje kolem 88%, ale čím více, tím lépe. To se dělá tak, že budete těžit bloky typu „bit 4“ pomocí klienta podporujícího BIP91, nebo s nainstalovaným BIP91 patchem.

23. července (nejdříve)

Přesný požadavek na aktivaci BIP91 je signalizace 80% výkonu sítě ve prospěch tohoto návrhu po dobu cca 2,5 dne. 269 bloků z 336 tak musí v řadě vykazovat podporu BIP91. Pokud tedy vše půjde dobře, můžeme se dočkat schválení návrhu již 23. července. Ani toto však nijak neovlivní běžné uživatele. Jste-li těžař a BIP91 bude schválen, pak máte další dva dny na to, abyste aktivovali software podporující tento návrh. Pokud to neuděláte, pak riskujete těžbu neplatných bloků.

25. července – aktivace BIP91

V tento den, dalších 336 bloků po schválení, může být BIP91 aktivován. Pak budou odmítány všechny bloky, které nesignalizují připravenost na BIP141 (původní SegWit). Běžných uživatelů se to nedotkne.

Pokud jste těžař, měl byste těžit jen bloky vykazující připravenost na BIP141. Jinak budou vaše bloky odmítnuty většinou výpočetní síly sítě.

29. července (deadline pro BIP91)

Chtějí-li se těžaři vyhnout rozdělení na dvě měny, pak je tento den jejich posledním termínem. Aby byl návrh aktivován včas na to, aby byl kompatibilní s BIP148, musí být uzamčen nejpozději tohoto dne v 8:00 UTC (10:00 ráno SELČ). Ale čím dříve, tím lépe. Čím blíže k termínu se tento návrh uzamkne, tím větší šance, že nebude včas aktivován. Nebude-li BIP91 do této hodiny aktivován, pak může dojít k rozdělení řetězců v souvislosti s implementací BIP148. Jste-li běžným uživatelem a dosud jste neudělali žádná opatření v souvislosti s rozdělením řetězců, pak máte poslední dva dny. Jak na to vám poradí tento článek.

Nebude-li BIP91 aktivován do výše zmíněné hodiny, pak mají těžaři dva dni na to, aby se rozhodli, jestli budou těžit na novém řetězci BIP148 (bude aktivován prvního srpna), nebo na původním (Legacy) řetězci.

  1. července (deadline BIP141)

Technicky vzato jde (pro těžaře) o druhý termín, který pomůže vyhnout se rozdělení. Nejpozději v tento den (podle standardního času UTC) musí být aktivován BIP91, nebo musí dojít k uzamčení BIP141. Jinými slovy: pokud nebyl BIP91 uzamčen včas, pak prvního srpna začíná dvoutýdenní období, během kterého by muselo 95% sítě signalizovat podporu SegWitu (BIP141) obecně.

Ve skutečnosti je jen malá šance, že 31. července bude zároveň končit 14-denní období dané obtížnosti. A i kdyby ano, je nepravděpodobné, že v tento den už nebude o podpoře 95% sítě jasno.

Těžaři i uživatelé by touto dobou již měli být připravení na možné rozdělení na dvě měny, jak bylo popsáno pod datem 29. července. 31. červenec je ale skutečně posledním datem, kdy něco můžete reálně udělat.

1. srpna (aktivace BIP148)

Toto je den, kdy bude aktivován BIP148 a je to také třetí a poslední termín, kdy je možné se vyhnout rozdělení. Prvního srpna v 00:00UTC (2:00 ráno SELČ) začnou všechny uzly podporující BIP148 odmítat bloky, které nesignalizují podporu návrhu BIP141 (původní SegWit). Pokud do té doby budou uzamčeny BIP91, nebo BIP141 a/nebo budou navíc aktivovány, nemělo by dojít k rozdělení na dvě měny. Pokud nebyl aktivován ani jeden návrh, pak můžou těžaři představující většinu výkonu ještě odvrátit rozdělení tím, že vyjádří podporu BIP148 oni sami. Tím budou vždy těžit na delším řetězci (dají-li dohromady přes 50% hashrate) a budou tak moci aktivovat SegWit přes návrh BIP141.

Pokud žádný z návrhů nezíská do prvního srpna dostatečnou podporu, ale BIP148 bude mít alespoň nějakou, pak se k tomuto dni může Bitcoin rozdělit na dvě měny. V tomto případě budeme říkat „BTC148“ Bitcoinu podle návrhu BIP148 a LegacyBTC původnímu (teď ještě současnému) Bitcoinu.

Vlastníte-li v takovém případě Bitcoiny (tj. vlastníte soukromé klíče), pak byste měli dostat automaticky BTC148 i LegacyBTC, každý v množství vašich původních BTC. Nicméně abyste se k nim dostali, bude možná nutné stáhnout si novou verzi software, kterou uvolní váš poskytovatel BTC peněženky.

Vřele doporučujeme, abyste od prvního srpna až do vyřešení situace nedělali žádné transakce! Pokud je přesto dělat musíte, pak se vystavujete riziku „replay attacks“, kdy útočník může zkopírovat transakci udělanou na jednom řetězci a vy tak nevědomky zaplatíte ještě stejným množstvím druhé měny. Asi není třeba upozorňovat na to, že tak přijdete o peníze.

4. srpna (potenciální vznik Bitcoinu ABC)

Toto datum sice není vytesané do kamene, ale tohoto dne může vzniknout nový Bitcoin – ABC. Výrobce těžebního hardware Bitmain nedávno oznámil, že pokud nebude BIP91 aktivován před prvním srpnem a BIP148 nebude vykazovat známky života po prvním srpnu, pak Bitmain spustí svůj záložní plán. Pojmenovali ho Bitcoin ABC a tento záměr oznámili na konferenci Future Bitcoin. Bitcoin ABC bude mít až do prvního srpna 2017 stejnou historii (tj. blockchain) jako současný BTC, ale po prvních několik dní ho zřejmě bude soukromě těžit jen Bitmain. Bude též obsahovat několik nekompatibilních pravidel a zřejmě i větší bloky.

Pokud jste měli k prvnímu srpnu 2:00 SELČ nějaké Bitcoiny v lokální peněžence, měli byste automaticky dostat odpovídající množství Bitcoinu ABC. Ale asi bude potřeba si stáhnout nový software, abyste s nimi mohli nakládat. Další informace budou k dispozici v případě, že k tomuto kroku dojde.

Jste-li těžař, budete moci těžit Bitcoin ABC čtvrtého srpna, možná i o trochu dříve.

15. srpna

Ani toto datum není vytesané do kamene, ale může nám přinést ještě další typ Bitcoinu – NewPoWBTC pojmenovaný po Proof of Work – důkazu vlastnictví na základě prokázané výpočetní síly, což je základní pravidlo této měny. Jakožto UASF bude BIP148 aktivován uživateli a ne těžaři. Uživatelé začnou odmítat bloky, které nesignalizují připravenost na BIP141. To by mělo těžaře navnadit, aby začali těžit na řetězci BIP148, ideálně tak, aby to byl jediný řetězec (tj. s velkou podporou těžařů). Ale teprve se uvidí, jestli k tomu dojde. Pár těžařů dokonce veřejně přislíbilo tomuto návrhu podporu, pokud dojde na nejhorší.

Bude-li podpora těžařů návrhu BIP148 malá, může dojít k implementaci hard forku a změně algoritmu Proof of Work. To by pro těžaře znamenalo, že bude jejich hardware (ASIC) učiněn zastaralým (na řetězci BIP148) a otevřou se tak dveře jiným těžařům. Znamenalo by to drastický pokles úrovně obtížnosti a (minimálně krátkou) možnost opět těžit na domácích sestavách.

Otevřená komunita zvaná „Slack“ v současnosti pracuje na detailech tohoto návrhu. Podle něj bude hard fork aktivován v případě, že BIP148 bude mít menší, než 15% podporu. Tím se definitivně Bitcoin rozdělí na dvě měny. To může také nakonec vést k dalšímu dělení, když někteří uživatelé odmítnou nová pravidla BIP148 zavádějící nový algoritmus Proof of Work.

Jste-li běžným uživatelem a před prvním srpnem máte Bitcoiny, za předpokladu, že je do 15. srpna neutratíte, pak budete mít i nové NewPoWBTC ve stejném množství.

Pokud jste mezi prvním a patnáctým srpnem utráceli, pak není jisté, co se s nimi stane. Pokud tedy chcete hrát na jistotu, pak doporučuji nic od prvního srpna nedělat a „vysedět“ tuto situaci, dokud nebude jasné, jak to vlastně bude. Základ je vlastnit soukromý klíč k vašim BTC, tj. mít je na peněžence nainstalované na lokálním počítači a ne online. Viz. výše zmíněný odkaz, co dělat v případě forku.

Těžaři, kteří těžili na BIP148 pomocí ASIC hardware, budou asi chtít těžit jinde, nebo tento hardware rovnou poslat do šrotu. To ale bude záviset na tom, jestli jste na řetězci BIP148 v plusu, nebo ne. Každý pak bude moci těžit NewPoWBTC bez specializovaného hardware typu ASIC.

Druhá polovina srpna (uzamčení SegWitu)

Pokud se podaří vyhnout se rozdělení řetězců přes BIP91, BIP141, nebo BIP148, bude druhá polovina srpna klíčová pro uzamčení SegWitu. Pokud se toto stane přes BIP91, nebo BIP148, pak to bude spíše událost-neudálost, protože k tomuto datu už bude očekávaná a nic se pro nikoho příliš nezmění.

Ale uzamčení znamená, že všechny klienty připravené na SegWit začnou prosazovat nová pravidla ve chvíli další změny obtížnosti těžby (difficulty). Jste-li běžným uživatelem a chcete být v klidu, pak během těchto 14 dní upgradujte software vaší peněženky, aby vyžadoval bloky kompatibilní se SegWitem (BIP141).

Dojde-li k rozdělení řetězců, bude situace mnohem nepřehlednější. V polovině srpna totiž můžeme mít jeden, dva, tři, nebo dokonce čtyři Bitcoiny: LegacyBTC (původní Bitcoin), BTC148, NewPoWBTC a Bitcoin ABC. V současnosti těžko odhadnout, která situace vyhraje, ale autor věří, že pokud dobře dopadne testování SegWit2x, pak dojde k jeho hladkému schválení a debata o rozdělení na dvě měny se tak přesune o tři měsíce do budoucnosti, kdy bude čas implementovat oznámený hard fork. Jistě jste si všimli, že cena BTC šla v poslední době rapidně dolů – bude-li SegWit2x hladce schválen, pak zřejmě opadne na nějaký čas nervozita a do Bitcoinu se vrátí ušlý kapitál – tím pádem prudce posílí, minimálně do října, kdy se vrátí obavy z rozdvojení.

Uživatelům důrazně doporučujeme mít své BTC na místním počítači a nedělat žádné transakce od prvního srpna do vyřešení situace. Těžaři by pak měli zvážit, který řetězec pro ně bude nejziskovější.

Konec srpna

Pokud se vyhneme rozdělení, pak bude koncem srpna aktivován vlastní SegWit. Budete-li tou dobou mít nejnovější software, pak si můžete začít užívat rychlejší a bezpečnější síť. Pokud k rozdělení došlo, pak bude situace natolik složitá, že raději počkáme, jak se vyvine.

Konec října / začátek listopadu

Toto je doba, kdy bude čas aktivovat hard fork podle návrhu SegWit2x. Vzhledem k tomu, že tato aktivace závisí na jeho schválení, budeme se mu věnovat až podle toho, jak se situace vyvine dále.

 

Pozn. překl.: Vzhledem k náročnosti/důležitosti tématu a tenké hranici mezi některými termíny doporučuji velmi zdatným angličtinářům přečíst si článek v originále, kde mohou najít odpovědi na otázky, které překlad nemusel stoprocentně objasnit.

Předchozí článek

SegWit2x

Související

PŘIDEJTE SE DO DISKUZE

Komentáře

  • SK 17.7.2017 at 20:43

    No vidím, že v tom bude ešte poriadny chaos.
    Autorovi článku patrí srdečná vďaka, za všetky doterajšie informácie o tejto problematike.

    Odpovědět