Úvod

Vzhledem k tomu, že bitcoin byl poprvé představen jako elektronický hotovostní systém v roce 2008; mnoho dalších měn bylo vytvořeno později, každá s jejich vlastními jedinečnými mechanismy. Jedna věc, kterou však mají téměř všechny digitální měny společné, je jejich základní architektonický prvek, a to technologie Blockchain.

Až na několik výjimek je blockchain navržen tak, aby byl decentralizovaný, funguje jako digitální účetní kniha spravovaná decentralizovanou sítí počítačových uzlů. Díky tomu technologie blockchain umožňuje vytvoření nedůvěryhodného ekonomického systému, kde může docházet k transparentnosti a spolehlivosti finančních transakcí bez potřeby prostředníka. Digitální měny budou přijaty jako platební alternativa, která nahradí banky a tradiční platební systémy, které silně spoléhají na důvěru.

Stejně jako u většiny distribuovaných počítačových systémů se účastníci sítě digitální měny musí pravidelně shodovat na aktuálním stavu blockchainu, a tomu říkáme dosažení konsenzu. Dosažení konsenzu v distribuované síti čestným a bezpečným způsobem je však velmi obtížné.

Jak se tedy síť distribuovaných počítačových uzlů dohodne na rozhodnutí? Pokud některé uzly mohou selhat nebo se chovat nečestně? To je základní otázka zvaná obecný byzantský problém, která dala vzniknout konceptu nazvanému Byzantská odolnost proti chybám.


Je to běžný byzantský problém?

Stručně řečeno, byzantský obecný problém se zrodil v roce 1982 jako logické dilema ilustrující, jak by skupina byzantských generálů mohla mít problémy s komunikací, aby se dohodli na svém dalším postupu.

Toto dilema předpokládá, že každý generál má svou vlastní armádu a každá skupina je umístěna na jiném místě ve městě, na které chtějí zaútočit. Generálové se potřebovali dohodnout, zda zaútočí nebo ustoupí. Nešlo o to, zda zaútočí nebo ustoupí, pokud generálové dosáhnou konsensu, například: dohodnou se na rozhodnutí, které bude provedeno podle rozkazů.


Proto je třeba určit několik věcí:

  • Každý generál se musí rozhodnout; zda zaútočit nebo ustoupit (ano nebo ne);

  • Jakmile je učiněno každé rozhodnutí, nelze je změnit;

  • Každý generál musí souhlasit se stejným rozhodnutím a provést je v rámci stanovených pravidel současně.

Výše popsané komunikační problémy souvisejí s tím, že jeden generál může komunikovat s druhým pouze prostřednictvím zpráv, které jsou zasílány kurýry. Totéž zpochybňuje obecný byzantský problém, takže doručení zprávy je mírně ztíženo, může být zničeno nebo ztraceno.

Navíc, i když je zpráva úspěšně odeslána, jeden nebo více generálů se může rozhodnout (z jakéhokoli důvodu) jednat zlomyslně a poslat odpověď s cílem zmást ostatní generály, což by mohlo mít za následek selhání útoku.

Pokud toto dilema aplikujeme na blockchainový kontext, každý obecný představuje síťový uzel a tento uzel potřebuje 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 pro tento typ distribuovaného systému, je mít ⅔ nebo více síťových uzlů poctivých a spolehlivých. To může také znamenat, že pokud se většina účastníků sítě rozhodne jednat škodolibě, systém bude vysoce zranitelný vůči selháním a útokům (jako je 51% útok).


Byzantská odolnost proti chybám (BFT)

Jinými slovy, Byzantine Fault Tolerance je vlastnost systému, který dokáže odvrátit selhání způsobené dilematem byzantského společného problému. To může také znamenat, že systém BFT může pokračovat v provozu, i když některé uzly selžou nebo se chovají nesprávně.

Existuje několik řešení obecného byzantského problému a existuje také několik způsobů, jak vybudovat systém BFT. Kromě toho existuje několik přístupů k blockchainu, které mohou dosáhnout BFT, a to nás přivede ke konsensuálním algoritmům.


Blockchain Consensus Algorithm

Algoritmus konsenzu můžeme definovat jako mechanismus, kterým blockchainová síť dosahuje konsensu. nejběžnější implementace jsou Proof of Work (PoW) a Proof of Stake (PoS). ale vezměme si bitcoin jako příklad.

Protokol bitcoinů definuje hlavní pravidla pro systém bitcoinů a je to algoritmus konsenzu PoW, který určuje, jak jsou tato pravidla dodržována k dosažení konsenzu (například při ověřování a ověřování transakcí).

Přestože koncept Proof of Work je starší než jiné digitální měny, Satoshi Nakamoto vyvinul upravenou verzi jako algoritmus, který umožňuje použití procesu vytváření bitcoinů jako systému BFT.

Je třeba poznamenat, že algoritmus PoW není 100% tolerantní k byzantským chybám, ale díky velmi nákladnému procesu těžby a základním kryptografickým technikám se PoW osvědčil jako nejbezpečnější a nejspolehlivější implementace blockchainové sítě. V tomto případě je konsenzuální algoritmus Proof of Work navržený Satoshi Nakamotem mnohými lidmi považován za geniální řešení byzantské chyby.


Závěr

Byzantský obecný problém je zajímavé dilema, které nakonec dalo vzniknout systému BFT, který je široce používán v mnoha scénářích. Kromě blockchainového průmyslu se systémy BFT používají také v mnoha dalších odvětvích, jako je letectví, vesmír a jaderná energetika.

V kontextu digitálních měn je efektivní síťová komunikace spolu s dobrým mechanismem konsenzu velmi důležitá pro jakýkoli blockchainový ekosystém. Zabezpečení těchto systémů je nikdy nekončící úsilí a současné konsensuální algoritmy musí ještě překonat některá omezení, kterým stále čelí (jako je škálování). I tak jsou PoW a PoS přístupem, který není o nic méně zajímavý než systémy BFT, a jejich potenciální aplikace inspirují rozsáhlé inovace.