Od vytvoření bitcoinu v roce 2008 jako peer-to-peer elektronického platebního systému bylo vytvořeno mnoho dalších kryptoměn, z nichž každá má zvláštní provozní mechanismus. Ale jedna věc, kterou mají téměř všechny kryptoměny společnou, je blockchain, ústřední prvek jejich architektury.
Až na několik výjimek jsou blockchainy záměrně navrženy tak, aby byly decentralizované a fungovaly jako digitální účetní kniha spravovaná distribuovanou sítí počítačových uzlů. V této souvislosti umožnila technologie blockchain vytvoření ekonomických systémů bez potřeby důvěry, ve kterých by bylo možné provádět transparentní a spolehlivé finanční transakce bez použití zprostředkovatelů. Kryptoměny jsou přijímány jako životaschopná alternativa k tradičním bankovním a platebním systémům, které do značné míry spoléhají na důvěru.
Stejně jako většina distribuovaných výpočetních systémů se účastníci kryptoměnové sítě musí velmi pravidelně shodnout na stavu blockchainu, tomu se říká dosažení konsenzu. Dosažení konsensu napříč distribuovanými sítěmi bezpečným a spolehlivým způsobem však zdaleka není snadný úkol.
Jak se tedy může distribuovaná síť počítačových uzlů dohodnout na rozhodnutí, pokud některý z uzlů pravděpodobně selže nebo bude jednat nečestně? To je základní otázka tzv. problému byzantských generálů, který dal vzniknout konceptu byzantské tolerance chyb.
Co je špatného na byzantských generálech?
Jednoduše řečeno, problém byzantských generálů byl pojat v roce 1982 jako logické dilema, které popisuje, jak může mít skupina byzantských generálů problémy s komunikací, když se snaží dohodnout na svém dalším strategickém kroku.
Dilema předpokládá, že každý generál má svou vlastní armádu a že každá ozbrojená skupina se nachází na různých místech kolem města, které chtějí obléhat. Generálové musí souhlasit s útokem nebo ústupem. Ať už zaútočí nebo ustoupí, všichni generálové musí dosáhnout konsensu, to znamená dohodnout se na společném rozhodnutí, aby jej mohli koordinovaně provést.
Můžeme tedy zvážit následující cíle:
Každý generál se musí rozhodnout: útok nebo ústup (ano nebo ne);
Jakmile je rozhodnutí učiněno, nelze jej změnit.
Všichni generálové se musí dohodnout na stejném rozhodnutí a provést je synchronizovaně.
Výše uvedené komunikační problémy jsou spojeny se skutečností, že jeden generál může komunikovat s druhým pouze prostřednictvím zpráv, které jsou přenášeny vyslancem. Ústřední výzvou problému byzantských generálů je proto toto: zprávy mohou být zpožděny, zničeny nebo ztraceny.
Navíc, i když je zpráva úspěšně doručena, jeden nebo více generálů se může rozhodnout (z jakéhokoli důvodu) jednat zlomyslně a poslat podvodnou zprávu, aby zmátl ostatní generály, což má za následek úplné selhání.
Pokud aplikujeme dilema na kontext blockchainů, každý generál představuje síťový uzel a uzly musí dosáhnout konsensu o aktuálním 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ň ⅔ spolehlivých a poctivých síťových uzlů. To znamená, že pokud se většina sítě rozhodne jednat zlomyslně, systém je náchylný k selháním a útokům (jako 51% útok).
Byzantská odolnost proti chybám (BFT)
Stručně řečeno, Byzantine Fault Tolerance (BFT) charakterizuje systém schopný odolat řadě chyb odvozených z problému byzantských generálů. To znamená, že systém BFT je schopen pokračovat v provozu, i když některé z uzlů selžou nebo jednají zlomyslně.
Existuje více než jedno možné řešení problému byzantských generálů, a proto existuje několik způsobů, jak sestavit systém BFT. Podobně existují různé přístupy pro blockchain k dosažení byzantské odolnosti proti chybám, což nás vede ke konsensuálním algoritmům.
Blockchainové konsensuální algoritmy
Algoritmus konsenzu můžeme definovat jako mechanismus, kterým blockchainová síť dosahuje konsensu. Nejběžnější implementace jsou proof of work a proof of stake. Ale vezměme si jako příklad případ Bitcoinu.
Zatímco bitcoinový protokol předepisuje hlavní pravidla systému, je to algoritmus konsenzu PoW, který definuje, jak budou tato pravidla dodržována, aby bylo dosaženo konsensu (například při ověřování a ověřování transakcí).
Přestože koncept důkazu práce je starší než kryptoměny, Satoshi Nakamoto vyvinul jeho upravenou verzi jako BFT algoritmus a systém, který umožnil vytvoření bitcoinu.
Všimněte si, ž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ázalo jako jedna z nejbezpečnějších a spolehlivějších implementací pro blockchainové sítě. V tomto smyslu je konsenzuální algoritmus Proof of Work, navržený Satoshi Nakamotem, mnohými považován za jedno z nejrelevantně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 BFT, které jsou široce používány v různých scénářích. Kromě blockchainového sektoru některé případy použití systémů BFT zahrnují letectví, vesmír a jadernou energetiku.
V kontextu kryptoměny je efektivní síťová komunikace spojená s dobrým mechanismem konsenzu zásadní pro jakýkoli blockchainový ekosystém. Zabezpečení těchto systémů je neustálým úsilím a stávající konsensuální algoritmy musí stále překonávat některá omezení (jako je škálovatelnost). Nicméně PoW a PoS jsou velmi zajímavé přístupy jako BFT systémy a jejich potenciální aplikace jistě vyžadují rozsáhlé inovace.

