Vysvětlení Blockchainu pomocí hokejových kartiček

Obrázek v intru
tlačítko

Aneb jak vysvětlit základy Blockchainu a Bitcoinu jednoduše!  Protože to je častý problém, se kterým se setkáváme u lidí, kteří této technologii věří, ale zároveň čelí neustálým dotazům svého okolí.

Cca půl roku zpět jsem narazil na velice zajímavý článek (zahraniční), který se snažil Blockchain vysvětlit podobným způsobem a daný styl mě velice oslovil. Proto jsem se rozhodl článek převzít a přetransformovat do našich reálií. Doufám, že vám pomůže pochopit to, v čem tkví výhody této nastupující technologie.

Zavzpomínejme na dětská léta

Představme si na chvilku to, že jsme opět dětmi a sedíme na školním hřišti. Samozřejmě s sebou mám i svou sbírku hokejových kartiček. Protože jako každou přestávku přijde na řadu ostrá bitva v rámci jejich vyměňování. Dám ti dva Jágry za zlatýho Haška v Detroitu!

Řekněme, že se nacházím v situaci, kdy se rozhodnu vyměnit dvě karty v téměř stejné hodnotě. Na této výměně není takřka nic složitého. Já i můj spolužák považujeme tuto výměnu za férovouty my dáš tuhle kartu a já ti dám na oplátku tu svou. Jasně, stručně, jednoduše.

Už je mi 10 roků, takže dokáži tuto „transakci“ vyhodnotit sám a nemusím žádat paní učitelku o to, aby nad výměnou držela dohled. Aby zajistila její hladký průběh. Je jasné kdo vlastní jakou kartičku, jelikož se nacházejí v našich balíčcích karet připravených k výměně. Zároveň je oba můžeme vidět. Jednoduše se shodneme na tom, že výměna proběhla úspěšně.

Jo, tohle bylo extrémně přímočaré. Oba jsme dostali kartičku, o kterou jsme stáli a na které jsme se dohodli. Žádné slzy, žádná nevraživost.

Výměna digitálních hokejových kartiček

Teď si představme, že by tato naprosto shodná výměna proběhla ve „virtuálním světě„, kdybychom hokejové kartičky sbírali v digitální podobě.

Představme si, že vlastním tu nejvzácnější hokejovou kartičku, kterou lze vůbec vlastnit. Je jediná na světě. Z nějakého důvodu ji však chci se svým kamarádem vyměnit.

Jak si může být jist, že si neudělám její kopii před tím, než mu ji pošlu? Však je to digitální kartička. Neztratí tím svoji hodnotu? Co když si udělám 1000 kopií a všechny je prodám s tím, že se jedná o jediný exemplář na světě? Není možné zaručit to, že podobnou „levou“ neudělám. Jasně, nakonec by to poškodilo mě, ale zároveň i celou sběratelskou komunitu a tato karta by se stala bezcenou (už by nebyla jedinečná, vznikl by tzv. Oversupply, nadměrná zásoba kartiček na trhu).

Tento problém má ve skutečnosti své pojmenování – Problém dvojího utrácení (the double-spending problem). Pokud směňuji digitální zboží, jak zaručím, že jej neprodávám dvěma uživatelům zároveň? Jak zaručím, že hokejovou kartičku, kterou posílám kamarádovi, souběžně neprodávám i spolužákovi z vedlejší 5. B?

Můžeme použít jakousi účetní knihu (Ledger), která zaznamená naší výměnu. Předpokládejme, že existuje pouze jeden vydavatel hokejových kartiček. Ten by musel mít kontrolu nad touto účetní knihou, aby dokázal zaznamenávat veškeré výměny tak, aby nikdo nemohl kartičky duplikovat.

Tento způsob by byl funkční, ale má jeden zásadní problém. V naší výměně už figuruje prostředník. Aby mohla naše transakce proběhnout, musí ji dokončit/potvrdit samotný vydavatel. Už to tedy nejsem já, sedící na školním dvorku, vyměňující kartičku s mým kamarádem. Musíme věřit třetí straně, věřit účetní knize, kterou obhospodařuje. Jak ale zaručíme to, že tento vydavatel sám není nepoctivý? Však jeho zaměstnanec může sám udělat kopii a „na tajňačku“ ji poslat svému malému bráchovi.

Znovu. Nemůžeme si být 100% jistí, že někdo neovlivnil záznamy v účetní knize.

Co když má situace řešení? Co kdyby tato účetní kniha (Ledger) nebyla nainstalována pouze v jednom počítači vydavatele kartiček, ale kdybychom kopii této knihy zpřístupnili/dali každému z těch, kdo vlastní a vyměňuje hokejové kartičky? 

Nadhoďme situaci, že existují statisíce, možná miliony podobných nadšenců jako jsme já, kteří sbírají a vyměňují hokejové kartičky. Pokud by tedy každý měl přístup a držel kopii této účetní knihy, tak by zároveň viděl a byl notifikován o tom, že jsme právě poslal svému kamarádovi tuto vzácnou kartičku. Celá síť by tak reflektovala to, že existuje pouze jedna taková karta. Pokud bych si tedy potají vytvořil kopii a snažil se ji držet na svém účtu, ovlivnil bych tím i svou účetní knihu, která by se neshodovala s těmi ostatními, které vlastní miliony lidí po celém světě. Tím pádem by pokus o případnou transakci byl odmítnut.

Zásadní otázka: Jak by ale celá síť dokázala verifikovat naší výměnu?

Tady to začíná být trošku komplikovanější. Řekněme, že máme pouze 1000 zapojených počítačů, na kterých je daná účetní kniha, máme tedy síť, ve které jsou vidět všechny výměny hokejových kartiček. Můžeme jim říkat „nodes“ (uzel). Máme tedy 1000 nodes (uzlů). Všechny tyto uzly vlastní kopii účetní knihy a na všech běží software, který je zdarma a umožňuje jim komunikovat mezi sebou. Všech 1000 počítačů spolu tedy vzájemně může komunikovat s cílem nezávisle validovat jednotlivé výměny hokejových kartiček.

Tyto uzly musí jednotlivě odsouhlasit záznam o naší výměně, který je uveden v účetní knize. Pokud tedy budu zmiňovanou vzácnou kartičku posílat mému kamarádovi, umístí se tato výměna do prozatimního „poolu“ aktuálně nepotvrzených výměn, kde bude čekat na schválení. V tuto chvíli několik ze zmiňovaných 1000 uzlů začne pracovat na validaci této transakce ve stanoveném čase (dejme tomu, že se jedná o 10 minut).

V blockchainu se těmto uzlům říká miners, tedy těžaři. Tito těžaři mezi sebou závodí v tom, kdo zvaliduje určitý balík výměn (blok transakcí) jako první. Protože ten, kdo zvaliduje daný balík výměn jako první, získá odměnu v podobě několika hokejových kartiček. Historie těchto výměn se zaznamenává v řetězci dat, které se následně zapečetí (digitálním podpisem) v daném bloku a tím začíná závod o validaci dalších výměn. Řetězec je v angličtině chain – odtud tedy BlockChain. Možná by to šlo zjednodušeně prezentovat i na papírové účetní knize (kdyby šla tedy sdílet v přesné kopii). Kupa účetních by soutěžila v tom, kdo první zaplní jednu stránku této knihy na základě dokladů, které má k dispozici. Jakmile někdo dokončí stránku, dostane odměnu. Poté všichni ověří správnost a začínají pracovat na nové stránce. 

Teď ale k tomu, jaká vede cesta k prvenství v rámci validace jednotlivých bloků. V rámci daného počítače/uzlu se musí provádět velice náročná kryptografická operace, která zatěžuje výkon daného počítače. Ten musí být tedy řádně „nabušený“, aby dokázal svým výkonem operaci vyřešit. Celá síť tlačí na jednotlivé těžaře tak, aby byl výpočet co nejtěžší a nejrychlejší, což způsobuje to, že je takřka nemožné v rámci validace podvádět. Bylo by extrémně finanční náročné účetní kniho podvrhnout, což se těžařům nevyplatí. Je pro ně mnohem výhodnější validovat reálné transakce, směřovat veškerý výkon k vyřešení dané operace tak, aby uzavřeli blok jako první a získali tím odměnu.

Jakmile těžař vyřeší veškeré operace a uzavře blok těchto transakcí, je celá sít těžařů informována a celý blok je rozdistribuován všem tak, aby měli stejnou verzi účetní knihy. Těžař, který vyřeší operaci a uzavře blok, obdrží jako odměnu sbírku hokejových kartiček. 

Každopádně zde ale funguje i obraný mechanizmus. Těžaři si navzájem nedůvěřují, respektive zde platí pravidlo – Důvěřuj, ale prověřuj. Pokaždé, když je „vytěžen“ jednotlivý blok, každý z těžařů v síti prochází veškeré uložené transakce a zkoumá, zda nějaká kartička nepodléhá tzv. problému dvojího utrácení. Takto celá síť následně dojde ke shodě.

Co když chci svou digitální kartičku směnit za něco z reálného světa?

Co kdybych si za svou vzácnou kartičku Jágra chtěl objednat oběd v nejlepší restauraci v mém okolí? Přijdu do restaurace, kde nemají problém s tím, abych jim zaplatil digitální kartičkou, potvrdím výměnu, ale obratem se pokusím o opětovné odeslání digitální kartičky zpět do mé sbírky. Tím pádem byl naplněn problém dvojího utrácení. A) odeslání z mé sbírky do sbírky majitele restaurace B) zpětné zaslání. V taktovém případě síť neví, jaká z těchto transakcí je ta správná, legální.

Obě jsou v „poolu“ prozatím nepotvrzených transakcí, ze kterých se těžaři snaží operace validovat chronologicky. Tudíž jste jako majitel restaurace v pohodě. Ve výjimečných případech se ale může stát, že se nejprve zvaliduje operace B (zejména pokud proběhne takřka v totožném čase). V tom případě by ta původní (A) brala jako ilegální.

Co ale udělat pro to, aby nedošlo k situaci, že restauratér přijde o oběd i o kartičku? Stačí počkat (například výše uvedených 10 minut). Jakmile půjdu jako zákazník do restaurace, domluvím se, že za oběd zaplatím kartičkou Jágra v digitální podobě, restauratér to přijme, provedu transakci a následně stačí opravdu ze strany restauratéra nevydávat jídlo dříve, než bude transakce schválená (tzn. do 10 minut).

Já obdržím výborný oběd, majitel restaurace svou kartičku. Svět je v pořádku. 

Ano, 10 minut se může zdát u Bitcoinu jako „věčnost“, ale existuje i řada dalších projektů, kde schvalování transakce probíhá takřka instantně. Bitcoin byl však první, má největší autoritu a celkově do budoucna bude sloužit především pro transport velkých transakcí nebo v něm budou uživatelé uchovávat a zhodnocovat své peníze (něco jako dnešní zlato). Výhodou mohou být například i poplatky za tyto velké transakce (před nedávnem uživatel přesouval Bitcoin v hodnotě více než 100 milionů dolarů s poplatkem pár dolarů).

Ochrana pravidel

Co se stane v situaci, kdy se rozhodnu, že chci být chamtivý a rozhodně nechci hrát podle pravidel. Co mě zastaví od toho, abych „prolistoval“ účetní knihu o pár „stránek“ (bloků) zpět a neodstranil původní transakci tak, abych mohl dostat víc obědů „zadarmo“?

Všechny výměny/transakce jsou ukládány v jednotlivých blocích, které na sebe lineárně navazují. V době, kdy bych chtěl změnit svou transakci, tak její blok najdu schován např. za již 10 dalšími bloky

Pamatujete si na digitální podpis, který je navázán na každý dokončený blok? Ten je generován na základě informací, které blok obsahuje. Změnou informací by se tedy provedla i změna digitálního podpisu. A nejen to, každý podpis následujícího bloku by se změnil také. Takže bych musel najednou řešit to, jak „upravit“ podpis nejen na jednom, ale například na 10-ti blocích v řetězci.

A co víc, dalším faktem, co mi ztíží zametení stop po mém podvodu je to, že veškeré úpravy dělám ve své kopii účetní knihy. Všechny ostatní knihy v síti již souhlasily a zvalidovaly transakci, která již proběhla. Abych tedy mohl ovlivnit celou sít, musel bych změnu provést na více než 50% všech uzlů. Musel bych mít tedy výkon více než 50% těžařů, abych dokázal změnit i pouze jedinou transakci.

O jakém výkonu se tu bavíme? Desítky skladů plných počítačů vyskládaných až po strop, které poběží na maximální výkon 24/7. Kvůli tomu, abych si mohl dát další oběd zdarma.

Závěr

No a právě takhle byl vytvořen Blockchain a takhle fungují transakce v rámci Bitcoinu a dalších měn. Vznikla otevřená, decentralizovaná, transparentní, odolná digitální síť, sloužící pro obchodování s cenými aktivy. 

Síla Blockchainu, ať už se bavíme o Bitcoinu nebo dalších altecoinech (Bitcoin first!), je v tom, že se na ní podílí všichni, kdo jsou do sítě zapojeni. Nepotřebujete další prostředníky, přístup k vašim aktivům máte kdekoli na světě, nejste závislí na státním aparátu, regulátorech atp. A ač je Bitcoin volatilní, tak jde jeho hodnota z dlouhodobého pohledu stále jen nahoru a bude stoupat (má totiž omezený počet, který jde vytěžit).

Nenechte se zmást nejčastějšími argumenty proti Blockchainu. Že za Bitcoin nikdo neručí, že není vyvážen žádnou reálnou hodnotou, že je vše virtuální, že se přes něj jen perou špinavé peníze. Procentuální rozdíl v používání dolaru a bitcoinu k nelegálním aktivitám je obrovský! Každý kartel světa obchoduje v dolarech… Bitcoin není ničím vyvážený? A čím jsou vyvážené naše stávající peníze? Ať už jde o českou korunu, dolar, euro? Ničím, už dávno neplatí to, že byly vyváženy zlatem. Vše je virtuální? A jak jsou na tom vaše stávající peníze? Nikdo za něj neručí? Ano, byl vytvořen několika vědci, není znám autor (známe jen pseudonym Satoshi Nakamoto), původní peněženky jsou neaktivní. Bitcoin tedy nikdo neovlivňuje svrchu, řídí se sám tím, jak jej směruje jeho síť  – my všichni.

Gratuluji pokud jste dočetli až sem, nyní víte o blockchainu víc, než 95% populace. Je jen na vás, zda s tím něco budete dělat.

 

Zbývá jediné. Pojďme spojit síly.