Kryptoměnové forky jsou v posledních měsících často skloňované, zejména ve smyslu odštěpení nového coinu od některého ze stávajících. Celá problematika forků je však mnohem komplikovanější a zajímavější. Víte například, jaký je rozdíl mezi hard forkem a soft forkem? Nebo co dělat, a co nedělat při forku? V našem článku odhalíme i ty nejmenší detaily, které se s kryptoměnovými forky pojí!
i
Upozornění pro čtenáře
První část článku (po kapitolu Forky při vyčpělosti bloků) předpokládá alespoň základní znalost bitcoinového ekosystému. Pokud si chcete přečíst pouze o forku ve smyslu vzniku nového coinu, můžete přeskočit přímo ke kapitole Forky pro záměrné odštěpení nového coinu.
Kryptoměnový fork je rozštěpení blockchainu určitého coinu do dvou větví. Forků může být více typů: soft fork, hard fork, zamýšlený, či nezamýšlený fork. To, zda obě nové větve blockchainu po forku přežijí, záleží na několika faktorech, jako jsou podpora komunity a hashrate. V článku si všechny typy a aspekty forků podrobně vysvětlíme.
Bitcoin a jiné decentralizované kryptoměny (pozor, zdaleka ne vše, co je na coinmarketcap.com, do této kategorie patří!) mají jednu unikátní vlastnost, která je jejich předností, ale zároveň i určitou překážkou v rozvoji. Jelikož se jedná o ekosystém s plochou strukturou, neexistuje žádná autorita, která by mohla všem nařídit, aby si v případě potřeby aktualizovali svůj software.
Ano, máme zde vývojáře (např. Bitcoin Core), ti nicméně nemůžou své návrhy na změnu core klienta síti vnutit. Aktualizace klienta, ba dokonce i samotná volba klienta, je na libovůli účastníků sítě. Bitcoin Core koneckonců není jedinou implementací bitcoinového protokolu – je pouze nejrozšířenější z mnoha jiných. Kdyby tudíž vývojáři Bitcoin Core začali do klienta vnášet nevhodné úpravy, bude mít síť možnost přejít k jiné implementaci.
Z toho vyplývá, že vývojáři můžou změny pouze navrhovat a, jsou-li návrhy přijaty, implementovat je do bitcoinového klienta. Aktualizace klienta je však již na samotných uživatelích (těžařích a provozovatelích uzlů).
Tím se dostáváme k tzv. BIPům. Bitcoin Improvement Proposal (BIP) je návrh na změnu v bitcoinovém protokolu, procesu či jiném prvku. Jelikož bitcoinoví vývojáři jsou heterogenní skupinou rozmístěnou po celém světě a pracují na open-source software, musejí spolu komunikovat formou dokumentů ve veřejném repositáři. V repositáři github tudíž najdeme databázi veškerých dosavadních i aktuálně rozpracovaných BIPů.
That will have to be part of the BIP (Bitcoin Improvement Ponies)
— Riccardo Spagni (@fluffypony) May 28, 2017
Ne každý BIP je zapotřebí implementovat do bitcoinového klienta. BIPy se dělí do tří skupin:
Pouze standardní BIPy představují změny v bitcoinovém protokolu a je nutné je vnést do bitcoinového klienta. Další dva typy slouží buďto k informování vývojářské komunity či k navrhování změn mimo bitcoinový protokol (tj. např. týkající se bitcoinových peněženek – kupříkladu BIP 39, který umožňuje zálohování v podobě tzv. mnemonických seedů).
Projde-li některý ze standardních BIPů procesem peer review a následnou implementací do bitcoinového klienta, je již na těžařích a provozovatelích uzlů, aby si aktuální verzi klienta stáhli a nainstalovali. Jedná-li se o změnu v konsensuálních pravidlech (jakou byla aktivace SegWitu v létě 2017), je zapotřebí, aby nového klienta provozovala naprostá většina těžařů a nedošlo tak k nevyžádanému rozštěpení blockchainu.
Tento typ forku, kdy dochází ke změně bitcoinových pravidel po implementaci BIPu, se rozlišuje na dva typy:
Soft fork je zpětně kompatibilní změna pravidel, kdy aktualizované uzly přijímají transakce vytvořené podle starých pravidel. To na příkladu SegWitu znamená, že uzly verifikují i transakce neSegWitové. Netěžební provozovatelé uzlů jsou tudíž stále součástí sítě (ačkoli těžaři by aktualizovaní měli být všichni, aby mohli těžit všechny možné transakce v síti). Neaktualizované uzly pouze nemají přístup k novým možnostem, které změna pravidel přinesla.
Hard fork je zpětně nekompatibilní změna pravidel, kdy aktualizované uzly transakce podle starých pravidel nepřijímají. Všechny uzly v síti musejí přejít na novou verzi bitcoinového klienta, aby zůstaly součástí bitcoinové sítě. Transakce podle starých pravidel jsou tudíž neplatné. V bitcoinové historii se prozatím vyskytl pouze jeden hard fork tohoto typu, a to v roce 2013. O tomto hard forku pojednává informativní BIP 50 – ve stručnosti se jednalo o nečekanou nekompatibilitu novější verze Bitcoin Core se staršími verzemi. Problém byl během několika hodin vyřešen dobrovolným downgradem klienta ze strany těžařů a následně opravou nové verze, aby byla zpětně kompatibilní.
Jelikož bitcoin je globální, decentralizovaný ekosystém bloky jeho blockchainu jsou těženy po celém světě. Celosvětová internetová síť má určitou latenci – prodlevu ve sdílení dat mezi serverem a uživatelem. Problém bitcoinu (a dalších decentralizovaných kryptoměn) však je, že data se sdílejí napříč uzly, nikoli z centrálního serveru.
Latence, která v „běžném internetu“ dosahuje řádu milisekund, tak v bitcoinové síti dosahuje až desítek sekund. Když těžař nalezne řešení kryptografické hádanky (známé jako proof-of-work) a získá tak nárok na vytěžení nového bloku, trvá bitcoinové síti poměrně dlouhou dobu, než se tato informace dostane ke všem uzlům (jelikož data se v bitcoinové síti sdílejí decentralizovaně, tj. neefektivně co se rychlosti týče).
Tato latence ve sdílení nových bloků způsobuje vznik tzv. stale blocks – termín, který lze pro svou trefnost do češtiny přeložit jako „vyčpělý blok“. K tomuto jevu dochází, když dva těžaři na světě vytěží blok ve stejný čas.
Příklad: Těžař Mike z New Yorku vytěží blok a vyšle uzlům informaci o svém úspěchu. O sekundu později se to samé povede těžaři Koljovi z Moskvy. Jak jsme si uvedli, latence dosahuje řádu sekund – to znamená, že k uzlům z Ameriky a okolí se dostane jako první informace o novém bloku od Mika, zatímco uzly z Ruska a okolí uvidí jako první Koljův blok. Nyní máme na světě dva validní bitcoinové chainy, které jsou vzájemně nekompatibilní. Došlo tudíž k forku – rozdvojení chainu.
Poměrně jednoduše. Součástí bitcoinového protokolu je pravidlo, že nejdelší chain je validní. To znamená, že další vytěžený blok rozhoduje. Pokud jako první vytěží další blok těžaři, kteří odkazují na Mikův blok, vyhrává tento chain a Koljův blok je „vyčpělý“ – nadále není součástí validního blockchainu a transakce v něm obsažené a odměna za něj vyplacená jsou neplatné.
Vyčpělé bloky jsou jedním z důvodů, proč při bitcoinové platbě čekáme na větší počet konfirmací. Je totiž možné, že první konfirmace plyne zrovna z takto nešťastně vytěženého bloku. Čím více máme u své platby konfirmací, tím větší je pravděpodobnost, že je součástí nejdelšího blockchainu (jelikož pravděpodobnost časové kolize je po jednom bloku již velmi nízká, po dvou a více blocích téměř nemožná).
Třetí typ forků si během posledních měsíců uzmul nejvíce pozornosti. Až donedávna bylo štěpení blockchainu do dvou větví nechtěné a obávané, v žádném případě nebylo myslitelné, že by se mělo provádět záměrně s cílem koexistence obou vzniknuvších větví.
V létě 2016 došlo na platformě Ethereum k hacku blockchainové organizace The DAO; po záměrném porušení integrity blockchainu na Ethereu došlo k cílenému odštěpení měny Ethereum Classic – vznikl tak precedens pro fork tohoto typu, při kterém má nová větev dostatečnou podporu pro dlouhodobé přežití. (Detailní výčet událostí z léta 2016 a jejich význam je k dispozici na webu btctip.cz)
Druhým významným forkem tohoto typu byl vznik Bitcoin Cash v srpnu 2017. Motivací pro jeho vznik byl rozkol v názorech na další škálovatelnost bitcoinu: zatímco většina developerů a komunity byla pro implementaci BIP 141 (SegWit), menšina tuto cestu odmítla a zvolila cestu většího limitu velikosti bloků. 1. srpna 2017 tak došlo k odštěpení nekompatibilní větve, která dostala název Bitcoin Cash a každý majitel bitcoinu dostal nominální ekvivalent nového coinu.
Bitcoin Cash se pro svůj cenový úspěch (kdy v nejvyšších bodech dosahoval okolo 20 % ceny bitcoinu) stal velikým lákadlem pro další obdobné projekty. Zdánlivě se jednalo o „peníze zdarma“, které dostali všichni držitelé bitcoinu – a to navíc s výhodou plné podpory hardwarových peněženek a burz.
Cenový úspěch Bitcoin Cash je nicméně vysvětlitelný silnými hráči (Roger Ver, firma Bitmain), které měnu od počátku propagují. Je také pravda, že odštěpení bylo vyvrcholením několikaletého rozkolu bitcoinové komunity ohledně další cesty vpřed.
Na druhou stranu, i silné vůdce rozhodí, když název jejich díla zkrátíte na „BCash“.
Další obdobné forky již tyto parametry neměly a zpravidla se jednalo o snahu získat rychlé peníze zdarma, kde náklady na implementaci do stávajících peněženek a burz ponesou jejich provozovatelé, jelikož budou pod tlakem novopečených majitelů odštěpeného coinu. To platilo u listopadového forku Bitcoin Gold, další forky však již byly ve větší míře po zásluze ignorovány.
Vznik nového coinu formou cíleného forku se ujal i u altcoinů. Zde je zapotřebí upozornit na opakující se jev podobající se pump&dump schématu: po oznámení forku zažije altcoin vysoký cenový růst, krátce po forku (někdy již před ním) pak dojde k výrazné korekci.
Pokud držíte coin, u kterého má dojít k cílenému odštěpení nové měny, je zapotřebí dbát několika základních pravidel.
Nejprve však zmiňme způsoby, jak se k novým coinům můžete dostat:
První a druhá varianta je poměrně přímočará. Držíte-li coiny na burze, je zapotřebí dopředu si zjistit, zda daná burza bude fork podporovat a nové coiny vám skutečně připíše, případně i za jakých podmínek. Nezapomeňte, že není povinností burzy podporovat každý fork tohoto typu a na nový coin nemáte žádný nárok, pokud jste své privátní klíče svěřili třetí straně.
Držíte-li coiny v peněžence a vývojářský tým peněženky nabídne oficiální split tool, postupujte podle jeho oficiálního návodu. Takto šlo získat coiny z forků Bitcoin Cash a Bitcoin Gold (kupříkladu návod na split tool Bitcoin Cash ze strany vývojářského týmu Trezoru).
Třetí případ skýtá největší nebezpečí. Chcete-li totiž získat nové coiny, musíte do peněženky odštěpovaného coinu zadat privátní klíče od adres, na kterých jste v době forku měli coin, ze kterého se nová měna štěpí.
Řekněme, že chcete získat Litecoin Cash, který se odštěpoval z kryptoměny Litecoin. Pak musíte do peněženky podporující Litecoin Cash zadat privátní klíč či seed od Litecoinové peněženky. Což znamená, že vystavujete nebezpečí případný zůstatek, který pod daným privátním klíčem či seedem máte. A pozor – v nebezpečí nejsou pouze vaše Litecoiny, ale případně i jiné měny, zadáváte-li někam seed od peněženky podporující více měn (jako jsou Ledger či Trezor)!
Důrazné doporučení tudíž je: nikdy nikam nezadávejte svůj privátní klíč či seed od peněženky, na které stále máte zůstatek. Chcete-li štěpené coiny získávat tímto způsobem, nejprve se ujistěte, že na adresách odpovídajících privátnímu klíči či seedu nemáte již žádné coiny. Na získání štěpeného coinu máte nárok, drželi-li jste na dané adrese coiny v době forku – poté je tam již držet nemusíte. K získání coinů tímto způsobem (po dodržení uvedené zásady) můžete použít např. peněženku Coinomi – oficiální návod na postup.
Pokud jste si doposud představovali kryptoměnový fork jako něco negativního či dokonce strašidelného, doufáme, že vás náš článek vyvedl z omylu – ve světě kryptoměn jsou forky všeho druhu na denním pořádku a výrazně přispívají k tomu, aby celý systém správně a decentralizovaně fungoval.
Josef Tětek
Josef je ekonom vycházející z rakouské školy ekonomie. Věnuje se Stackuj Podcastu a vede edukativní projekt Trezor Academy se zaměřením na posílení finanční a bitcoinové gramotnosti primárně v Africe. Autor knih Nepřátelé státu, přátelé svobody, Bitcoin: Odluka peněz od státu a Bitcoin: Návrat zdravých peněz. @JosefTetek na Twitteru.
Osobní stránky: Stackuj.cz