Hlavní navigace

Proč Bitcoin nikdo neřídí, a přesto funguje

Autor: Depositphotos
Karel Wolf

Mechanismus samořízení Bitcoinu je opředen neuvěřitelným množstvím legend. Na vině tomu mohou být dva faktory.

Doba čtení: 10 minut

Jeden je zakódován v lidské přirozenosti a za ten druhý může sám Satoshi Nakamoto. První spočívá v naší tendenci zamilovávat se do hierarchických systémů a odvolávat se k autoritám, což je v lidské populaci jeden z nejpopulárnějších způsobů kognitivního zkreslení. Za ten druhý může pro změnu sám Satoshi, který po nás chtěl, abychom Bitcoin vnímali jako peníze.

Peníze mají (vedle jiných) tu záludnou vlastnost, že vyvolávají v lidech (neznámo proč) velmi silné emoce. Pokud jde navíc o peníze komoditní, které mají proměnlivý směnný kurz a sklony vytvářet na trhu silné bubliny, je na problém zaděláno – takové vlastnosti totiž vždycky neomylně přitahovaly tu část populace, kterou český kulturolog Vladimír Borecký označil hezkým českým souhrnným slovem mašíbl (magoři, šílenci, blbci).

A právě takovíto lidé mají často (obzvlášť pokud se zrovna trh nechová tak, jak si to představovali) tendenci úplně ignorovat jednoduchou eleganci skutečnosti a na její místo dosazovat nejrůznější, a pokud možno co nejobskurnější teorie (sahají od amerických tajných služeb, iluminátů přes umělou inteligenci až po čínské těžaře či po core vývojáře).

Tématu Bitcoin governance (řízení Bitcoinu) jsme se velmi velmi zlehka dotkli v článcích Osudná chyba, která nezabila Bitcoin. Co se stalo a jak se z toho poučit? a Jimmy Song: Bitcoin je hlavně úložiště hodnoty. Ethereum nepřináší nic užitečného, jak ale skutečně vypadá a funguje?

Jednou z klíčových vlastností Bitcoinu je i fakt, že není (a nemůže být) kontrolován žádnou vládou, centrální bankou nebo mocnou institucí. Dokonce zde chybí mocný otec zakladatel, který by měl právo veta, což je velký rozdíl oproti většině ostatních open source projektů. Na straně druhé je ovšem pravda, že bez lidí by to také nefungovalo. Jak to s tím samořízením Bitcoinu tedy funguje ve skutečnosti? 

Konsensuální fungování sítě – sci-fi, které se stalo každodenní realitou

Když hovoříme o řízení Bitcoinu, můžeme mít na mysli dvě věci. Za prvé je tu protokol a  chování samotné bitcoinové sítě. Ta je řízena matematicky, sadou pravidel, která můžeme nalézt v dokumentu Bitcoin: A Peer-to-Peer Electronic Cash System, a je zajištěna chytrou kombinací asymetrické kryptografie, pobídek (incentiv) a mechanismem, který se nazývá proof of work. Ten vynucuje, aby každý, kdo se chce aktivně podílet na výběru transakcí do blockchainu, vynaložil nejprve určitou energii (doslova), kterou vkládá do systému jako zástavu své poctivosti.

Pokud se později ukáže, že poctivý nebyl (například při pokusu zanést do blockchainu již utracenou transakci), riskuje, že o vynaložené náklady přijde. Těžaři za vynaložení zdrojů, které vkládají do své aktivity jako zástavu, přidávají transakce a jsou za to v rámci sítě odměňováni, uživatelské nody (volba nodu má navíc ještě hlasovací funkci) ověřují zachování integrity blockchainu. Vzniká tak komunitně řízený konsensus, který řadě lidí stále připadá trochu jako sci-fi. Důvodem je jednoduše to, že většina z nás je stále zvyklá uvažovat spíše hierarchicky a spoléhat spíše než na konsensus na nadřazené autority.

Možná vás napadlo, že nad takovým systémem má neuvěřitelnou moc ten, kdo daná pravidla určuje. A tím se dostáváme k druhému bodu a tady to opravdu začíná být zajímavé. O bitcoinu se tvrdí, že jej nespravuje žádná centrální autorita, je to ale přeci jen kus softwaru a software vždycky někdo vytváří. Ten někdo má za normálních okolností enormní moc a je lhostejno, jestli jde o software proprietární, nebo otevřený – Linus Torvalds má například coby benevolentní diktátor dodnes právo veta, pokud jde o nové příspěvky do linuxového jádra. Přestože se v případě Bitcoinu jeho tvůrce (nebo tvůrci) prozíravě stáhl do pozadí, mnoho lidí přisuzuje podobnou moc vývojářskému týmu okolo Bitcoin Core. To je ale ve skutečnosti jen hrubé nepochopení toho, jak vlastně Bitcoin funguje. Jak bylo řečeno výše, Bitcoin je řízen jen dvěma skupinami lidí: uživateli a těžaři, a to na základě společné shody.

Jeden protokol vládne všem, ale v různých implementacích

Bitcoin sám vlastně ani není plnohodnotná aplikace, je to jen protokol – jazyk, který mezi sebou počítače nebo lidé sdílí, aby se lépe domluvili. Nejde přitom o protokol ledajaký, ale protokol otevřený, nejsou zde žádní strážci brány (což neplatí pro konkurenční tradiční finanční systém skrze bankovní účet), kteří určují pravidla, kdy a kdo může systém používat. Jedné, co je potřeba, je řídit se protokolem.

Ten nicméně není rigidní, ale je naopak takřka učebnicovým příkladem dynamické stability. Jak bude takový protokol do budoucna vypadat, je totiž věcí permanentně probíhajícího uživatelského hlasování.

Každý může vytvořit nový software (nový full nod / peněženku), který se může v řadě ohledů od původního protokolu zásadně odchylovat. Pokud jej „síť přijme“, to znamená, že jej v praxi začne používat většina uživatelů a těžařů, vznikne fork sítě a nový konsensus je na světě, do té doby se ale vyplatí fungovat podle pravidel, která akceptuje většina. Zatímco uplatňování a prosazování stávajících pravidel protokolu je relativně snadné, jejich změna je dramaticky obtížnější (důkazem je například škálovací debata).

Jaká je v tom všem úloha tak často vzpomínaného Bitcoin Core

Bitcoin Core (dříve Bitcoin-Qt), za jehož autorstvím stojí Wladimir J. van der Laan, je dlouhodobě nejpopulárnější bitcoinový klient (aktuálně tvoří přes 95 % sítě). Historicky jde o třetí bitcoinový klient, který vychází přímo z referenčního kódu Satoshiho Nakamota. Přesto ale v síti nalezneme i další implementace – Libbitcoin, loňský uživatelský „vzdorofork“ Bitcoin UASF, Bitcoin XT a Bitcoin Classic, Bcoin, BTCD a mnohé další.

Některé z nich plní specifické požadavky, ale jinak představuje plně kompatibilní alternativu k Bitcoin Core implementaci, jiné připomínají podmořskou minu, která po většinu času dělá jakoby nic (řídí se stejnými pravidly jako okolí), ale pokud dojde k naplnění určitých podmínek, exploduje a následně už v síti nic nebude jako dřív.

Všechny implementace ale musí (než přijde jejich čas) sledovat většinou akceptovanou podobu protokolu a soupeřit o uživatelskou přízeň. Dokud se tak děje, celkem nerušeně koexistují vedle sebe.

Šedá je každá teorie…

Pokud s naším mikroskopem zaostříme na hodně velký detail, zjistíme, že demokracie má i ve světě Bitcoinu své limity. Každá jednotlivá implementace je ve skutečnosti řízena svými respektovanými developery nebo iniciátory. Ti mohou být benevolentní a řídit vývoj na základě crowdsourcingu (Bitcoin Classic), nebo více či méně diktátorsky.

Zajímavý kompromis je přístup, který zvolil právě tým okolo Bitcoin Core. Zde je celý proces řízen volným meritokratickým procesem (forma správy, ve které jsou funkce rozdávány dle skutečných schopností) skupinového posuzování a hrubým konsensem mezi nejaktivnějšími přispěvateli. Co to znamená? Kdokoli zvenku může podat návrh na nové vylepšení nebo optimalizaci bitcoinové implementace prostřednictvím tzv. BIP – Bitcoin Improvement Proposal. Nejaktivnější již prověření vývojáři pak návrh posuzují, a pokud se shodnou na jeho začlenění, je vyhráno.

Na nezávislost procesu dohlíží momentálně Core vývojář Wladimir van der Laan se skupinou další vývojářů. Co je ale důležité si zde uvědomit, je fakt, že způsob řízení jednotlivých implementací a řízení bitcoinové sítě jako takové jsou dvě zcela odlišné věci.

Já jsem vývojář a kdo je víc?

Jak je to ale s tak často prezentovanou mocí vývojářů nad životem a smrtí, pardon, chtěl jsem říci nad podobou kódu? Bitcoinu Core například bylo loni často vyčítáno, že drží Bitcoin jako rukojmí přívrženců „malých bloků“ (1 MB velikosti bloků v době zaplněného mempoolu a vysokých transakčních poplatků). 

Vývojáři mohou sice teoreticky změnit jakoukoli část Bitcoin kódu, ale pokud s těmito změnami nebude souhlasit většina uživatelů, budou to pořád jen změny v jejich aplikacích, ne v Bitcoin síti jako takové. Součástí sítě se taková aplikace stává teprve tehdy, když se uživatelé rozhodnou si ji stáhnout a začít danou implementaci používat na svých počítačích. A moc nad tím, jaký software na svých počítačích provozujeme, vývojáři zatím naštěstí nemají.

Každý si může zvolit preferovanou implementaci zcela dobrovolně, a pokud je dostatečně technicky zručný, může se dokonce pokusit přijít s vlastní. Velká moc nad podobou Bitcoinu tak leží na samotných jeho uživatelích. Ti hlasují tím, jaký software na svých počítačích provozují. Vývojáři naopak jen dávají různé možnosti, připomínají tak ze všeho nejvíce asi poradce. Vývojáři jsou samozřejmě uživateli také, ale to je již úplně odlišná role.

Nedává tak například příliš smysl provozovat aplikaci, která se radikálně odchyluje od v současnosti uznávaných pravidel protokolu, pokud se nám na svoji stranu nepodaří získat většinu uživatelů sítě, a to včetně těžařů. V opačném případě hrozí, že nám ostatní v síti přestanou rozumět a nikdo se s námi nebude bavit.

Jinými slovy, uplatňování a prosazování stávajících pravidel protokolu je snadné. Změna pravidel protokolu Bitcoinu je ale mnohem obtížnější. To je také důvod, proč Bitcoin Core development preferuje pouze takové změny v protokolu, které chce většina. Jejich implementace navíc většinou neprobíhá násilně (formou hard forku), ale tak, aby všichni mohli přepnout až tehdy, když budou připraveni, nebo alespoň bude změny akceptovat většina současné sítě (soft fork).

Takové změny sice rozšiřují současné možnosti bitcoinové sítě, ale z počátku neomezují konzervativnější uživatele, kteří si přejí používat protokol tak, jak jsou zvyklí. Nové bloky jsou tedy například stále přijímány starými nody, ale bloky, které byly vytěženy starými verzemi minerů, začínají být novými nody odmítány. V momentě, kdy většina těžařů upgraduje svůj těžební software, stane se řetězec s bloky podle nových pravidel nejdelším řetězcem a tím pádem jediným platným bitcoinovým blockchainem. Těžaři, kteří stále těží postaru, zjistí, že těží na umírajícím chainu, což pro ně není výhodné a také upgradují svůj software. Dojde tak k postupné autokorekci celého systému.

Protože nové verze bloků jsou akceptovány starými i novými nody, ale staré jen těmi původními, nová verze bloku časem zvítězí. Důležité je si uvědomit, že vývojáři mohou takové změny pouze navrhovat, nikoli již vynucovat jejich používání. To je věcí uživatelů.

Těžaři a ti druzí

Další silou, která má právo do procesu mluvit vedle uživatelů, jsou samozřejmě těžaři. Tím, že vybírají transakce, které budou zahrnuty do nových bloků, musí s každou větší změnou ve způsobu užívání protokolu souhlasit také většina (95 %) současné hashing power.

Těžaři mají podobnou moc jako uživatelé, svým způsobem možná dokonce větší. Pokud se většina těžařů dohodne, mohou si vynutit aktivaci soft-forku, aniž by k tomu potřebovali podporu developerů Bitcoinu a uživatelů. Vzhledem k relativní centralizaci miningových operací okolo levných zdrojů elektřiny je to dokonce snazší než změny prosazované z druhé strany barikády. Uživatelé na to ale nemusí přistoupit. Pokud se tak nestane, vývojáři mohou na základě uživatelského konsensu přijít s novým algoritmem, který udělá ze současného vysoce specializovaného těžebního hardware jen drahé topení. Obě strany se tak drží do jisté míry v šachu a realizované změny jsou zpravidla výsledkem rozumného kompromisu.

Specifickou formou změn v bitcoinové síti jsou pak hard forky – zpětně nekompatibilní změny, které vyžadují, aby všichni uživatelé souhlasili se změnou pravidel k přesně stanovenému datu a uznali novou sadu pravidel jako nový Bitcoin. Pokud by se tak nestalo, došlo by k permanentnímu rozdělení sítě a obě by si mohly nárokovat dědictví Bitcoinu. Skutečnou výzvou je v takovém případě přesvědčit obě strany k přepnutí na novou sít a uznat ji za nový Bitcoin. Vždy se totiž najde někdo, pro koho bude existence na staré síti výhodnější, a proto se ji pokusí udržet. V minulosti docházelo k hard forkům prakticky jen tehdy, když se objevila závažná bezpečnostní chyba ohrožující samotnou podstatu celé sítě.

Uživatelé mají ale ještě jinou moc a ta již není rozdistribuována tak demokraticky. Bitcoin je užitečný jen tehdy, dokud je aktivně využíván jako platidlo nebo jiný druh používaného aktiva. Uživatelé, kteří akceptují více plateb a pracují s největšími hodnotami transakcí, tak mají v praxi větší vliv na podobu Bitcoinu než ostatní.

P. S.: V článku autor v rámci zjednodušení občas trochu ledabyle přechází mezi konsensuálními pravidly a peer to peer vrstvou sítě, aniž by se na to čtenáře namáhal alespoň upozornit. Jako pokání slibuje, že vrstvám Bitcoinu někdy v budoucnu věnuje samostatný článek.

Našli jste v článku chybu?