Bločenka (blockchain) – technologie pravdy

Bločenka (blockchain) – technologie pravdy

Představte si

  • že peníze, které posíláte ze své banky, jsou během minuty v bance na druhém konci světa, v jiné měně, a to celé za poplatek několika eurocentů
  • hlasování v parlamentních volbách do Národní rady SR, které nelze zmanipulovat a jehož konečné výsledky máte bezprostředně po uzavření volebních místností
  • změny v katastru nemovitostí, které dokážete provést z pohodlí domova a projeví se během několika minut s jistotou, že kupujete od skutečného vlastníka
  • smlouvy, u kterých je riziko nezaplacení nebo nedodání zboží nulové
  • pronájem nemovitosti nebo auta pomocí chytrého zámku, který povolí nájemci vstup, pokud platí, nebo mu přístup odepře, pokud nezaplatí (bez nutnosti soudních tahanic, exekuce či asistence policie)
  • domácnosti se solárními panely a bateriovými systémy, které přebytečnou energii prodávají ostatním účastníkům sítě bez komplikovaných formálních smluv a nutnosti platit distributorům energie obrovské poplatky
  • poskytnutí hypotéky bankou na počkání u bankovní přepážky, protože ověření skutečného vlastníka nemovitosti je otázkou okamžiku a stejně rychlé je i prověření vaší platební spolehlivosti
  • sdílenou ekonomiku, která vám umožní půjčit si na ulici jízdní kolo, dojet, kam potřebujete, nechat ho kdekoli a zaplatit drobný poplatek klepnutím na displej mobilního telefonu, aniž byste si museli kupovat vlastní kolo (místo kola si dosaďte auto, smoking, domek na pláži, dětský kočárek, bagr či ponorný vibrátor do betonu)

Technologie blízké budoucnosti

S podobným využitím se již v rozvinutých zemích světa (Austrálie, USA, Belgie, Kanada, Estonsko, Bělorusko, Slovinsko, Rusko) běžně setkáváme díky technologii zvané blockchain (česky bločenka). Banky a pojišťovny, finanční instituce, letecké společnosti, mobilní operátoři, státní organizace, velká nakladatelství, realitní společnosti i podnikatelské start-upy již masivně implementují blockchain do svých produktů s cílem být technologicky na špici a získat výhodnější pozici ještě předtím, než se produkty masově rozšíří do všech oblastí života. Uplatnění této technologie je zatím v plenkách a trochu těžkopádné, ale takové byly zpočátku i jiné vynálezy, jako první mobilní telefony, samotná síť Internet, ovládnutí páry či vynález kola. Díky jednoduchosti, rychlosti, nízkým nákladům, decentralizaci a spravedlivosti kontraktů ji čeká rozvoj a pronikání do každodenního života lidí (podobně jako ony mobilní telefony či pára). Úspěšné příklady z praxe najdete časem v textu níže, nejprve si pojďme říct, co je ta bločenka.

Co je bločenka?

Bločenka (odborně blockchain, nebo jednoduše blockchain) představuje v informatice speciální druh distribuované decentralizované databáze, která uchovává neustále se rozšiřující počet záznamů. Tyto záznamy jsou chráněny před neoprávněnými zásahy jak zvenčí, tak ze strany samotných uzlů sítě peer-to-peer. Nejčastějším uplatněním technologie blockchainu je její použití jako účetní knihy kryptoměn (např. bitcoinu a dalších altcoinů), která uchovává transakce provedené uživateli. Kombinace bločenky s kryptografií umožňuje zajistit atomicitu operací a zabránit neoprávněným transakcím. (Zdroj: Wikipedie)

Jak funguje blockchain?

Blockchain je distribuovaná databáze chráněná šifrováním tak, aby zaručovala bezpečnost informací a chránila je před přístupem a úpravami ze strany nežádoucích třetích stran. Využití bločenkové technologie je neomezené; umožňuje vytvářet bezpečné transakce mezi stranami bez potřeby zprostředkovatele. Odstraněním zprostředkovatelů a režijních nákladů mají technologie blockchainu potenciál výrazně snížit transakční poplatky, zkrátit dobu transakcí z dnů na minuty a zpracovávat je 24 hodin denně.

Řekni, jaká je?

  • levná a rychlá – nevyžaduje centralizované zabezpečené servery a dokáže zaznamenávat obchody v reálném čase, což znamená okamžité převody peněz či aktiv
  • transparentní, ale anonymní – záznamy o převodech si může přečíst každý, kdo má veřejně přístupný klíč (nelze však identifikovat osoby, které peníze převádějí, ani komu je převádějí)
  • bezpečná – šifrování zajišťuje, že obchody mohou provádět pouze autorizovaní účastníci s potřebnými prostředky, přičemž záznamy již nelze zpětně měnit

Bločenka jako sdílená centralizovaná databáze dosud našla své největší uplatnění při zaznamenávání transakcí digitální měny Bitcoin, pro kterou byla navržena. Bitcoin místo jedné centrální databáze ukládá potřebné údaje o transakcích mezi všechny účastníky sítě a každá transakce se uskuteční až tehdy, když ji potvrdí nadpoloviční většina účastníků. V praxi to znamená, že odpadnou obrovské náklady na vedení údajů o uskutečněných transakcích (což ohrozí celou dnešní síť finančních zprostředkovatelů v čele s bankami, ale o tom se podrobněji rozepíšeme později).

Transparentní

Největší předností bločenky je její transparentnost. Data se ukládají do samostatných úložných celků zvaných block. Tyto bloky se ukládají do řetězce jeden za druhým, odtud chain. Blockchain je bezpečný. V případě globální katastrofy bude blockchain fungovat, dokud bude na světě existovat alespoň jeden počítač, na kterém bude tento řetězec uložen. Stovky milionů počítačů, na kterých se ten či onen blockchain nachází, však zajišťují, že taková situace nehrozí. Blockchain lze využít například k elektronickým volbám, důvěryhodnému ukládání katastrálních a matričních informací, registraci vozidel a podobně. (Zdroj: Blockchainslovakia.sk)

Decentralizovaná

Každý uzel v síti decentralizované kryptoměny obsahuje úplnou či částečnou kopii blockchainu. Tím se řeší problém centralizované databáze, kterou používají ostatní technologie, například bankovnictví nebo PayPal. Zatímco běžná účetní kniha pouze pasivně zaznamenává přesuny peněz, bankovních poukázek či příkazů k úhradě, které existují nezávisle na této knize, v případě kryptoměny jsou jednotky měny a blockchain pevně spojeny. Blockchain lze v těchto případech považovat za jediné místo, kde jednotky kryptoměny existují ve formě neutraceného součtu všech transakcí.

Transakce ve formě záznamů „plátce X posílá příjemci Z Y jednotek měny“ se šíří celou sítí pomocí softwarových prostředků a asymetrické kryptografie. Kterýkoli uzel sítě je schopen tuto transakci ověřit, přidat ji do své kopie účetní knihy a předat tyto přírůstky ostatním uzlům.

Trochu více teorie o základním principu blockchainu

Implementace bločenky se skládá ze dvou druhů záznamů: transakcí a bloků. Transakce představují data vložená uživatelem do databáze, zatímco bloky jsou záznamy potvrzující, kdy a jak byla konkrétní transakce do databáze blockchainu přidána. Transakce vytvářejí uživatelé, kteří systém používají jako databázi (v případě kryptoměny jako účetní knihu). Bloky naproti tomu vytvářejí těžaři, kteří používají software či hardware vytvořený specificky pro tvorbu bloků.

Transakce vytvořené uživateli se volně předávají od uzlu k uzlu podle toho, kdo je právě s kým spojen. Definice platné transakce se liší v závislosti na standardu, který implementuje většina uzlů v síti. V případě většiny kryptoměn se za platnou transakci obvykle považuje taková, která má správný elektronický podpis uživatele, utrácí peníze z existující peněženky, k níž uživatel podpisem prokazuje vlastnictví, a zároveň splňuje několik dalších podmínek, například náležitý honorář (fee) pro těžaře nebo uplynutí dostatečné doby od okamžiku, kdy byla zadána poslední transakce s touto jednotkou měny.

Těžařské společnosti se pak snaží vytvořit blok, který tyto transakce potvrzuje a začleňuje do blockchainu. V kryptoměnách založených na Bitcoinu jsou těžaři motivováni k těžbě dvěma druhy odměn: předem stanovenou odměnou za vytěžený blok a transakčními poplatky či honoráři (fee), které jsou vyplaceny kterémukoli těžaři, jenž transakci správně potvrdí.

Hlavní blockchainové protokoly

Poté, co Satoshi Nakamoto v roce 2008 zavedl pojem bitcoin a definoval jej jako nový elektronický a výhradně peer-to-peer hotovostní systém bez potřeby prostředníka (mezi dvěma koncovými uživateli), vzrostl zájem o technologii bitcoinů a bločenkovou technologii. Vývoj bločenkových protokolů pokračuje; vývojáři každý den přicházejí s novějšími, lepšími a bezpečnějšími protokoly, zejména v oblasti bankovnictví a financí. Podívejte se na přehled hlavních blockchainových protokolů.

  • Bitcoin technology stack – decentralizovaný protokol využívaný především prostřednictvím rozšíření o postranní/boční propojení (sidechains) a platební kanály (payment channels), např. Blockstream a Lightning Network.
  • Ethereum platform – v současnosti druhá nejvyužívanější platforma po Bitcoin stacku.
  • Ripple Consensus Network – umožňuje bezproblémové, bezpečné a téměř bezplatné globální finanční transakce jakéhokoli rozsahu. Protokol je již zaveden a dokáže podporovat tokeny představující kryptoměny, fiat měny, komodity i jakoukoli jinou hodnotovou jednotku, například minuty mobilních hovorů, letecké míle atd.
  • Hyperledger (Fabric, Sawtooth Lake) – vznikl jako výsledek významných strategických investic společnosti IBM a mnoha dalších subjektů se záměrem proniknout do stávající zákaznické základny velkých firem.
  • R3 Corda – vertikálně orientovaná blockchainová technologie (společnost R3 dává přednost výrazu „inspirovaná blockchainem“, aby zdůraznila významné rozdíly mezi touto soukromou účetní knihou a veřejnou účetní knihou, kterou je například bitcoinová bločenka).
  • Symbiont Distributed ledger – bezpečná, vysoce výkonná distribuovaná účetní kniha odolná vůči chybám (Byzantine fault-tolerant distributed ledger), která dokáže v lokální síti více uzlů zpracovat současně až 80 000 transakcí za sekundu.
  • Digital Asset – další vertikálně zaměřená bločenková technologie, která se používá především v oblasti finančních služeb.

Nezbytné podmínky úspěšné bločenkové technologie

I když je velmi těžké předvídat případného vítěze mezi bločenkovými protokoly (protože ještě nemusí být na trhu ani ve vývoji), už víme, jak by měl vypadat a jaké charakteristiky by měl mít:

  • Open source, který může kdokoli používat, revidovat i kontrolovat, protože je třeba rozvíjet bohatý a rozmanitý ekosystém bločenkové technologie a urychlit její přijetí a používání prostřednictvím síťového efektu
  • Modulární architektura (modular architecture) s vrstvami programovatelnosti a přizpůsobitelnosti – jak je uvedeno výše, rozvíjí ekosystém a umožňuje přijetí na trhu.
  • Globální rozsah (global scale) – škálovatelnost, výkonnost a efektivita jsou nezbytné, má-li se bločenka stát základem „internetu peněz“.
  • Více implementací základního protokolu – více nezávisle vyvinutých implementací zajišťuje, že je protokol pochopen, dobře definován a odolný vůči možným útokům. To vyžaduje přesnou specifikaci základního protokolu, místo spoléhání se na jedinou nedokumentovanou kódovou základnu.
  • Zodolnění pomocí veřejné bločenky – to je jediný způsob, jak zajistit, aby byl systém bezpečný a „neprůstřelný“, tedy vystavený nejhorším hrozbám otevřeného internetu, jako tomu bylo v případě Bitcoinu či platformy Ethereum.
  • Možnost konfigurace pro nasazení soukromých bloků a podpora důvěrnosti transakcí – protože většina firem nechce, aby jejich transakce viděla konkurence nebo zbytek světa.
  • Funkční řízení – musí existovat soudržná rozhodovací struktura, která dokáže na hrozby pro systém reagovat pružně a koordinovaně.
  • Pokročilé vlastnosti inteligentních smluv (advanced smart contract capability) – protože současná generace technologie inteligentních smluv se opírá o tradiční jazyky (podobné Javě nebo C#), které nejsou vhodné pro přísné požadavky smluv s vysokou hodnotou (a nejlépe je podporují systémy založené na metadatech nebo matematicky ověřitelném programování).
  • Adekvátní nástroje pro vývoj, ladění, nasazování, monitorování a řízení systémů založených na inteligentních smlouvách (jejichž důležitost zdůraznily například útoky typu odepření služby v síti Ethereum).

Výhody bločenkové technologie

Prostřednictvím kryptoměny můžete převést tisíce eur z jedné země do druhé prakticky okamžitě a s poplatkem nižším než 5 eurocentů. Ve srovnání s platbou bankovním převodem budete muset čekat celý den a zaplatíte poplatek někdy až ve výši 3 % z částky převodu (jde-li o zahraniční platbu). Banka navíc zaznamená, že dochází k převodu peněz, zatímco u kryptoměny nad takovou transakcí žádný dohled nemá. Mezi hlavní výhody blockchainu tedy patří:

  • schopnost velkého počtu uzlů dospět ke shodě ohledně nejaktuálnějšího stavu velkého množství dat, například záznamů v účetní knize. To platí i v případě, že jsou jednotlivé uzly anonymní, připojené navzájem přes nespolehlivé spojení nebo je provozují podvodníci, kteří se snaží upravovat transakce ve svůj prospěch
  • schopnost kteréhokoli uzlu s přijatelnou mírou jistoty rozhodnout, zda zadaná transakce do blockchainu patří, nebo ne
  • schopnost libovolného uzlu, který transakci vytvořil či přijal, po určité době s přijatelnou mírou jistoty rozhodnout, zda je transakce platná a zda ji lze trvale začlenit do blockchainu a zda nedošlo ke kolizi dvou transakcí. To je důležité pro řešení problému double-spendingu (dvojího utrácení)
  • dostatečně velká překážka, která útočníkům brání v úpravách či přepisování transakcí
  • automatický způsob řešení konfliktních transakcí, který zajišťuje, že se neplatná transakce (například pokus utratit částku na účtu vícekrát) nikdy nestane součástí potvrzeného souboru dat

Problém vícenásobného utrácení

V decentralizovaných distribuovaných databázích vzniká nový druh problému, který se v případě klasických (centralizovaných) databází řeší atomicitou systémových operací. Jde o takzvaný problém double spending, česky také problém dvojího utrácení, vícenásobného utrácení nebo opakovaného utrácení. Tento problém bránil až do vzniku bitcoinu prakticky v možnosti vytvořit distribuované databáze.

Problém vzniká, pokud dva nebo více uzlů v topologicky vzdálených bodech sítě ve stejném okamžiku zadají transakci, která přikazuje převést peníze ze stejného účtu, přičemž výsledná převáděná částka je vyšší než zůstatek. Stav, kdy by po určité době došlo k propagaci všech zadaných transakcí, by vedl k nesouladu zůstatků na účtech. Ty by se tak mohly dostat do minusu, což by v konečném důsledku vedlo ke ztrátě důvěry v síť a jejímu zániku.

Různé kryptoměny tento problém řeší různými způsoby, nejčastěji použitím systémů decentralizovaných časových razítek (otisků, timestamp) a hlasováním o pořadí transakcí založeným na algoritmech proof of work (hlasování na základě prokázaného vlastnictví výpočetního výkonu) či proof of stake (hlasování na základě prokázaného vlastnictví podílu v kryptoměně).

V obou případech může dojít k takzvanému 51% útoku, kdy vlastník více než 51 % kryptoměny nebo výpočetního výkonu získá možnost falšovat či upravovat transakce. Většina implementací kryptoměn proto obsahuje ještě další dodatečné pojistky, jejichž cílem je diverzifikovat síť těžařů (paměťově náročné hashovací algoritmy), aby bylo možné těmto útokům předcházet. (Zdroj: Wikipedie)

Proof of work vs. proof of stake

Existují dva hlavní způsoby, jak bločenka vytváří nebo rozděluje nové mince: Proof of work (dokladování/důkaz vynaložené práce) a Proof of stake (dokladování/důkaz vkladu, resp. podílu). Obě metody slouží ke společnému účelu na bločence: ověřit, že osoba, která odesílá bitcoin (nebo jinou digitální měnu), má na svém účtu správnou částku finančních prostředků a že po dokončení transakce už na svém účtu nemá danou minci nebo její část. Cílem je mimo jiné zabránit dvojí platbě. Na úvod je dobré vědět, že bločenka se týká záznamu transakcí odesílaných a přijímaných v síti (například Bitcoin) a těžaři jsou v podstatě účetními těchto transakcí.

Proof-of-work, PoW (dokladování vynaložené práce) Proof-of-stake, PoS (dokladování vkladu, resp. podílu)
Který blockchain to využívá Bitcoin, Ethereum*, Litecoin Nxt, Peercoin, BlackCoin, Gridcoin
Jak se vybírá tvůrce bloků Ten, kdo má důkaz o vyřešení matematické funkce/matematických funkcí. Ten, kdo uzamkne prostředky jako vklad/depozit pro zadání algoritmu náhodného výběru.
Odměna odměna za blok + transakční poplatek bez odměny za blok, pouze transakční poplatek
Hardwarové požadavky vysoké nízké
Potenciální problém 51% útok / 51% attack Útok s nenulovým vkladem / Nothing-at-stake attack

Důkaz o vynaložené práci je metoda, která vyžaduje, aby těžaři kryptoměny ověřovali transakce v blocích pomocí výpočtu matematické funkce (nazývané hash).

Důkaz o vkladu (dokladování podílu) je metoda, která umožňuje těžařům ověřovat transakce v blocích podle toho, kolik mincí se rozhodnou vložit do této sítě.

Obě metody slouží ke společnému účelu na bločence: ověřit, že osoba, která odesílá bitcoin (nebo jinou digitální měnu), má na svém účtu správnou částku finančních prostředků. A že po dokončení transakce už na svém účtu nemá odeslanou částku. A přesto oba přístupy k tomuto cíli přistupují zásadně odlišně.

Rozdíly mezi Proof of work a proof of stake

Těžba (mining) vs. ověření zůstatku na účtu (stake)

Definice důkazu o vynaložené práci (Proof-of-Work) znamená vyřešit hashovací algebraickou funkci a dokázat, že je výsledek správný. Přestože je obtížné funkci odhalit, pro ostatní těžaře je snadné výsledek ověřit. Jakmile těžař vypočítá výsledek funkce, respektive hashe, ověří jej ve funkci, aby zjistil, zda je správný. Jedná se o algebraický problém. Pokud je výsledek správný (což zjistí během milisekund), získá odměnu v podobě vytěžené kryptomince. Takže vezměte lopatu, odveďte fyzickou práci a všem ukažte, že jste vytěžili kryptozlato.

Proof-of-Stake je naproti tomu mechanismus, který matematiku nepotřebuje. Místo toho v rámci sítě jednoduše uzamknete určitou část svého podílu, tj. libovolnou kryptoměnu generovanou v této bločence. To je váš důkaz, kterým prokazujete, že jste součástí systému, a riskujete, že o svůj podíl přijdete, pokud byste ověřili nesprávnou transakci. Síť používá algoritmus náhodného výběru k určení toho, kdo bude dalším tvůrcem bloků. Zohledňuje například, kolik mincí (tokenů) uzamknete, jaká je hodnota mince nebo na jak dlouho uzavíráte kontrakt a podobně. Různé bloky založené na PoS mají různá kritéria, v zásadě však není třeba vynakládat mnoho výpočetního výkonu na ověření transakce, což šetří „naše lesy“. Je to trochu jako spoření a úroky.

Odměna za blok a odměna za transakci

V blockchainovém řetězci založeném na proof-of-work těžaři vykonávají práci a jsou za ni odměňováni. Například při těžbě měn Bitcoin a Ethereum jsou těžaři v současnosti (prosinec 2017) odměňováni částkou 12,5 bitcoinů, respektive 5 etherů. Existuje však ještě další věc nazývaná transakční poplatek. Když někomu pošlete bitcoin, musí být tato transakce potvrzena a zaznamenána na bločence prostřednictvím hashovací funkce, což provádějí těžaři kryptoměn. Nedělají to zadarmo, takže musíte zaplatit transakční poplatek. Další šťastný těžař, který vytvoří následující blok, získá všechny transakční poplatky i samotnou odměnu za blok, takže dostane více než 12,5 bitcoinů (BTC). S tím je však spojeno několik rizik. Především jde o opotřebení těžařských součástek, zejména těžařských čipů (nejde o čipy grafických karet, ale o specializované těžařské procesory). Tyto čipy spotřebovávají obrovské množství elektrické energie, produkují velké množství odpadního tepla, rychle se opotřebovávají a končí na skládkách.

U metody PoS bločenka za vytěžené bloky žádnou odměnu nerozdává. Těžaři získávají pouze transakční poplatky. Proto by se účastníci blockchainu PoS měli nazývat validátory, nikoli těžaři. Jednoduše usnadňují proces ověřování transakcí bez těžební činnosti, jakou je PoW. PoS vyžaduje mnohem méně elektrické energie a počítačový hardware je mnohem méně zatížený. Částka, kterou potvrdíte a uzamknete, neboli váš vklad v bločence, plní úlohu souhlasu s chytrým kontraktem. Tím předcházíte dramatickým nákladům na těžbu či provoz sítě.

Potenciální hrozby

Pokud při těžbě typu proof-of-work máte kvalitnější fyzický hardware, výkonnější těžařské čipy a vyšší výpočetní kapacitu, je pravděpodobnější, že vytvoříte, respektive získáte nové bloky. Existuje však hrozba, že pokud se na jednom místě nahromadí více než 51 procent celkového těžebního výkonu sítě, může se tento uzel stát jejím centrem a ovlivňovat celý blockchain. Jde o závažnou situaci, kterou se blockchain snaží eliminovat. Tato hrozba se nazývá 51% útok.

Metoda proof-of-stake má také své slabiny. Největší slabinou je útok s názvem Nothing-at-stake attack (útok s nenulovým vkladem). Jde o poměrně složitý a komplikovaný útok, zjednodušeně řečeno o útok, při němž validátoři nemohou mít nulový vklad (protože vždy musí přijmout nějaký nenulový vklad).

Kdy bude vytěžen další blok – Block time

Pojem block time označuje parametr, který udává dobu mezi dvěma vydanými bloky. Většina kryptoměn používá block time v řádu desítek minut (v případě bitcoinu 10 minut), v poslední době se však objevují nové systémy, které tuto dobu zkracují na řád desítek sekund. Příkladem takového systému je například Ethereum, kde se pohybuje mezi 10 a 20 sekundami.

Hodnota block time hraje důležitou roli při ověřování platnosti transakcí, protože většina systémů považuje transakci kvůli problému vícenásobného utrácení za platnou až po několika dalších blocích, do kterých je transakce začleněna (v případě bitcoinu jde o šest bloků).

Obecně se tedy dá říci, že čím kratší je doba mezi vydáním dvou bloků, tím rychleji mohou probíhat důvěryhodné obchodní transakce.

Jak investovat do kryptoměn?

Pokud byste se rozhodli investovat do kryptoměn, vezměte prosím na vědomí, že jde o investice s vysokou volatilitou (mnohdy i desítky procent za den) a o investici můžete z různých důvodů kdykoli přijít. O rizicích investování i příležitostech v oblasti kryptoměnových investic se podrobněji rozepíšeme níže.

Doporučujeme vám vytvořit si peněženku na Coinbase, kde můžete nakupovat a prodávat Bitcoin, Ethereum a Litecoin. Můžete investovat na burze, pokud však nemáte velký počáteční kapitál, můžete zvolit zdlouhavější, ale levnější cestu, a to investovat do těžby kryptoměn.

Bločenka podle mé babičky

O Vánocích se mě moje 91letá babička zeptala, co vlastně dělám (doslova se zeptala „Hapsi, te mit csinálsz?“). „Píšu něco o tom blockchainu,“ odpověděl jsem jí. „Cože to děláš?“ zeptala se vyděšeně. Já: „Babi, o bločence!“ Oči se jí rozzářily radostí: „Jééé, bločenkáá, to je ta bublina s tím bitcoinem…“

Dejte o sobě vědět

Budujete nějaký projekt založený na bločenkové technologii, který bude zajímavý a přínosný pro Slovensko a slovenskou společnost? Budeme rádi, když nám o něm dáte vědět v komentářích.