Úvod
Algoritmus konsenzu je mechanismus, který umožňuje uživatelům nebo strojům koordinaci v distribuovaném prostředí. Zajišťuje, že se všichni agenti v systému shodují na jediném zdroji pravdy, i když někteří agenti selžou. To znamená, že systém musí být odolný proti chybám (viz také: Vysvětlení byzantské odolnosti proti chybám).
V centralizovaném systému napájí a řídí síť jediná entita. Ve většině případů může účetní jednotka provádět změny, jak uzná za vhodné – neexistuje žádný složitý systém řízení, aby více ředitelů dosáhlo konsensu.
V decentralizovaném systému je to úplně jiný příběh. Řekněme, že pracujeme s distribuovanou databází – jak se dohodneme, jaká data přidat?
Překonání této výzvy v prostředí, kde si účastníci navzájem nedůvěřují, bylo možná tím nejzásadnějším vývojem, který vydláždil cestu blockchainům. V tomto článku uvidíme, proč jsou konsenzuální algoritmy nezbytné pro fungování kryptoměn a distribuovaných účetních knih.
Konsenzuální algoritmy a kryptoměny
U kryptoměn se zůstatky uživatelů zaznamenávají do databáze – blockchainu. Je nezbytné, aby každý (přesněji každý uzel) udržoval identickou kopii databáze. V opačném případě se mohou objevit konfliktní informace, které poškodí celou síť.
Kryptografie veřejného klíče zajišťuje, že uživatelé nemohou utrácet měny toho druhého. Stále však musí existovat jediný zdroj pravdy, na který se účastníci sítě spoléhají při určování, zda již byly prostředky vynaloženy.
Satoshi Nakamoto, tvůrce bitcoinu, navrhl systém Proof of Work pro koordinaci účastníků. Brzy uvidíme, jak PoW funguje – nyní identifikujme některé společné rysy mezi mnoha existujícími konsensuálními algoritmy.
Nejprve žádáme uživatele, kteří chtějí přidat bloky (budeme jim říkat validátoři), aby poskytli vklad. Sázka je hodnota, kterou musí validátor zaručit, aby je odradil od zlomyslného jednání. Pokud budou podvádět, ztratí svůj podíl. Například výpočetní výkon, kryptoměny nebo jejich pověst.
Proč by riskovali vlastní zdroje? Jednoduše proto, že je ve hře odměna. Jedná se obecně o nativní kryptoměnu protokolu, která je založena na poplatcích placených uživateli, na čerstvě vytvořených kryptoměnách nebo na obou.
Poslední věc, kterou potřebujeme, je transparentnost. Musíme být schopni rozpoznat, když někdo podvádí. V ideálním případě by pro ně měla být výroba bloků drahá, ale pro kohokoli, kdo by je ověřoval, by mělo být levné. Tím je zajištěno, že validátory budou ovládány i běžnými uživateli.
Typy konsensuálních algoritmů
Proof of Work (PoW)
Proof of Work (PoW) je kmotrem blockchainových konsenzuálních algoritmů. Poprvé byl implementován pomocí bitcoinu, ačkoli tento koncept existuje již dlouhou dobu. V Proof of Work validátoři (nazývaní těžaři) hašují data, která chtějí přidat, dokud nevytvoří konkrétní řešení.
Hash je náhodný řetězec písmen a čísel vytvořený při spuštění hashovací funkce. Pokud jsou ale vstupní data stejná, budou stejné i výstupní výsledky. Sebemenší změna však vygeneruje úplně jiný hash.
Data na výstupu nám neumožňují určit data na vstupu. Jedná se tedy o velmi efektivní funkci, jak prokázat, že určité údaje znáte za určitou dobu. Můžete někomu dát jeho hash a když odhalíte data, může je tato osoba spustit pomocí funkce, aby se ujistil, že výstup je stejný.
V Proof of Work protokol definuje podmínky, které činí blok platným. To by mohlo například říci, že platný je pouze blok, jehož hash začíná 00. Jediný způsob, jak může těžař vytvořit platný blok, je hrubá síla. Aby bylo dosaženo jiného výsledku, dokud nebude nalezen ten správný, mohou těžaři upravit parametr ve svých datech.
U největších blockchainů je úroveň velmi, velmi vysoká. Abyste mohli konkurovat ostatním těžařům, musíte mít sklad plný ASIC, hardwaru speciálně navrženého tak, aby zvýšil vaše šance na výrobu platného bloku.
Váš podíl na těžbě odpovídá nákladům na tyto stroje a elektřinu potřebnou k jejich provozu. ASIC jsou navrženy pouze pro účely těžby, takže nemají žádné využití mimo těžbu kryptoměn. Jediný způsob, jak získat zpět svou počáteční investici, je těžit a získávat odměny úspěšným přidáním nového bloku do blockchainu.
Pro síť je velmi snadné ověřit, že jste vytvořili správný blok. Jedno provedení s funkcí vám umožní ověřit výsledky vašich četných testů. Pokud vaše data vytvoří platný hash, budou přijata a dostanete odměnu. Jinak to síť znehodnotí a vy budete mít ztracený čas a elektřinu na nic.
Proof of Stake (PoS)
Proof of Stake (PoS) byl navržen v počátcích bitcoinu jako alternativa k Proof of Work. V PoS koncepty těžařů, specializovaného hardwaru a masivní spotřeby energie neexistují. Vše, co potřebujete, je počítač.
A něco málo... Musíte do automatu vhodit minci. V PoS místo použití externího zdroje (stroje a elektřina) použijete interní zdroj (kryptoměnu). Pravidla se liší v závislosti na protokolu, ale obecně budete muset držet minimální částku, abyste se mohli zúčastnit sázky.
Poté budete muset zamknout své prostředky v peněžence (při vkladu je nelze přesunout). Obecně se s ostatními validátory dohodnete na tom, které transakce přejdou do dalšího bloku. V jistém smyslu vsadíte na to, který blok bude vybrán a o zbytku rozhodne protokol.
Pokud je vybrán váš blok, obdržíte část transakčních poplatků úměrnou vašemu vkladu. Čím více prostředků uzamknete, tím větší šanci na výhru máte. Pokud se ale pokusíte podvádět nabízením neplatných obchodů, ztratíte část (nebo celý) svůj vklad. Proto máme podobný mechanismus jako PoW – jednat čestně je výnosnější než jednat nečestně.
Obecně platí, že nově vytvořené měny nejsou součástí odměn validátorů. Nativní blockchainová měna proto musí být vydána jiným způsobem. To lze provést prostřednictvím počáteční distribuce (např.: ICO nebo IEO) nebo pomocí použití PoW na začátku protokolu před jeho přechodem na PoS.
K dnešnímu dni používají čisté Proof of Stake pouze malé kryptoměny. Proto není jasné, zda může sloužit jako životaschopná alternativa k PoW. I když se to zdá teoreticky platné, v praxi to bude zcela jiné.
Jakmile je PoS nasazen v síti s velkým množstvím informací, systém se stává dokonalou živnou půdou pro finanční pobídky a teorii her. Každý, kdo má know-how k „hacknutí“ systému PoS, tak učiní pouze v případě, že je možné jej využít – a proto jediný způsob, jak zjistit, zda je to možné, je vyzkoušet přímo v síti .
Brzy se dočkáme rozsáhlého testování PoS – Casper bude implementován jako součást série upgradů sítě Ethereum (také známé jako Ethereum 2.0).
Typy konsensuálních algoritmů
Proof of Work a Proof of Stake jsou nejběžnější konsensuální algoritmy. Ale zjevně existuje mnoho dalších, všechny se svými výhodami a nevýhodami. Podívejte se na následující články:
Výklad Le Delayed Proof of Work
Le consensus Leased Proof of Stake Explique
Výklad Le Proof of Authority
Vysvětlen důkaz o Burn
Výklad pro Delegated Proof of Stake
Vysvětlen konsenzus hybridního PoW/PoS
Abych to uzavřel
Mechanismy pro dosažení konsensu jsou životně důležité pro provoz distribuovaných systémů. Mnozí věří, že největší inovací bitcoinu je použití Proof of Work, které uživatelům umožňuje dohodnout se na sdíleném souboru faktů.
Algoritmy konsensu dnes podporují nejen systémy digitálních měn, ale také blockchainy, které vývojářům umožňují spouštět kód v distribuované síti. Představují základní kámen technologie blockchain a jsou nezbytné pro dlouhodobou životaschopnost různých existujících sítí.
Ze všech konsensuálních algoritmů zůstává stále nejpoužívanějším Proof of Work. Ve skutečnosti nebyla dosud navržena spolehlivější a bezpečnější alternativa. To znamená, že existuje obrovské množství výzkumu a vývoje, který má nahradit PoW, a je vysoce pravděpodobné, že v nadcházejících letech uvidíme větší konsenzus.



