Problém byzantských generálov

Počas celej histórie ľudia používali účtovné knihy na zaznamenávanie rôznych ekonomických transakcií a majetku. Hlavná účtovná kniha slúži na všetky účtovné záznamy. Tieto záznamy sa v minulosti zaznamenávali rôznymi spôsobmi, ako napríklad do kameňa, dreva, či na pergamen. V súčasnej dobe sa účtovné transakcie zaznamenávajú prostredníctvom softvéru. Zdieľané účtovné knihy začala používať cirkev v roku 1538 pri vedení svojich účtovných záznamov.  Prvé účtovné knihy sú známe z čias Mezopotámie, kde obyvatelia používali jednoduché účtovníctvo, avšak veľa vecí a záznamov bolo zložitých. Tieto účtovné knihy vo svojej podstate zodpovedali za veci, majetok a peniaze. Pri jednoduchej účtovnej knihe stačí, aby niekto odstránil jeden riadok, alebo niekoľko riadkov záznamu a finančné prostriedky by zo záznamov jednoducho zmizli.

Moderný finančný systém je založený na systéme podvojného účtovníctva. Systémy podvojného účtovníctva vznikali, pretože obchod sa postupne zväčšoval a prekonával hranice. Ľudia teda potrebovali spôsob, ako viesť záznamy, ktoré by boli oveľa dôveryhodnejšie, ako účtovné knihy jednoduchého účtovníctva.

Podvojné účtovníctvo nemusí byť nevyhnutne transparentné a tieto typy účtovných kníh môžu byť súkromné ​​alebo takzvane otvorené. Pokiaľ ide o zisťovanie chýb, podvodov a finančnú realitu, tak tento systém je oveľa prehľadnejší ako u jednoduchého účtovníctva.

Systém podvojného účtovníctva teda umožňuje účtovnej jednotke zaznamenať všetko to, čo kto dlhuje alebo vlastní. Podvojné účtovníctvo vedie záznam o tom, čo účtovná jednotka spotrebovala a čo zarobila. Tento systém má tradične dve stránky, ktoré sa často nazývajú „debetné“ a „kreditné“. Ľudia často používajú ľavú stranu pre debetné vstupy a pravú pre kredit. Mnoho matematikov a ekonómov však vie, že so systémom podvojného účtovníctva sa dá manipulovať. Jedným z najväčších problémov systému podvojného účtovníctva je dôvera v človeka - účtovníka. V dnešnom svete menového financovania sa systémy podvojného účtovníctva používajú pravidelne, ale svetové centrálne banky nie sú ani zďaleka transparentné, sú skôr zahmlené a bežný človek nemá k týmto údajom prístup.

Problémom byzantských generálov je v podstate alegória v oblasti informatiky, ktorá rozpráva príbeh dvoch alebo viacerých generálov, kde sa predpokladá, že každý generál má vlastnú armádu a každá skupina sa nachádza na rôznych miestach v okolí mesta, na ktoré má v úmysle zaútočiť. Generáli sa musia dohodnúť buď na útoku, alebo na ústupe. Nezáleží na tom, či zaútočia alebo ustúpia, pokiaľ všetci generáli dosiahnu konsenzus. To znamená, že sa dohodnú na spoločnom rozhodnutí, aby ho vykonali koordinovane. V tejto dileme je potrebné zvážiť to, či  sa každý z generálov rozhodne zaútočiť, alebo ustúpiť (teda rozhodnutie medzi „áno“ a „nie“). Toto rozhodnutie nie je možné následne zmeniť a rozhodnutie musia následne vykonať synchronizovane.

Títo dvaja, alebo viacerí generáli však navzájom vedia komunikovať iba prostredníctvom poslov, ktorí musia prejsť „cez nepriateľskú líniu“. Problémom byzantských generálov je teda schopnosť, alebo neschopnosť, či prípadne nutnosť dôverovať poslovi, ktorý správu nesie. Problémom je, že správa nemusí byť platná, nemusí byť pravdivá, správa sa môže oneskoriť, stratiť, zničiť, alebo sfalšovať. Ďalším problémom je, že aj keď je správa doručená, tak jeden alebo viacerí z generálov sa môžu rozhodnúť konať zámerne škodlivo tak, aby zmiatli ostatných generálov.

V blockchainovej sieti je každý jeden uzol považovaný za generála a tieto uzly musia dosiahnuť dohodu (konsenzus). Inak povedané, aby sa zabránilo zlyhaniu v distribuovanej sieti, tak väčšina účastníkov musí vykonať akciu rovnako, alebo sa všetci musia rovnako súhlasne vyjadriť. Aby spoľahlivosť uzlov bola dosiahnutá, tak je potrebné dosiahnuť aspoň dvojtretinový konsenzus alebo prípadne väčší. Tým sa zabezpečí, aby nedošlo k zlyhaniu siete napríklad 51%-ným útokom.

V zásade platí, že keď sa distribuovaná účtovná kniha zdieľa medzi počítačovými systémami, tak ľudia nemôžu v podstate veriť žiadnemu z uzlov. Nemôžu vedieť, že ktorý systém alebo server (uzol) sú dôveryhodné, ktoré sú škodlivé, ktoré fungujú a ktoré nie. V roku 2008 Satoshi Nakamoto v podstate vyriešil neslávne známy výpočtový problém, ktorý sa nazýva ako „problém byzantských generálov“ alebo „byzantský zlom“. Byzantská tolerancia chýb je vlastnosťou systému, ktorý je schopný odolávať zlyhaniam, ktoré sú odvodené z problému byzantských generálov. To znamená, že systém je schopný s byzantskou toleranciou chýb schopný fungovať ďalej, aj keď niektoré uzly zlyhajú alebo pôsobia škodlivo. 

Existujú rôzne prístupy blockchainu na dosiahnutie byzantskej tolerancie chýb. Tieto dohody sú riešené takzvaným algoritmickým konsenzom. Najznámejší konsenzus je Proof of Work (PoW).

Proof of Work (PoW) je systém na základe, ktorého sa blockchain manažuje. Overovanie a pridávanie transakcie do blockchainu prebieha takzvaným ťažením, na ktoré je potrebný veľký výpočtový výkon. Preto sa tento konsenzus nazýva ako dôkaz prácou (angl. Proof of Work).

Samozrejme existujú aj iné spôsoby algoritmického konsenzu, ako napríklad a Proof of Stake, Proof of History, Proof of Authority a pod.

Satoshi Nakamoto prišiel so systémom elektronickej hotovosti, ktorý je plne rovnocenný medzi dvoma stranami (angl. peer-to-peer) a nemá dôveryhodnú tretiu stranu, ktorá by musela transakciu overiť. Účastníci transakcie môžu byť anonymní. Nové mince sú generované zo systému konsenzu „Proof of Stake“. Konsenzus zároveň bráni tomu, aby došlo k dvojitej útrate, keďže v digitálnom svete je možné originál skopírovať a nikto následne nevie, kto má kópiu a kto originál. To znamená, že každá transakcia je overená a nesfalšovateľná. Súčasťou zabezpečenia riešenia sú tiež „digitálne podpisy“ a infraštruktúra v systéme účtovníctva pridáva tretí záznam do procesu overovania hlavnej knihy, ktorý je kryptograficky zapečatený.

Výhody podvojného účtovníctva sú obrovské. Ale je to aj koncept, ktorý je svojim spôsobom nedôveryhodný. Aby bola zmiernená nedôveryhodnosť podvojného účtovníctva, tak sa za účelom dosiahnutia transparentnosti využíva audit účtovníctva. Satoshi Nakamoto vyriešil tento problém nedôveryhodnosti a transparentnosti - čiže problém „byzantských generálov“. Tým riešením je reťazec dôkazov o práci, čiže blockchain s konsenzom „Proof of Stake“. Vynálezca Bitcoinu zdôraznil, že „reťazec dôkazov o práci“ je riešením problému synchronizácie a globálneho poznania a to bez toho, aby bolo potrebné dôverovať tretej strane.  Bitcoin je decentralizovaná mena a navyše je pseudoanonymná, čo znamená, že človek môže využiť ľubovoľnú mieru anonymity alebo transparentnosti. Nakamoto tiež vysvetlil základy transparentnosti a ochrany súkromia.

Tradičný bankový model dosahuje úroveň ochrany súkromia obmedzením prístupu k informáciám pre zúčastnené strany tým, že používa dôveryhodnú tretiu stranu. U Bitcoinu sú všetky transakcie zapísané do verejného blockchainu, čím sa svojim spôsobom odstraňuje súkromie. Súkromie je však zachované inak. Anonymizáciu zabezpečujú verejné a súkromné kľúče. Prístup k súkromnému kľúču má len jedna konkrétna osoba, pričom verejný kľúč je viditeľný pre všetkých.  

Nakamoto k tomu povedal: „Verejnosť vidí, že niekto posiela sumu niekomu inému, ale bez informácií, ktoré by transakciu s kýmkoľvek spájali. Je to podobné, ako úroveň informácií zverejňovaných na burzách, kde sa zverejňuje čas a veľkosť jednotlivých obchodov, ale bez toho, aby sa uvádzalo, o koho išlo.“

Satoshi Nakamoto teda priniesol niečo, čo doteraz nebolo a čo bolo takmer nepredstaviteľné....