Úvod

Algoritmus konsensu je mechanismus, pomocí kterého mohou uživatelé a programy koordinovat své akce v distribuované síti. Zajišťuje, že se všichni účastníci sítě dohodnou na aktuálním stavu dat, i když některé uzly selžou. Jinými slovy, konsensus pomáhá udržovat odolnost systému (více informací naleznete v části Vysvětlení misí byzantských generálů).

V centralizované struktuře má jeden subjekt moc nad celým systémem. Ve většině případů mají tyto orgány pravomoc provádět změny, jak uznají za vhodné: neexistuje žádný složitý systém řízení, který by umožnil dosáhnout konsensu mezi více správci.

V decentralizovaném prostředí je mechanismus fungování zcela odlišný. Například, pokud mluvíme o distribuované databázi, jak můžeme získat souhlas všech účastníků v síti ohledně toho, jaká data lze do sítě přidat?

Dosažení konsenzu v prostředí, kde si strany nemohou navzájem důvěřovat, bylo jedním z nejdůležitějších pokroků v tomto odvětví, které připravilo cestu pro vznik blockchainů. V tomto článku se podíváme na důležitost konsenzuálních algoritmů pro správné fungování kryptoměn a distribuovaných účetních knih.


Konsenzuální algoritmy a kryptoměna

V kryptoměnových sítích se zůstatky uživatelů zaznamenávají do databáze – blockchainu. Každý uživatel (uzel) musí vlastnit identickou kopii databáze. V opačném případě se budou informace lišit, což poruší zásady spolehlivosti a otevřenosti celé sítě kryptoměn.

Šifrování veřejného klíče zajišťuje, že neoprávněné strany nemají přístup k vašim coinům. Uživatelé však také potřebují spolehlivý způsob, jak zkontrolovat, zda byly prostředky vynaloženy či nikoli.

Satoshi Nakamoto, tvůrce bitcoinu, navrhl systém Proof of Work pro koordinaci uživatelů sítě. Dále se podíváme na to, jak PoW funguje, ale nejprve identifikujeme společné rysy většiny existujících konsenzuálních algoritmů.

Prvním je požadavek na uživatele, kteří chtějí přidávat bloky (nazýváme je validátoři), aby na oplátku poskytli nějaký podíl. Akcie nebo podíl je určitá hodnota, kterou musí validátor předložit jako záruku poctivé práce: pokud se validátoři pokusí oklamat systém, přijdou o svůj podíl. Podílem může být výpočetní výkon, kryptoměna nebo pověst.

Můžete si položit logickou otázku: proč by riskovali své vlastní zdroje? Faktem je, že zde existuje speciální systém odměn za práci. Obvykle jsou odměny vydávány ve formě nativních protokolových tokenů a finanční prostředky na ně jsou vybírány z uživatelských poplatků a nově vytvořené kryptoměny, nebo někdy z obou.

Další důležitou vlastností je transparentnost pro identifikaci podvodných aktivit. Výroba bloků by měla být drahá a kontrola odvedené práce levná a dostupná pro běžné uživatele. Každý tak může kontrolovat a sledovat práci validátorů.


Typy konsensuálních algoritmů

Proof of Work (PoW)

Proof of Work (PoW) se stal předchůdcem všech ostatních konsenzuálních algoritmů na blockchainu. Poprvé byl implementován v bitcoinu, ale samotný koncept se objevil dlouho předtím. V Proof of Work validátoři (nazývaní těžaři) hašují data, která chtějí přidat, dokud nedostanou vhodné řešení kryptografické hádanky.

Hash je náhodná sada písmen a čísel, která se vytváří při zpracování dat pomocí hashovací funkce. Pokud znovu zahašujete stejná data, dostanete stejný výsledek, ale pokud změníte byť jen jednu hodnotu, hash bude úplně jiný.

Když se podíváte na výstup, nebudete schopni říct, jaké informace byly funkcí předány. Z tohoto důvodu jsou hashe skvělé k prokázání něčeho, co jste věděli před určitou dobou. Někomu můžete dát takový hash a poté poskytnout počáteční informace, aby je daný člověk mohl projít funkcí a zjistit, zda se výstup shoduje.

V Proof of Work protokol stanoví podmínky pro potvrzení (validaci) bloku. Můžete například nastavit, že platný bude pouze blok, jehož hash začíná 00. Jediný způsob, jak může těžař vytvořit platný blok, je jednoduše iterovat vstupní data. Validátoři konfigurují program tak, aby při každém hašování produkoval jiné výsledky, dokud se nevygeneruje správný hash.

Ve velkých blockchainech je extrémně obtížné najít vhodný hash: budete potřebovat celý sklad speciálního vybavení k hašování velkého množství dat (s jednotkami typu ASIC), abyste byli konkurenceschopní a mohli vytvořit platný blok.

V těžbě jde o náklady na takové zařízení a elektřinu vynaloženou na dílo. Hardware typu ASIC (Application-Specific Integrated Circuit) je určen pro jeden úkol, nelze jej tedy použít k ničemu jinému než k těžbě kryptoměn. Jediný způsob, jak vrátit počáteční investici, je těžba a odměny za úspěšné přidání bloku.

U sítě se stačí ujistit, že jste skutečně vytvořili správný blok. I když vaše ASIC provedly biliony kombinací, aby získaly správný hash, ke kontrole jeho správnosti stačí data jednou funkcí předat. Pokud vaše data vytvoří platný hash, blok bude sítí uznán jako platný a dostanete odměnu. V opačném případě síť odmítne vaši žádost o přidání bloku a můžete říci, že jste ztratili čas a elektřinu.


Proof of Stake (PoS)

Proof of Stake (PoS) se objevil v počátcích bitcoinu jako alternativa k Proof of Work. Systém PoS nevyžaduje účast těžařů, použití speciálního vybavení ani masivní spotřebu elektřiny – postačí běžný osobní počítač.

Kromě toho budete muset přispět svým vlastním příspěvkem. PoS nevyužívá externí zdroj (elektřinu nebo zařízení), ale interní – kryptoměnu. Požadavky se mohou mezi protokoly lišit, ale obecně existuje minimální množství finančních prostředků, které vlastníku uděluje právo na sázku.

Během sázkové doby jsou finanční prostředky zablokovány v peněžence (nelze s nimi během sázení přesouvat). Ve většině případů se s ostatními validátory dohodnete na tom, které transakce půjdou do dalšího bloku. V jistém smyslu validátoři vsadí na blok, který chtějí přidat do blockchainu, ale právo na výběr bloku zůstává protokolu.

Validátoři, jejichž blok je vybrán, obdrží část transakčních poplatků v závislosti na velikosti jejich podílu. Čím více prostředků v peněžence bylo zablokováno, tím větší bude odměna. Za pokusy o oklamání systému a přidání neplatných transakcí však útočníci riskují ztrátu části (nebo celého) svého podílu. PoS tedy funguje podobně jako PoW: jednat čestně je ziskovější než snažit se ošidit systém.

Tento mechanismus neposkytuje odměny pro validátory v podobě nově vytvořených coinů. S tímto algoritmem musí být nativní měna blockchainu vydána jiným způsobem, například prostřednictvím počáteční nabídky (ICO nebo IEO) nebo spuštěním protokolu na PoW a následným přechodem na PoS.

K dnešnímu dni byl Proof of Stake ve své čisté podobě nasazen pouze v několika kryptoměnách s relativně malou sítí, z tohoto důvodu je stále těžké s jistotou říci, zda se může stát životaschopnou alternativou k PoW. Ačkoli se tento algoritmus zdá teoreticky správný, v praxi se vše děje trochu jinak.

Jakmile je PoS nasazen v rámci sítě s velkým množstvím finančních prostředků, v systému vstupují do hry teorie her a různé finanční pobídky. Pokud někdo bude chtít „hacknout“ PoS systém, bude to pouze s garancí zisku, takže jak je to pravděpodobné, můžeme zjistit až na síti.

Velmi brzy proběhne rozsáhlé testování PoS: v rámci aktualizace sítě Ethereum (známé také jako Ethereum 2.0) bude implementován protokol Casper.


Další konsensuální algoritmy

Proof of Work a Proof of Stake jsou nejčastěji diskutované konsensuální algoritmy, ale existuje mnoho dalších, které mají své výhody a nevýhody. Doporučujeme se s nimi podrobněji seznámit v následujících článcích:

  • Vysvětlen odložený doklad o práci

  • Jak funguje pronajatý doklad o sázce

  • Vysvětlení dokladu o autoritě

  • Vysvětlení důkazů spalování

  • Vyjasnění delegovaného důkazu o sázce

  • Hybridní konsensuální algoritmus


souhrn

Mechanismy konsenzu jsou životně důležité pro fungování distribuovaných systémů. Mnozí věří, že největší inovací bitcoinu bylo jeho použití Proof of Work, které uživatelům umožňuje dohodnout se na společném souboru faktů.

Algoritmy konsensu dnes podporují nejen systémy digitálních peněz, ale také blockchainy, což umožňuje vývojářům spouštět kód v distribuované síti. Nyní jsou základním kamenem technologie blockchain a jsou zásadní pro dlouhodobou životaschopnost různých existujících sítí.

Ze všech konsenzuálních algoritmů stále zůstává dominantní Proof of Work, a to z toho prostého důvodu, že dosud nebyla navržena alternativa, která by byla spolehlivější a bezpečnější. Existuje však obrovské množství výzkumu a vývoje, který má nahradit PoW, a pravděpodobně toho uvidíme jen více.