Od zrodu Bitcoinu jako peer-to-peer elektronického hotovostního systému v roce 2008 postupně vzniklo mnoho dalších digitálních měn a každá digitální měna má svůj specifický mechanismus. Ale téměř všechny digitální měny mají jedno společné, a to je základní architektura blockchainu.

Ve většině případů jsou blockchainy navrženy jako decentralizované elektronické účetní knihy spravované distribuovanou sítí uzlů. Blockchainové systémy proto umožňují provádět finanční transakce zcela transparentně a spolehlivě bez prostředníků. Digitální měny postupně nahrazují tradiční bankovní platební systémy, které vyžadují vysokou důvěryhodnost.

Stejně jako u většiny distribuovaných počítačových systémů musí účastníci sítě digitální měny pravidelně diskutovat a dohodnout se na aktuálním stavu blockchainu. Tomu říkáme konsensus. Dosažení konsensu bezpečným a efektivním způsobem v distribuované síti však není snadný úkol.

Jak se tedy může distribuovaná síť počítačových uzlů dohodnout na rozhodnutích v situacích, kdy některé uzly mohou selhat nebo se chovat nečestně? To je kořen takzvaného problému byzantských generálů, který dal vzniknout konceptu byzantské tolerance chyb.


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

Jednoduše řečeno, v roce 1982 byl problém byzantských generálů považován za logické dilema, které ilustrovalo komunikační problémy, které mohla mít skupina byzantských generálů, když se pokoušela dohodnout na jednotném názoru na jejich další postup.

Dilema předpokládá, že každý generál má svou vlastní armádu, každou umístěnou na jiném místě v okolí města, na které hodlají zaútočit. Tito generálové se musí dohodnout, zda zaútočit nebo ustoupit. Nezáleží na tom, zda jde o útok nebo ústup, pokud všichni generálové dosáhnou konsensu, tedy koordinují a rozhodnou se jej provést společně.

Můžeme tedy zvážit následující podmínky:

  • 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 na jednotném rozhodnutí a provést je současně.


Výše uvedený komunikační problém zahrnuje skutečnost, že jeden generál může komunikovat s druhým generálem pouze prostřednictvím zpráv zasílaných zpravodajskými agenty. Proto hlavní výzvou problému byzantských generálů je, že informace mohou být nějakým způsobem zpožděny, poškozeny nebo ztraceny.

Navíc, i když je zpráva úspěšně doručena, jeden nebo více generálů se může rozhodnout jednat zlomyslně (z jakéhokoli důvodu) a posílat podvodné zprávy, aby zmátli ostatní generály, což způsobí selhání operace.

Pokud toto dilema namapujeme na blockchain, každý generál představuje síťový uzel a uzly potřebují 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 stejné akce, aby se zabránilo selhání.

Jediným způsobem, jak dosáhnout konsensu v těchto typech distribuovaných systémů, je proto mít alespoň dvě třetiny síťových uzlů, které jsou spolehlivé a poctivé. To znamená, že systém je zranitelný vůči selháním a útokům (jako je 51 % útoků), pokud se většina uzlů v síti rozhodne jednat zlomyslně.


Byzantská odolnost proti chybám (BFT)

Jednoduše řečeno, Byzantine Fault Tolerance (BFT) je systémová vlastnost, která dokáže odolat řadě selhání způsobených problémem byzantských generálů. To znamená, že byzantský systém odolný proti chybám může pokračovat v provozu, i když některé uzly selžou nebo se budou chovat zlomyslně.

Existuje mnoho možných řešení problému byzantských generálů, a proto existuje mnoho způsobů, jak vybudovat byzantský systém odolný proti chybám. Stejně tak blockchainy mají různé způsoby, jak dosáhnout byzantské odolnosti proti chybám, což nazýváme konsensuální algoritmy.


Blockchain konsensuální algoritmus

Algoritmus konsensu můžeme definovat jako mechanismus, kterým blockchainová síť dosahuje konsensu. Nejběžnějšími příklady jsou Proof of Work (PoW) a Proof of Stake (PoS). Zde si vezmeme bitcoin jako příklad.

Bitcoinový protokol stanoví hlavní pravidla systému a algoritmus proof-of-work konsenzu vysvětluje, 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 důkazu práce předchází digitální měně, Satoshi Nakamoto upravil původní verzi a vyvinul vylepšený algoritmus důkazu práce, který dokáže generovat bitcoiny jako byzantský systém odolný proti chybám.

Vezměte prosím na vědomí, že tento algoritmus proof-of-work není plně odolný vůči byzantským chybám, ale vzhledem k vysoce nákladnému procesu těžby a základní šifrovací technologii se proof-of-work ukázalo jako jedna z nejbezpečnějších a nejspolehlivějších metod v blockchainové sítě. V tomto smyslu je algoritmus proof-of-work konsensus navržený Satoshi Nakamotem mnohými považován za jedno z nejsofistikovanějších řešení byzantské odolnosti proti chybám.

na závěr

Problém byzantských generálů je zajímavé dilema, které nakonec dalo vzniknout byzantským systémům odolným proti chybám, které jsou široce používány v různých scénářích. Kromě blockchainového průmyslu zahrnují některé případy použití systémů byzantské odolnosti proti chybám také letectví, kosmonautiku a jadernou energetiku.

V oblasti digitální měny je efektivní síťová komunikace a dobrý mechanismus konsensu zásadní pro jakýkoli blockchainový ekosystém. Zabezpečení těchto systémů vyžaduje neustálé úsilí a existují omezení (jako je škálovatelnost), která stávající konsensuální algoritmy nebyly schopny překonat. Nicméně proof-of-work a proof-of-stake jsou efektivní metody pro byzantské systémy odolné proti chybám a jejich potenciální aplikace budou inspirovat další inovace.