Úvod
Když vám na chytrém telefonu přijde oznámení, že máte aktualizovat mobilní bankovnictví, nejspíš se nebudete vůbec rozmýšlet. Možná vám ho dokonce aktualizuje telefon automaticky, aniž byste si toho všimli. Je to nezbytný proces. Navíc pokud si nenainstalujete nejnovější verzi softwaru, riskujete odepření přístupu k bankovním službám.
Kdo má na blockchainových sítích rozhodující slovo?
Vývojáři
Vývojáři zodpovídají za vytváření a aktualizaci kódu. U typické kryptoměny může s vývojem pomáhat kdokoli. Kód je veřejný, takže můžete odevzdat změny a ostatní vývojáři je po vás zkontrolují.
Těžaři
Provozovatelé plných uzlů
Tyto kategorie se často překrývají. Můžete být například vývojářem a provozovatelem plného uzlu nebo těžařem a provozovatelem plného uzlu. Můžete dělat i všechny tři věci naráz nebo taky žádnou. Mnoho uživatelů kryptoměn se vlastně nevěnuje ani jedné z těchto rolí. Místo toho používají lehké uzly nebo centralizované služby.
Vývojáři se vám nebudou vloupávat do domu a nutit vás se zbraní u hlavy, abyste si stáhli binární soubory bitcoinového jádra. Pokud si těžaři budou razit cestu stylem „buď bude po našem, nebo uvidíte“, aby si vynutili nechtěnou změnu, uživatelé si prostě počkají a uvidí.
Co je fork?
K softwarovým forkům dochází, když software zkopírujete a upravíte. Původní projekt funguje dál, ale je teď oddělený od toho nového, který se vydal jiným směrem. Představte si, že tým spravující web s vaším oblíbeným kryptoměnovým obsahem se pohádal o to, jak dál pokračovat. Jedna část týmu se může rozhodnout, že web replikují na jiné doméně, ale do budoucna budou přidávat jiný typ obsahu než původní web.
Projekty začaly na společném základu a sdílí stejnou historii. Ale jako cesta, která se později rozděluje na dvě, se teď budou natrvalo rozbíhat.
Hard forky vs. soft forky
Navzdory podobným názvům a stejnému účelu je mezi hard forkem a soft forkem významný rozdíl, který si teď vysvětlíme.
Co je hard fork?
Hard forky jsou softwarové aktualizace, které nejsou zpětně kompatibilní. Obvykle k nim dochází, když uzly přidávají nová pravidla, která jsou v rozporu se starými pravidly. Nové uzly mohou komunikovat pouze s uzly, které provozují novou verzi. Výsledkem je, že se blockchain rozdělí a vzniknou dvě samostatné sítě: jedna se starými pravidly a druhá s novými pravidly.
Aktualizované uzly mění svou barvu na modrou. Starší žluté uzly je odmítají a modré uzly komunikují mezi sebou.
V tu chvíli vedle sebe běží dvě sítě. Obě budou dál zpracovávat transakce a vytvářet bloky, ale už nefungují na stejném blockchainu. Všechny uzly měly až do chvíle, kdy proběhl fork, identický blockchain (a tato historie zůstává), ale po forku budou mít jiné bloky a transakce.
Zvětšení velikosti bloku vyžadovalo úpravu pravidel. Došlo k tomu před segwitovým soft forkem (o něm více za chvíli), takže uzly přijímaly jen bloky do velikosti 1 MB. Pokud byste vytvořili 2MB blok, který by byl jinak platný, ostatní uzly by ho už odmítly.
Jen uzly, které změnily svůj software, umožňovaly přijetí bloků přesahujících velikost 1 MB. Z toho důvodu mezi sebou mohly komunikovat jen uzly se stejnými úpravami protokolu, takže pochopitelně přestaly být kompatibilní.
Co je soft fork?
To vás ale automaticky neodpojí od sítě. Pořád můžete komunikovat s uzly, které se těmito pravidly neřídí, a jen odfiltrujete nějaké informace, které vám předávají.
Ani dva roky po aktivaci SegWitu nedošlo k upgradu všech uzlů. Upgrade má svoje výhody, ale vzhledem k tomu, že nejde o změnu, která by štěpila síť, není důvod spěchat.
Hard forky vs. soft forky – co je lepší?
Oba uvedené typy forků slouží v zásadě k jiným účelům. Sporné hard forky mohou komunitu rozdělit, ale plánové hard forky umožňují po dohodě se všemi software svobodně upravovat.
Soft forky jsou mírnější alternativou. Obecně řečeno máte omezenější možnosti, protože nové změny nemohou být v rozporu se starými pravidly. Pokud je ale možné vaši aktualizaci provést tak, aby zůstala zpětně kompatibilní, nemusíte se bát o rozštěpení sítě.
Závěrem
Hard forky a soft forky jsou pro dlouhodobý úspěch blockchainových sítí naprosto zásadní. Navzdory chybějícímu ústřednímu orgánu nám umožňují měnit a vylepšovat decentralizované systémy.
Forky blockchainům a kryptoměnám umožňují integrovat nově vyvíjené funkce. Bez těchto mechanismů bychom potřebovali ústřední systém s řízením „shora dolů“, jinak bychom se museli po dobu existence protokolu držet stejných pravidel.