Bitcoin chystá velkou aktualizaci, budou o ní hlasovat těžaři

11. 11. 2016
Doba čtení: 5 minut

Sdílet

Segregated Witness – vylepšení Bitcoinu, které řeší několik problémů této kryptoměny, včetně velikosti bloků, a dává víc možností do budoucna. Jak proběhne nasazení a co kompatibilita?

Segregated Witness (oddělený svědek) je trochu zvláštní a obtížně uchopitelný název, ale ve skutečnosti je velmi výstižný. Hlavní změnou, kterou Segregated Witness přinese, je oddělení podpisu transakce, což je pomyslný svědek, od samotných informací o transakci. V zásadě jde o poměrně jednoduchý zákrok, který však řeší řadu větších či menších nedostatků, se kterými se Bitcoin potýkal.

SegWit počítá s tím, že podpisy transakcí už se nebudou ukládat do bloků a tedy nebudou součástí samotného blockchainu. Namísto toho budou distribuovány v odděleném proudu, se kterým budou pracovat pouze plně funkční uzly (full nodes), tedy hlavně klienti těžící bitcoiny a ověřující transakce. Samotné podpisy totiž nemají žádnou informační hodnotu ani význam pro budoucí transakce. Jen dokazují, že pro přesun bitcoinů z dané adresy máte oprávnění (soukromý klíč).

Koncept SegWit na konci minulého roku představil Pieter Wuille a brzy se ukázalo, že jde o věc, která řeší hodně problémů a zároveň nese relativně málo rizik. Komunita SegWit přijala poměrně kladně, a tak se vývojáři dali do vývoje a později do testování. SegWit byl v průběhu několika měsíců aplikován a úspěšně otestován na několika testovacích blockchainech, kde si s ním mohl pohrát téměř každý. Teď se chystá ostré nasazení.

O nasazení budou hlasovat těžaři

Podpora SegWit se objevila v nedávno vydaném Bitcoin Core 0.13.1, zatím však není aktivní. O aktivaci rozhodne až hlasování těžařů. Ti v současnosti mohou nastavit, aby Bitcoin Core signalizoval, že SegWit podporují. Klienti začnou SegWit používat až tehdy, když bude 95 % bloků vytěženo uzly signalizujícími podporu. To se bude posuzovat vždy za období se 2016 bloky (cca dva týdny), po kterém také probíhá úprava obtížnosti.

Až tohoto poměru za poslední období bude dosaženo, uzly automaticky začnou SegWit používat. Zároveň bylo nastaveno, že pokud schválení neproběhne do cca jednoho roku, tak se nasazení SegWit zastaví. To samozřejmě neznamená, že by byl projekt nutně mrtvý, ale že minimálně Bitcoin Core ve verzi 0.13.1 ho zkrátka používat nezačne, i kdyby oněch 95 % bylo dosaženo.

První období, za které se bude podpora SegWit vyhodnocovat, začne zřejmě 19. listopadu. Nutno dodat, že po odhlasování SegWit přijde ještě jedno přechodné období, kdy už o nasazení SegWit bude rozhodnuto, ale používání bude možné až v následujícím období. Čistě teoreticky bychom se toho tedy mohli dočkat ještě letos, ale není to moc pravděpodobné. Aktuálně má Bitcoin Core 0.13.1 cca 25 % uzlů.

Statistiky rozšíření verzí Bitcoin Core
Autor: bitnodes.21.co

Statistiky rozšíření verzí Bitcoin Core

Klíčová samozřejmě bude podpora ze strany těžařských poolů, kde se těží většina bitcoinů. Obecně se pooly ke SegWit staví s mírným optimismem, ale některé by chtěly i další změny jako zvětšení bloků apod. Předpokládá se, že některé pooly budou chvíli otálet, ale nakonec SegWit stejně podpoří. Pokud by do roka novinka odsouhlasena nebyla, bylo by to velké překvapení.

Výhody: optimalizace a bezpečnost

Možná jste zaregistrovali, že Bitcoin spěje k problému s velikostí bloků. Aktuálně velikost bloku 1 MB znamená, že v průměru lze zapsat tak tři transakce za sekundu. A jak Bitcoin roste, tak se této hodnotě jistě blížíme. Asi nejvíc se hovoří právě o tomto problému, který SegWit řeší, byť ho řeší vlastně mimoděk. Jelikož se z bloků odstraní podpisy transakcí, tak se pochopitelně do 1 MB vejde více transakcí. Podíl podpisu na velikosti celé transakce se různí podle parametrů. Pokud by byla zachována současná struktura transakcí, tak vývojáři odhadují, že se jich do bloku vejde cca 1,7 násobek.

Samozřejmě to neřeší problém velikosti bloku jako takový, ale alespoň snadno vznikne víc času pro jeho řešení a nemusíme se unáhlovat. Další věc je, že rychlost potvrzení transakce závisí na její velikosti v bajtech. Když se tak základní transakce zmenší cca na polovinu, teoreticky se na polovinu zmenší i poplatek. V praxi je to trochu složitější, protože těžení a potvrzování transakcí je samozřejmě byznys a trh by na změnu také nějak zareagoval.

SegWit dále řeší např. transaction malleability, což je problém, který měl stát např. za problémy zkrachovalé burzy Mt. Gox. Dnes je však pravděpodobnější, že to byla jen zástěrka. Je to možnost třetí strany změnit ID transakce. Sice to neovlivní samotný transfer bitcoinů, ale způsobí to administrativní problémy a nejasnosti. Právě vyčlenění části informace o transakci do svědka tomu zabraňuje.

Další vylepšení snižují nároky na práci hardwarových peněženek, optimalizují ověřování hashe transakcí nebo u P2SH transakcí umožňují použití obtížněji silnějšího algoritmu SHA-256 pro hash. Také bylo zavedeno označování čísla jazyka script, pomocí kterého se specifikuje, jak s bitcoiny z dané transakce manipulovat. To už je trochu složitější, zkrátka jde o to, že bude možné zavádět nové verze scriptu jako soft fork. SegWit je tedy hlavně o optimalizaci a vylepšení bezpečnosti.

Nasazení a kompatibilita

Výhodou SegWit je také fakt, že nasazení by nemělo způsobit zásadnější problémy. Jde totiž o soft fork, což znamená, že ani uzly bez podpory SegWit, např. se starší verzí Bitcoin Core, nebudou úplně odstřiženy od sítě. Zjednodušeně se stane, že nebudou novým transakcím vytvořeným pomocí SegWit rozumět, ale zároveň je ani nebudou nijak blokovat nebo omezovat. Zkrátka zde nehrozí, že by se jako v případě hard forku a nedosažení rozumného konsensu mohl blockchain rozdvojit.

Co se týče peněženek a různých alternativních klientů, tak přijímání prostředků s použitím SegWit by u nich nemělo představovat problém. Ale pokud budete chtít takovou transakci vytvořit, už budete potřebovat aktualizovaný software s podporou SegWit. Většina oblíbených peněženek už potvrdila, že podpora SegWit je v plánu.

bitcoin_skoleni

Electrum: vyžádání transakce

SegWit bude podporovat také peněženka Electrum

I nadále tedy bude možné používat starý typ transakcí, ale kromě zastaralého softwaru k tomu nebude žádný důvod. Naopak používání SegWit transakcí bude pro uživatele výhodnější minimálně v tom, že vyjde o několik desítek procent levněji. Zároveň to znamená, že pomyslné zvětšení kapacity bloku nepřijde hned, ale postupně s tím, jak se začnou používat SegWit transakce. Lze se ale předpokládat, že po roce od schválení už budou tvořit velkou většinu transakcí.

Segregated Witness bude zřejmě největší změna v historii Bitcoinu. Nebo minimálně od té doby, kdy vstoupil do mainstreamu a začaly se kolem něj točit větší peníze. Zároveň půjde o praktickou zkoušku toho, zda a jak lze v čím dál širší bitcoinové komunitě dosáhnout konsensu. Pokud se to podaří a vše proběhne podle plánu, půjde také o důležitý důkaz toho, že Bitcoin do značné míry lze dále vylepšovat a není třeba kvůli každému novému nápadu vymýšlet novou kryptoměnu. A uživatelé? Ti v ideálním případě vůbec nic nepostřehnou.

Autor článku

Bývalý redaktor serveru Root.cz, dnes produktový manažer a konzultant se zaměřením na Bitcoin a kryptoměny.