Kryptomenové forky sú v posledných mesiacoch často skloňované, najmä v zmysle odštiepenia nového coinu od niektorého z existujúcich. Celá problematika forkov je však omnoho komplikovanejšia a zaujímavejšia. Viete napríklad, aký je rozdiel medzi hard forkom a soft forkom? Alebo čo robiť, a čo nerobiť pri forku? V našom článku odhalíme aj tie najmenšie detaily, ktoré sa s kryptomenovými forkami spájajú!
Kryptomenový fork je rozštiepenie blockchainu určitého coinu do dvoch vetiev. Forkov môže byť viac typov: soft fork, hard fork, zamýšľaný, či nechcený fork. To, či obe nové vetvy blockchainu po forku prežijú, záleží od viacerých faktorov, ako sú podpora komunity a hashrate. V článku si všetky typy a aspekty forkov podrobne vysvetlíme.
Bitcoin a ostatné decentralizované kryptomeny (pozor, zďaleka nie všetko, čo je na coinmarketcap.com, do tejto kategórie patrí!) majú jednu unikátnu vlastnosť, ktorá je ich prednosťou, ale zároveň aj určitou prekážkou v rozvoji. Keďže ide o ekosystém s plochou štruktúrou, neexistuje žiadna autorita, ktorá by mohla všetkým nariadiť, aby si v prípade potreby aktualizovali svoj softvér.
Áno, máme tu vývojárov (napr. Bitcoin Core), tí však nemôžu svoje návrhy na zmenu core klienta sieti vnútiť. Aktualizácia klienta, ba dokonca aj samotná voľba klienta, je na ľubovôli účastníkov siete. Bitcoin Core koniec koncov nie je jedinou implementáciou bitcoinového protokolu – je iba najrozšírenejší z mnohých iných. Keby teda vývojári Bitcoin Core začali do klienta vnášať nevhodné úpravy, bude mať sieť možnosť prejsť k inej implementácii.
Z toho vyplýva, že vývojári môžu zmeny iba navrhovať a, pokiaľ sú návrhy prijaté, implementovať ich do bitcoinového klienta. Aktualizácia klienta je však už na samotných používateľoch (ťažiaroch a prevádzkovateľoch uzlov).
Tým sa dostávame k tzv. BIPom. Bitcoin Improvement Proposal (BIP) je návrh na zmenu v bitcoinovom protokole, procese či inom prvku. Keďže bitcoiní vývojári sú heterogénnou skupinou rozmiestnenou po celom svete a pracujú na open-source softvére, musia spolu komunikovať formou dokumentov vo verejnom úložisku. V úložisku github teda nájdeme databázu všetkých doterajších aj aktuálne rozpracovaných BIPov.
Nie každý BIP je potrebné implementovať do bitcoinového klienta. BIPy sa delia do troch skupín:
Iba štandardné BIPy predstavujú zmeny v bitcoinovom protokole a je nutné ich vniesť do bitcoinového klienta. Ďalšie dva typy slúžia buď na informovanie vývojárskej komunity či k navrhovaniu zmien mimo bitcoinový protokol (tj. napr. týkajúcej sa bitcoinových peňaženiek – napríklad BIP 39, ktorá umožňuje zálohovanie v podobe tzv. mnemonických seedov).
Pokiaľ prejde niektorý zo štandardných BIPov procesom peer review a následnou implementáciou do bitcoinového klienta, je už na ťažiaroch a prevádzkovateľoch uzlov, aby si aktuálnu verziu klienta stiahli a nainštalovali. Ak ide o zmenu v konsenzuálnych pravidlách (akou bola aktivácia SegWitu v lete 2017), je potrebné, aby nového klienta prevádzkovala úplná väčšina ťažiarov a nedošlo tak k neželanému rozštiepeniu blockchainu.
Tento typ forku, kedy dochádza k zmene bitcoinových pravidiel po implementácii BIPu, sa rozlišuje na dva typy:
Soft fork je spätne kompatibilná zmena pravidiel, kedy aktualizované uzly prijímajú transakcie vytvorené podľa starých pravidiel. To na príklade SegWitu znamená, že uzly verifikujú aj transakcie neSegWitové. Neťažobní prevádzkovatelia uzlov sú preto stále súčasťou siete (hoci ťažiari by aktualizovaní mali byť všetci, aby mohli ťažiť všetky možné transakcie v sieti). Neaktualizované uzly iba nemajú prístup k novým možnostiam, ktoré zmena pravidiel priniesla.
Hard fork je spätne nekompatibilná zmena pravidiel, kedy aktualizované uzly transakcie podľa starých pravidiel neprijímajú. Všetky uzly v sieti musia prejsť na novú verziu bitcoinového klienta, aby zostali súčasťou bitcoinovej siete. Transakcie podľa starých pravidiel sú preto neplatné. V bitcoinovej histórii sa zatiaľ vyskytol iba jeden hard fork tohto typu, a to v roku 2013. O tomto Hard Forku pojednáva informatívny BIP 50 – v stručnosti išlo o nečakanú nekompatibilitu novšej verzie Bitcoin Core so staršími verziami. Problém bol v priebehu niekoľkých hodín vyriešený dobrovoľným downgradom klienta zo strany ťažiarov a následne opravou novej verzie, aby bola spätne kompatibilná.
Keďže Bitcoin je globálny, decentralizovaný ekosystém bloky jeho blockchainu sú ťažené po celom svete. Celosvetová internetová sieť má určitú latenciu – oneskorenie vo zdieľaní dát medzi serverom a používateľom. Problém bitcoinu (a ďalších decentralizovaných kryptomien) však je, že dáta sa zdieľajú naprieč uzly, nie z centrálneho servera.
Latencie, ktorá na „bežnom internete“ dosahuje v rade milisekúnd, tak v bitcoinovej sieti dosahuje až desiatok sekúnd. Keď prevádzkovateľ ťažby nájde riešenie kryptografickej hádanky (známej ako proof-of-work) a získa tak nárok na vyťaženie nového bloku, trvá bitcoinovej sieti pomerne dlhú dobu, než sa táto informácia dostane ku všetkým uzlom (keďže dáta sa v bitcoinovej sieti zdieľajú decentralizovane, tj. neefektívne čo sa rýchlosti týka).
Táto latencia v zdieľaní nových blokov spôsobuje vznik tzv. stale blocks – termín, ktorý možno pre svoju trefnosť do slovenčiny preložiť ako „okukaný blok“. K tomuto javu dochádza, keď dvaja ťažiari na svete vyťažia blok v rovnaký čas.
Príklad: Ťažiar Mike z New Yorku vyťaží blok a vyšle uzlom informáciu o svojom úspechu. O sekundu neskôr sa to isté podarí ťažiarovi Koljovi z Moskvy. Ako sme si uviedli, latencia dosahuje rádov sekúnd – to znamená, že k uzlom z Ameriky a okolia sa dostane ako prvá informácia o novom bloku od Mika, zatiaľ čo uzly z Ruska a okolia uvidia ako prvé Koljov blok. Teraz máme na svete dva validné bitcoinové chainy, ktoré sú vzájomne nekompatibilné. Došlo teda k forku – rozdvojeniu chainu.
Pomerne jednoducho. Súčasťou bitcoinového protokolu je pravidlo, že najdlhší chain je validný. To znamená, že ďalší vyťažený blok rozhoduje. Pokiaľ ako prvý vyťažia ďalší blok ťažiari, ktorí odkazujú na Mikov blok, vyhráva tento chain a Koljov blok je „okukaný“ – naďalej nie je súčasťou validného blockchainu a transakcie v ňom obsiahnuté a odmena za neho vyplatená sú neplatné.
Vyvanulé bloky sú jedným z dôvodov, prečo pri bitcoinovej platbe čakáme na väčší počet konfirmácií. Je totiž možné, že prvá konfirmácia plynie práve z takto nešťastne vyťaženého bloku. Čím viac máme pri svojej platbe konfirmácií, tým väčšia je pravdepodobnosť, že je súčasťou najdlhšieho blockchainu (keďže pravdepodobnosť časovej kolízie je po jednom bloku už veľmi nízka, po dvoch a viacerých blokoch takmer nemožná).
Tretí typ forku si počas posledných mesiacov uzurpoval najviac pozornosti. Až donedávna bolo štiepenie blockchainu do dvoch vetiev nechcené a obávané, v žiadnom prípade nebolo mysliteľné, že by sa malo vykonávať zámerne s cieľom koexistencie oboch vzniknutých vetiev.
V lete 2016 došlo na platforme Ethereum k hacku blockchainovej organizácie The DAO; po zámernom porušení integrity blockchainu na Etherea došlo k cielenému odštiepeniu meny Ethereum Classic – vznikol tak precedens na fork tohto typu, pri ktorom má nová vetva dostatočnú podporu na dlhodobé prežitie. (Detailný zoznam udalostí z leta 2016 a ich význam je k dispozícii na webe btctip.cz)
Druhým významným forkom tohto typu bol vznik Bitcoin Cash v auguste 2017. Motiváciou na jeho vznik bol rozkol v názoroch na ďalšiu škálovateľnosť bitcoinu: kým väčšina developerov a komunity bola za implementáciu BIP 141 (SegWit), menšina túto cestu odmietla a zvolila cestu väčšieho limitu veľkosti blokov. 1. augusta 2017 tak došlo k odštiepeniu nekompatibilnej vetvy, ktorá dostala názov Bitcoin Cash a každý majiteľ bitcoinu dostal nominálny ekvivalent nového coinu.
Bitcoin Cash sa pre svoj cenový úspech (kedy v najvyšších bodoch dosahoval okolo 20 % ceny bitcoinu) stal veľkým lákadlom pre ďalšie podobné projekty. Zdanlivo išlo o „peniaze zadarmo“, ktoré dostali všetci držitelia bitcoinu – a to navyše s výhodou plnej podpory hardvérových peňaženiek a búrz.
Cenový úspech Bitcoin Cash je však vysvetliteľný silnými hráčmi (Roger Ver, firma Bitmain), ktorí menu od začiatku propagujú. Je tiež pravda, že odštiepenie bolo vyvrcholením niekoľkoročného rozkolu bitcoinovej komunity ohľadom ďalšej cesty vpred.
Na druhú stranu, aj silných vodcov rozhodí, keď názov ich diela skrátite na „BCash“.
Ďalšie obdobné forky už tieto parametre nemali a spravidla išlo o snahu získať rýchle peniaze zadarmo, kde náklady na implementáciu do existujúcich peňaženiek a búrz ponesú ich prevádzkovatelia, keďže budú pod tlakom novopečených majiteľov odštiepeného coinu. To platilo pri novembrovom forku Bitcoin Gold, ďalšie forky však už boli vo väčšej miere po zásluhe ignorované.
Vznik nového coinu formou cieleného forku sa ujal aj pri altcoinoch. Tu je potrebné upozorniť na opakujúci sa jav podobajúci sa pump&dump schémy: po oznámení forku zažije altcoin vysoký cenový rast, krátko po forku (niekedy už pred ním) potom dôjde k výraznej korekcii.
Pokiaľ držíte coin, pri ktorom má dôjsť k cielenému odštiepeniu novej meny, je potrebná dbať na niekoľko základných pravidiel.
Najprv však spomeňme spôsoby, ako sa k novým coinom môžete dostať:
Prvý a druhý variant je pomerne priamočiary. Pokiaľ držíte coiny na burze, je potrebné dopredu si zistiť, či daná burza bude fork podporovať a nové coiny vám skutočne pripíše, prípadne aj za akých podmienok. Nezabudnite, že nie je povinnosťou burzy podporovať každý fork tohto typu a na nový coin nemáte žiadny nárok, ak ste svoje privátne kľúče zverili tretej strane.
Pokiaľ držíte ociny v peňaženke a vývojársky tím peňaženky ponúkne oficiálny split tool, postupujte podľa jeho oficiálneho návodu. Takto šlo získať doiny z forkov Bitcoin Cash a Bitcoin Gold (napríklad návod na split tool Bitcoin Cash zo strany vývojárskeho tímu Trezoru).
Tretí prípad poskytuje najväčšie nebezpečenstvo. Pokiaľ chcete totiž získať nové coiny, musíte do peňaženky odštiepovaného coinu zadať privátne kľúče od adries, na ktorých ste v dobe forkov mali coin, z ktorého sa nová mena štiepi.
Povedzme, že chcete získať Litecoin Cash, ktorý sa odštepoval z kryptomeny Litecoin. Potom musíte do peňaženky podporujúcej Litecoin Cash zadať privátny kľúč či seed od Litecoinovej peňaženky. Čo znamená, že vystavujete nebezpečenstvu prípadný zostatok, ktorý pod daným privátnym kľúčom či seedom máte. A pozor – v nebezpečenstve nie sú iba vaše Litecoiny, ale prípadne aj iné meny, ak zadávate niekam seed od peňaženky podporujúcej viac mien (ako sú Ledger či Trezor)!
Dôrazné odporúčanie teda je: nikdy nikam nezadávajte svoj privátny kľúč či seed od peňaženky, na ktorej stále máte zostatok. Pokiaľ chcete štiepené coiny získavať týmto spôsobom, najprv sa uistite, že na adresách zodpovedajúcich privátnemu kľúču či seedu nemáte už žiadne coiny. Na získanie štiepeného coinu máte nárok, ak ste držali na danej adrese coiny v čase forku – potom ich tam už držať nemusíte. Na získanie coinu týmto spôsobom (po dodržaní uvedenej zásady) môžete použiť napr. peňaženku Coinomi – oficiálny návod na postup.
Pokiaľ ste si doteraz predstavovali kryptomenový fork ako niečo negatívne či dokonca strašidelné, dúfame, že vás náš článok vyviedol z omylu – vo svete kryptomien sú forky všetkého druhu na dennom poriadku a výrazne prispievajú k tomu, aby celý systém správne a decentralizovane fungoval.
Josef Tětek
Josef is an economist and analyst influenced by the Austrian school of economics. He works as an analyst at TopMonks and is a fellow at the Czech Liberal Institute. Co-author of the paper Bitcoin Peer Banking. Author of Bitcoin: Separation of Money and State. @SatsJoseph on Twitter.