Hlavní navigace

Bitcoin se může ucpat. Je potřeba zvětšit bloky

26. 2. 2016
Doba čtení: 5 minut

Sdílet

 Autor: BTC Keychain, podle licence: CC BY-SA 2.0
Jednou z nevýhod Bitcoinu je obtížná škálovatelnost. Velikost bloků pro zaznamenávání transakcí pomalu přestává stačit a chytré hlavy řeší, co s tím. Návrhů je řada, ale je potřeba dosáhnout konsensu.

O virtuální měně Bitcoin už se v poslední době tolik nehovoří, ale stále žije, stále se rozvíjí a stále se také potýká s některými problémy. Tím nejzásadnějším je otázka velikosti bloku, resp. škálovatelnosti celého systému. Otázka rozděluje vývojáře, těžaře a komunitu vůbec. Všichni se shodují, že je problém třeba řešit, ale už se neshodují jak. Bylo by lepší velikost bloku jednoduše změnit, nebo volit větší konceptuální změnu?

Problém: nedostačující velikost bloku

Základem celého systému je blockchain, což je záznam všech transakcí v historii sítě. Blockchain, jak už název napovídá, se skládá ze sekvence bloků. Nový blok je přidán každých cca 10 minut a obsahuje seznam nových transakcí. V současnosti je maximální velikost bloku stanovena na 1 MB. Pokud by této kapacity bylo soustavně dosahováno, docházelo by k nepotvrzování legitimních transakcí, které byly odeslány se žádným či nízkým poplatkem. Můžete namítnout, že poplatek přece není nadávka. Jistě, ale při nemožnosti systém škálovat by tak Bitcoin buď de facto skončil, nebo by poplatky časem byly velmi vysoké.

Velikost transakce v bitech není jednotná, záleží např. na počtu zdrojových a cílových adres. Podle serveru TradeBlock je v současnosti průměrná velikost transakce 535 bajtů. To znamená, že při dosažení maximální kapacity bloku by se do něj vešlo 1869 transakcí, tedy zhruba tři transakce za sekundu. I laikovi by mělo být zřejmé, že je to málo a pokud by Bitcoin dosáhl oné vysněné popularity, v žádném případě by to nestačilo. Pro srovnání, PayPal v minulém roce zpracoval v průměru 155 transakcí za sekundu.

Jaká je tedy v současnosti reálná velikost bloků? Denní průměr se docela různí, nicméně obvykle se pohybuje v mezích 600 – 800 KB, tedy 60 – 80% zaplnění bloků. To znamená, že problém ještě není úplně akutní, ale s jeho řešením by nebylo radno otálet. Ještě před rokem bylo zaplnění bloků jen přibližně poloviční. Lze předpokládat, že při dalším růstu počtu transakcí bude růst tlak a ochota k dosažení konsensu, protože zaplnění bloků a do jisté míry ochromení celého systému si nepřeje nikdo, kdo má s Bitcoinem co do činění.

Vývoj průměrné velikosti bloků za dobu existence Bitcoinu
Autor: Blockchain.info

Vývoj průměrné velikosti bloků za dobu existence Bitcoinu

Kontroverzní řešení: hard fork

Asi nejvíc se hovoří o možnosti od určitého data napevno změnit velikost bloku – tomu se říká hard fork. Snadno se to řekne, ale mnohem hůř udělá. Bitcoinová síť se skládá z tisíců nezávislých entit s různými názory. Bitcoin má alespoň tu výhodu, že se v rámci něj může hlasovat výpočetní silou. Po dosažení supermajority 75 % může většina donutit menšinu ke změně a akceptovat pouze bloky o nové velikosti. V tomto případě supermajorita znamená, že 750 z posledních 1000 bloků bude vytěženo těmi, kteří jsou pro změnu. Do té doby se ale nic nemění, těžaři do bloků jen poznamenávají: já podporuji toto řešení.

Nejperspektivnějším harforkem je Bitcoin Classic, který má nejširší formální podporu. Podporují ho přední vývojáři Gavin Andresen a Jeff Garzik, většina (podle výpočetní síly) těžařských poolů a také řada velkých bitcoinových firem (např. Coinbase, Bitstamp, OKCoin atd.). Jeho cílem je jednorázové zvětšení bloku na 2 MB po dosažení supermajority a uplynutí měsíční doby hájení. Nutno dodat, že podpora ze strany poolů znamená jen to, že pool umožňuje jednotlivým těžařům podpořit Bitcoin Classic.

Další alternativou je Bitcoin XT, který navrhuje počáteční zvýšení velikosti bloku na 8 MB a následné zdvojnásobení každé dva roky (návrh BIP 101). V roce 2015 byl kolem XT docela humbuk, ale postupně zájem upadl a nezdá se, že by měl tento návrh reálnou šanci uspět. Koneckonců jeho autor Mike Hearn na začátku tohoto roku s Bitcoinem skončil s tím, že to nemá smysl. Jeho dlouhý a velmi kritický příspěvek na blogu způsobil velké pozdvižení, které podle některých dokonce bylo příčinou propadu kurzu Bitcoinu.

Hardfork vyžaduje nejen úpravu těžařského software, ale také úpravu veškerého klientského software, peněženek, webových služeb apod. V tomto případě je změna sice poměrně jednoduchá, ale i tak. K datu vydání článku bylo s podporou Bitcoin Classic vytěženo 14 bloků z posledního 1000, s podporou Bitcoin XT žádný. To ale nutně neznamená, že je podpora alternativ tak nízká. Spíš si řada uživatelů a těžařů myslí, že ještě můžeme čekat a o řešení diskutovat. Až půjde do tuhého, pravděpodobně budou čísla růst.

Posledních tisíc vytěžených bloků
Autor: XTNodes.com

Posledních tisíc vytěžených bloků

Bitcoin Core podporuje soft fork

Vývojáři Bitcoin Core, prvního a stále hlavního klienta, hard fork nepodporují. A to hlavně z toho důvodu, že by mohlo dojít k (byť pravděpodobně jen dočasnému) rozdělení na dva systémy – jednoho fungujících podle starých a druhého podle nových pravidel. A to by mohlo dost zmást a odradit běžné uživatele. Namísto toho podporují soft fork, což je změna, která vyžaduje pouze úpravu těžařského software (opět by mělo dojít ke konsensu). Starší klient bude akceptovat i nový formát bloků, protože je nastaven v rámci určitých pravidel, kterými se starší klient řídí.

Diskutuje se o tom, jak změny velikosti dosáhnout soft forkem, ale konkrétních návrhů zatím moc není. Zde se hodí připomenout, že limit 1 MB na blok v Bitcoinu není od prvního dne. Tento limit byl nastaven až v roce 2010 samotným Satoshim Nakamotem za účelem obrany proti DoS útokům. Učinilo se tak právě soft forkem. Do té doby byla velikost bloku neomezená. Vzhledem k původně neomezené velikosti bylo možné velikost limitovat, aniž by tomu starší klienti přestali rozumět. Něco podobného bychom mohli provést i dnes. Soft fork může působit trochu zmatečně, ale v zásadě je bezpečnější a čistější než hard fork.

root_podpora

Kromě toho se teprve nedávno objevil koncept Segregated Witness (oddělený svědek), který Bitcoin zásadně, ale přitom docela šetrně vylepšuje. Vývojáři Bitcoin Core se k němu vyjadřují veskrze pozitivně. Segregated Witness řeší víc věcí, ale pro nás je zajímavé vyčlenění informací o transakcích mimo blockchain, díky kterému by se do bloku vešlo víc transakcí. Informace by se uchovávaly mimo a jejich správnost by potvrdil hash zapsaný v blockhainu. Ještě ale bude trvat, než (a nevíme zda vůbec) se tento koncept zrealizuje.

Dlouhodobé řešení stále neexistuje

Ať už se nakonec těžaři rozhodnou jakkoliv, do roka pravděpodobně změna proběhne. Možná to bude řešení na pět, deset, možná i víc let, ale dlouhodobé řešení stále chybí. Jen těžko lze odhadnout, kam se frekvence transakcí v budoucnu může vyšplhat. Tak jako tak, zatím neznáme řešení, díky kterému by se síť dokázala optimálně samoregulovat bez lidského zásahu do kódu. Bitcoin není mrtvý, jak se někdy můžeme dočíst. Ve skutečnosti ještě dospívá.

Byl pro vás článek přínosný?

Autor článku

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