Od vytvoření bitcoinu v roce 2008 jako peer-to-peer elektronického hotovostního systému bylo vytvořeno mnoho dalších kryptoměn, z nichž každá má specifický mechanismus. Ale jeden prvek, se kterým jsou spojeny téměř všechny kryptoměny, je blockchain jako hlavní prvek jejich architektury.

Až na pár výjimek je blockchain záměrně zamýšlen jako decentralizovaný a funguje jako digitální účetní kniha, která je udržována distribuovanou sítí počítačových uzlů. Z tohoto důvodu technologie blockchain umožnila vytvořit důvěryhodné ekonomické systémy, ve kterých lze provádět transparentní a spolehlivé finanční transakce bez potřeby zprostředkovatelů. Kryptoměna je vnímána jako životaschopná alternativa k tradičním bankovním a platebním systémům, které silně spoléhají na důvěru.

Stejně jako většina distribuovaných počítačových systémů se i účastníci kryptoměnové sítě musí pravidelně shodovat na aktuálním stavu blockchainu, a tomu říkáme dosažení konsenzu. Dosažení konsensu v distribuované síti bezpečným a důvěryhodným způsobem však není zdaleka snadný úkol.

Jak tedy distribuovaná síť počítačových uzlů souhlasí s rozhodnutím, co když některý z uzlů teoreticky selže nebo bude jednat nečestně? To je zásadní otázka o problému tzv. byzantských generálů, z nichž vznikl koncept byzantské tolerance.


Jaký je problém byzantských generálů?

Stručně řečeno, problém byzantských generálů byl vytvořen v roce 1982 jako logické dilema, které ilustruje, jak může mít skupina byzantských generálů problémy s komunikací, když se snaží dohodnout na dalším kroku.

Dilema spočívá v tom, že každý generál má svou vlastní armádu a každá skupina se nachází na jiném místě ve městě a má v úmyslu na ni zaútočit. Generálové musí souhlasit s útokem nebo ústupem. Je jedno, zda zaútočí nebo ustoupí, pokud všichni generálové dosáhnou konsensu, tzn. učinit společné rozhodnutí, aby bylo důsledně prováděno.

Můžeme tedy uvažovat o následujících cílech:

  • Každý generál se musí rozhodnout: útok nebo ústup (ano nebo ne);

  • Jakmile je učiněno rozhodnutí, nelze jej změnit;

  • Všichni generálové se musí dohodnout a učinit stejné rozhodnutí a provést je synchronně.

Výše uvedené komunikační problémy pramení ze skutečnosti, že jeden generál může komunikovat s ostatními pouze prostřednictvím zpráv zasílaných kurýrem. Hlavním problémem byzantských generálů je proto to, že zprávy mohou být nějakým způsobem zpožděny, ztraceny nebo zničeny.

Navíc, i když je zpráva úspěšně doručena, jeden nebo více generálů může jednat (z jakéhokoli důvodu) zlomyslně a poslat podvodnou zprávu, aby zmátl ostatní generály, což má za následek celkové selhání.

Pokud je toto dilema aplikováno na kontext blockchainu, pak každý obecný představuje síťový uzel a tyto uzly potřebují dosáhnout konsensu ohledně aktuálního stavu systému. Jinými slovy, většina účastníků v distribuované síti musí souhlasit a provést stejnou akci, aby se zabránilo úplnému selhání.

Jediným způsobem, jak dosáhnout konsensu v těchto typech distribuovaných systémů, je proto mít alespoň ⅔ nebo více spolehlivých a poctivých síťových uzlů. To znamená, že pokud se velká část sítě rozhodne jednat zlomyslně, pak je systém náchylný k chybám a různým útokům (například 51% útok).


Byzantská odolnost proti chybám (BFT)

Stručně řečeno, Byzantine Fault Tolerance (BFT) je vlastnost systému, který je schopen odolat řadě selhání vznikajících v důsledku problémů byzantských generálů. To znamená, že systém BFT může pokračovat v činnosti, i když jsou některé uzly mimo provoz nebo se chovají zlomyslně.

Existuje více než jedno možné řešení problému byzantských generálů, a proto existuje několik způsobů, jak vybudovat systém BFT. Stejně tak existují různé přístupy k blockchainu k dosažení byzantské odolnosti proti chybám, a to nás přivádí k takzvaným konsensuálním algoritmům.


Blockchain Consensus Algorithm

Algoritmus konsensu můžeme definovat jako mechanismus, kterým blockchainová síť dosahuje konsensu. Nejběžnější jsou Proof of Work (PoW) a Proof of Stake (PoS). Ale jako příklad se podíváme na Bitcoin.

Zatímco bitcoinový protokol předepisuje základní pravidla systému, algoritmus konsenzu PoW určuje, jak budou tato pravidla dodržována k dosažení konsenzu (například při ověřování a potvrzování transakcí).

Přestože koncept Proof of Work je starší než samotná kryptoměna, Satoshi Nakamoto vyvinul upravenou verzi jako algoritmus, který umožnil vytvoření bitcoinu jako systému BFT.

Vezměte prosím na vědomí, že algoritmus PoW není 100% tolerantní k byzantským chybám, ale kvůli drahému procesu těžby a základním kryptografickým technikám se PoW ukázal jako jeden z nejbezpečnějších a nejspolehlivějších na blockchainu. V tomto smyslu je konsenzuální algoritmus Proof of Work vyvinutý Satoshi Nakamotem mnohými považován za jedno z nejdůmyslnějších řešení byzantských chyb.


Závěr

Problém byzantských generálů je zajímavé dilema, které nakonec dalo vzniknout systémům BPT, které jsou široce používány v různých systémech. Kromě blockchainového průmyslu několik případů použití systémů BFT zahrnuje letectví, vesmír a jadernou energii.

V kontextu kryptoměn je efektivní síťová komunikace spolu s dobrým mechanismem konsenzu životně důležitá pro jakýkoli blockchainový ekosystém. Zajištění bezpečnosti těchto systémů je neustálým úsilím a existující konsensuální algoritmy musí stále překonávat několik překážek (jako je škálovatelnost). PoW a PoS jsou však velmi zajímavé přístupy k BFT a jistě povzbuzují potenciálně zainteresované aplikace k přijetí rozšířených inovativních technologií.