Úvod
Algoritmus konsensu je mechanismus, který umožňuje uživatelům nebo strojům koordinovat vztahy v distribuovaném prostředí. Vyžaduje to zajistit, aby se všichni agenti v systému mohli nakonec shodnout na jediném zdroji pravdy (i když někteří agenti nesouhlasí). Jinými slovy, systém musí mít dobrou odolnost proti chybám (viz také „Vysvětlení byzantské odolnosti proti poruchám“).
V centralizovaném prostředí má jediný subjekt kontrolu nad celým systémem. Ve většině případů jsou tyto subjekty často schopny systém libovolně měnit, protože se jim nepodaří vytvořit dobře definovaný systém řízení, který umožňuje mnoha správcům dosáhnout konsensu.
Ale pokud je to v decentralizovaném prostředí, je to úplně jiný příběh. Za předpokladu, že používáme distribuovanou databázi, jak se dohodneme na tom, které položky přidat?
Toto prostředí je plné cizích lidí, kteří si navzájem nedůvěřují Jak překonat tuto výzvu může být klíčem k řešení vývojových problémů a vydláždění cesty pro blockchain. V tomto článku se podíváme na důležitost konsenzuálních algoritmů pro provozování kryptoměn a distribuovaných účetních knih.
Konsensuální algoritmy a kryptoměny
V prostředí kryptoměn se zůstatky uživatelů zaznamenávají v blockchainové databázi. Je důležité, aby každý uživatel (přesněji každý uzel) udržoval stejnou kopii databáze. Pokud tak neučiníte, povede to v konečném důsledku k problémům s konfliktem informací, které podkopávají celý účel sítě kryptoměn.
Kryptografie veřejného klíče zajišťuje, že uživatelé nemohou utrácet tokeny jiných uživatelů. Musí však existovat jediný zdroj pravdy, kterému mohou účastníci sítě důvěřovat, aby věděli, zda byly finanční prostředky vynaloženy.
Tvůrce bitcoinů Satoshi Nakamoto navrhl systém proof-of-work jako způsob koordinace účastníků. O tom, jak Proof of Work funguje, se budeme podrobněji zabývat později. Nyní nejprve pochopíme společné charakteristiky různých existujících konsensuálních algoritmů.
Nejprve potřebujeme sázky od uživatelů, kteří chtějí přidávat bloky (známé také jako validátoři). Validátoři musí vsadit kapitál v určité hodnotě, aby jim zabránili ve spáchání podvodu. Jakmile podvedou, ztratí svá vsazená práva. Například ztráta výpočetního výkonu a kryptoměny nebo dokonce ztráta reputace.
Proč by tedy riskovali své vlastní zdroje? Protože v tomto procesu existuje také mechanismus odměny. Odměny jsou obvykle nativní kryptoměnou protokolu. Odměnou mohou být také poplatky placené jinými uživateli, nově vygenerované jednotky kryptoměny nebo obojí.
A konečně musíme také zajistit transparentnost. Musíme mít schopnost odhalit podvádění včas. Teoreticky výroba bloků stojí hodně, ale ověření jejich pravosti je docela levné. Prostřednictvím tohoto mechanismu mohou běžní uživatelé snadno omezit validátory.
Typ konsensuálního algoritmu
Proof of Work (PoW)
Proof of Work (PoW) je považován za kmotra blockchainových konsensuálních algoritmů. Tento mechanismus byl v bitcoinovém prostoru použit poprvé, ale skutečný 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 není vytvořeno konkrétní řešení.
Hash je zdánlivě náhodný řetězec písmen a čísel vytvořený spuštěním dat pomocí hashovací funkce. Opakované spouštění stejných dat vždy poskytne stejný výstup. Pokud však změníte byť jen malý detail, výsledná hash hodnota bude úplně jiná.
Neexistuje způsob, jak odvodit, jaké informace byly do funkce vloženy pouze z výstupu. Proto je tato metoda účinná při dokazování, že jste znali určitou část dat před určitým časovým okamžikem. Hash můžete někomu sdělit předem, a když později data odhalíte, tato osoba může funkci jednoduše spustit a vidět, že výstup je stejný.
V proof-of-work protokol specifikuje podmínky, které činí blok platným. Může například stanovit, že platnými bloky jsou pouze hodnoty hash začínající 00. Jediný způsob, jak může těžař vytvořit blok, který odpovídá této kombinaci, je hrubou silou vstupu. Upravují parametry dat a testují každý odhad s různými výsledky, dokud nedostanou správnou hodnotu hash.
U hlavních blockchainů bývá laťka poměrně vysoká. Abyste mohli konkurovat ostatním těžařům, musíte připravit velké množství speciálního hashovacího hardwaru (aplikačně specifické integrované obvody), abyste vytvořili podmínky pro výrobu platných bloků.
Během procesu těžby sázka, kterou sázíte, zahrnuje náklady na nákup stroje a elektřinu potřebnou k provozu stroje. ASIC (Application Specific Integrated Circuit) jsou vytvořeny speciálně pro těžbu kryptoměn a pro jiné aplikace jsou nepoužitelné. Jediný způsob, jak se vám počáteční investice vrátí, je těžba, a pokud do blockchainu úspěšně přidáte nové bloky, můžete sklízet nemalé odměny.
Síť může snadno ověřit pravost vámi vytvořených bloků. Možná budete muset vyzkoušet biliony kombinací, abyste získali správnou hodnotu hash, ale ověření dat vyžaduje pouze výpočet jedné hashovací funkce. Pokud vaše data vytvoří platný hash, síť jej přijme a budete za to odměněni. V opačném případě síť odmítne hodnotu a veškerý váš čas a energie budou promarněny.
Proof of Stake (PoS)
V počátcích bitcoinu byl Proof of Stake (PoS) považován za alternativu k Proof of Work. V systému proof-of-stake neexistuje žádný koncept těžařů, specializovaného hardwaru nebo masivní spotřeby energie. Vše, co potřebujete, je obyčejný počítač.
Není tomu však vždy tak. Potřebujete také nějaký kapitál. V mechanismu proof-of-stake, zatímco není třeba spotřebovávat žádné externí zdroje (jako je elektřina nebo hardware), musí být poskytnuty interní zdroje, konkrétně kryptoměna. Pravidla každého protokolu se liší, ale obecně existuje minimální částka investice, kterou musíte splnit, abyste byli způsobilí vsadit.
Jakmile tak učiníte, prostředky ve vaší peněžence budou uzamčeny (prostředky nelze během sázení přesunout). Obecně řečeno, musíte se s ostatními validátory dohodnout na tom, které transakce půjdou do dalšího bloku. V jistém smyslu je to ekvivalentní sázení na to, který blok bude vybrán, a protokol vybere pouze jeden z bloků.
Pokud je váš blok vybrán protokolem, obdržíte transakční poplatky úměrné výši sázky, kterou vsadíte. Čím více prostředků zablokujete, tím větší jsou vaše výnosy. Pokud se pokusíte podvádět a navrhnout neplatnou transakci, ztratíte část (nebo celý) svůj vklad. Proto provozujeme mechanismus podobný proof of stake, ve kterém poctivost a důvěryhodnost mohou získat více výhod než podvádění.
Obecně řečeno, odměny validátorů nebudou vydávány ve formě nově ražených tokenů. Proto musí být nativní měna blockchainu vydána nějakým jiným způsobem. To by mohlo být prostřednictvím počáteční nabídky (tj. ICO nebo IEO) nebo spuštěním protokolu s Proof-of-Work a následným přechodem na Proof-of-Stake.
Doposud byl čistý proof-of-stake nasazen pouze v menších kryptoměnách. Proto není jasné, zda může sloužit jako životaschopná alternativa k proof-of-work. I když to teoreticky funguje, v praxi to tak není.
Jakmile je proof-of-stake implementován do sítě s velkým množstvím hodnoty, celý systém se stává arénou plnou teorie her a ekonomických pobídek. Dokud bude zisk, budou tito zkušení hackeři „hackovat“ systém proof-of-stake. Jediným způsobem, jak zjistit, zda je to možné, je použít jej v online síti.
Brzy bude Proof of Stake testován ve velkém a síť Ethereum se chystá implementovat řadu upgradů (souhrnně známých jako Ethereum 2.0), včetně implementace Casper.
Další konsensuální algoritmy
Proof-of-work a proof-of-stake jsou v současnosti nejdiskutovanějšími konsensuálními algoritmy. Kromě toho však existuje mnoho dalších algoritmů a každý má své výhody a nevýhody. Podrobnosti naleznete v následujícím článku:
"Podrobné vysvětlení důkazu o opožděné pracovní zátěži"
"Podrobné vysvětlení konsensu o prokázání zájmu o pronájem"
"Podrobné vysvětlení autoritativního důkazu"
"Podrobné vysvětlení certifikátu zničení"
"Podrobné vysvětlení delegovaného důkazu o vlastním kapitálu"
"Podrobné vysvětlení hybridního Proof of Work/Proof of Stake Consensus"
Shrnout
Pro fungování distribuovaných systémů jsou zásadní mechanismy pro dosažení konsensu. Mnoho lidí věří, že největší inovací bitcoinu je použití důkazu o práci, což je mechanismus, pomocí kterého se uživatelé mohou často dohodnout na souboru sdílených faktů.
Dnes se konsenzuální algoritmy staly základem systémů digitálních měn a blockchainů, které umožňují vývojářům spouštět kód v distribuovaných sítích. Konsenzuální algoritmy zaujímají v blockchainové technologii klíčovou pozici a hrají zásadní roli v dlouhodobé životaschopnosti různých existujících sítí.
Mezi všemi konsensuálními algoritmy dominuje důkaz práce. Spolehlivější a bezpečnější alternativní řešení zatím nikdo nenavrhl. Přesto profesionálové stále vyvíjejí řadu produktů, které nahradí potvrzení o práci, a můžeme očekávat, že se v nadcházejících letech objeví další alternativní řešení.

