Blockchain

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

Blockchain je v informatice speciální druh distribuované decentralizované databáze uchovávající neustále se rozšiřující počet záznamů, které jsou chráněny proti neoprávněnému zásahu jak z vnější strany, tak i ze strany samotných uzlů peer-to-peer sítě. Nejčastější aplikací technologie blockchainu je použití jako účetní kniha kryptoměn (např. bitcoinu), jež uchovává transakce provedené uživateli. Kombinace s kryptografií umožňuje zajistit anonymitu operací a zabránit neoprávněným transakcím.

Jednoslovný český ekvivalent pro anglický termín „blockchain“ dlouho chyběl. Od začátku roku 2017 běžel na stránkách blockchain.cz projekt, který si kladl za cíl takové slovo vybrat. Nakonec bylo vybráno slovo bločenka. Pracovní návrhy obsahovaly mj. slova blokčejn, bloksíť, bloknet apod.[1]

Hlavní výhody[editovat | editovat zdroj]

Mezi hlavní výhody blockchainu patří:

  • Schopnost velkého počtu uzlů dospět k jednomu konsenzu ohledně nejaktuálnějšího stavu velkého množství dat, například záznamů v účetní knize. To platí i v případě, kdy jsou jednotlivé uzly anonymní, připojeny přes nespolehlivé spojení jeden k druhému, či vedeny podvodníky, kteří se snaží transakce upravovat ve svůj prospěch.
  • Schopnost kteréhokoliv uzlu rozhodnout se s přijatelnou mírou jistoty, že zadaná transakce do blockchainu spadá či nikoliv.
  • Schopnost libovolného uzlu, jenž vytvořil či přijímá transakci, po nějaké době rozhodnout s ucházející mírou jistoty, zda je transakce validní a začlenitelná do blockchainu natrvalo a zda nedošlo ke kolizi dvou transakcí. To je důležité k řešení problému double-spendingu (dvojutrácení).
  • Dostatečně velká překážka, která brání útočníkům v úpravách či přepsání transakcí.
  • Automatická forma řešení konfliktních transakcí, která zajišťuje, že nevalidní transakce (například snaha utratit částku na účtu vícekrát) se nikdy nestanou součástí potvrzeného datasetu.

Základní princip[editovat | editovat zdroj]

Implementace blockchainu sestává ze dvou druhů záznamů: transakcí a bloků. Transakce představují data vložená do databáze uživateli, bloky pak záznamy potvrzující, kdy a jak byla konkrétní transakce přidána do databáze blockchainu. Transakce jsou vytvářeny uživateli, kteří systém používají jako databázi (v případě kryptoměn jako účetní knihu). Bloky oproti tomu vytváří těžaři, kteří používají software či hardware vytvořený specificky k vytváření bloků.

Transakce vytvořené uživateli jsou volně předávané od uzlu k uzlu podle toho, kdo má zrovna s kým navázané spojení. Definice validní transakce se liší v závislosti na standardu, jenž implementuje většina uzlů v síti. V případě většiny kryptoměn je za validní transakci většinou považována taková, která má správný elektronický podpis uživatele, utrácí peníze z existující peněženky, ke které uživatel podpisem prokazuje vlastnictví, a zároveň splňuje několik dalších podmínek, jako třeba patřičný honorář (fee) pro těžaře nebo uplynutí dostatečné doby od chvíle, kdy byla zadána poslední transakce s tímto kusem měny.

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

Decentralizace[editovat | editovat zdroj]

Každý uzel v síti decentralizované kryptoměny obsahuje kompletní či částečnou kopii blockchainu. Tím je vyřešen problém centralizované databáze, kterou používají ostatní technologie, jako 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ěn 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á Y jednotek měny příjemci Z jsou propagovány celou sítí použitím softwarových prostředků a asymetrické kryptografie. Kterýkoliv uzel sítě je schopen tuto transakci ověřit, přidat do kopie své účetní knihy a přeposlat tyto přírůstky ostatním uzlům.

Typy blockchainů[editovat | editovat zdroj]

V současné době existují jak decentralizované, tak i centralizované blockchainy.

Bitcoin jako nejstarší existující blockchain je decentralizovaný a veřejný, stejně tak většina alternativních blockchainů v obecném povědomí, např. Ethereum, Monero, Litecoin a ostatní veřejně obchodovatelné alternativní kryptoměny. Ve finančním průmyslu se však již od roku 2014 experimentuje s využitím soukromých blockchainů pro účely privátních obchodních transakcí. Tyto buď zcela soukromé nebo tzv. consortium blockchainy omezují přístup k jejich transakcím pouze na autorizované členy příslušné společnosti nebo obchodní sítě (konsorcia).

Ačkoliv všeobecně panuje názor, že provoz soukromých a consortium blockchainů je zbytečně drahý a mohly by být použity klasické databázové systémy, někteří lidé z oboru finančních technologií a obchodního kreditu argumentují, že operační náklady jsou jen jedním z aspektů ceny provedení obchodní transakce. V průmyslu tak komplikovaném jako je mezinárodní obchod mohou být provozní náklady blockchainů vyváženy úsporami v administrativě.[2]

Řešení problému vícenásobného utrácení[editovat | editovat zdroj]

V decentralizovaných distribuovaných databázích vzniká nový druh problému, který je v případě klasických (centralizovaných) databází řešen atomicitou systémových operací. Jedná se o takzvaný double spending problém, česky též problém dvojutrácení, víceutrácení či problém vícenásobného utrácení. Tento problém bránil prakticky do vzniku bitcoinu vytvoření distribuovaných databází.

Problém vzniká, jestliže dva či více uzlů v topologicky vzdálených bodech sítě ve stejný okamžik zadají transakce přikazující přesun peněz ze stejného účtu tak, že ve výsledné sumě je přesunovaná částka větší než zůstatek. Stav, kdy by po určitém čase došlo k propagaci všech zadaných transakcí, by vedl k nekonzistenci zůstatků na účtech. Ty by se tak mohly dostat do mínusu, což by v konečném důsledku vedlo ke ztrátě důvěry v síť a její zánik.

Různé kryptoměny se s tímto problémem vyrovnávají různými způsoby, nejčastěji použitím systémů decentralizovaných časových razítek a hlasování o pořadí transakcí založených 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ázání vlastnictví podílu kryptoměny).

V obou případech může dojít k takzvanému 51% útoku[3], kdy vlastník víc jak 51% kryptoměny či výpočetního výkonu získává možnost i zpětně upravovat blockchain a zneplatnit již proběhnuté transakce tak, že svojí vytvořenou blockchainovou větví předstihne již existující větev. 51% útok ale neumožňuje vytvářet a podepisovat transakce u účtů, ke kterým nemá útočník přístup. Většina implementací kryptoměn tak obsahuje ještě další, dodatečné pojistky, které mají vést k diverzifikaci sítě těžařů (memory hard hashovací algoritmy), aby těmto útokům bylo možné předcházet. Demotivací pro samotné útočníky je vysoká vstupní investice, kdy je potřeba překonat množství držené kryptoměny nebo výpočetního výkonu celého zbytku sítě. I kdyby se ale takový útok skutečně podařil, klesla by důvěra v danou kryptoměnu a s ní i její hodnota, čímž by se stal útok velmi nevýhodným. Některá těžařská uskupení, takzvané mining pooly, která měla až moc vysoké procentuální zastoupení výkonu, sama svůj výkon snížila nebo je opustili sami těžaři,[4] aby se zachovala důvěra v samotnou kryptoměnu bitcoin.

Nevýhody blockchainové technologie[editovat | editovat zdroj]

Velkou nevýhodou blockchainu představuje problém jeho nadměrného využívání. Vytvoření jednoho bloku nějaký čas trvá, přičemž při globálním využití by mohl být tento systém snadno přetížen a neúnosně by se zpomalil. Lze však předpokládat, že dokud tento problém nebude vyřešen, k všeobecné aplikaci blockchainové technologie nedojde.

Další problém blockchainové struktury je nadměrná spotřeba elektrické energie. Podle dostupných dat má provoz a přidávání nových transakcí do bitcoinové databáze spotřebu srovnatelnou s třetinou roční spotřeby elektrické energie České republiky.

Nevýhodou je také nutnost připojení k internetu, který stále není v některých oblastech světa samozřejmostí.

Nakonec také pro blockchainovou technologii platí, že i ona se může stát ve špatných rukách škůdce, nikoliv pomocník. Totalitní vlády by například tuto technologii mohly využívat k absolutní kontrole svých občanů. S její pomocí by byl okamžitě odhalený každý protivládní či nevhodný krok.[5]

Block time[editovat | editovat zdroj]

Pojem block time představuje parametr udávající dobu mezi dvěma vydanými bloky. Většina kryptoměn používá block time v řádu desítek minut (10 minut v případě bitcoinu), poslední dobou se ale objevují nové systémy, které tuto dobu snižují na řádově desítky sekund. Příkladem takového systému je třeba Ethereum, které se pohybuje mezi 10-20 sekundami.

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

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

Implementace[editovat | editovat zdroj]

Jiné datové struktury[editovat | editovat zdroj]

Existují však principiálně odlišné přístupy k fungování decentralizovaných databází. Vedle blockchainu existuje rovněž takzvaný tangle, datová struktura založená na acyklickém grafu. Tangle lze připodobnit ke shluku jednotlivých bodů, nejedná se tedy o řetězec. Příkladem kryptoměny, která tangle využívá, je IOTA.[6] Ta tvoří transakce tak, že vždy musí potvrdit dvě náhodně vybrané platby v celém datovém shluku.[7]

Použití technologie blockchain[editovat | editovat zdroj]

Kromě kryptoměn má blockchainová technologie také další využití, které je již zavedeno nebo na své zavedení teprve čeká. Výhodně ji lze aplikovat například v těchto situacích:

  • Decentralizované volby – Několikrát již nastala situace, kdy bylo s demokratickými volbami manipulováno. Blockchain by mohl takovým problémům zamezit, neboť by byl v rukách občanů a s daty by nemohl nikdo tajně manipulovat. Myšlenka takto uskutečněných voleb má dnes mnoho svých příznivců, k nimž patří také občané z Gruzie nebo Ukrajiny.
  • Zápis v katastru nemovitostí – Zápis v podobě blockchainu nikdo nevymaže a v katastru nemovitostí bude zapsán navždy. Zamezilo by to neoprávněnému nakládání s nemovitostmi, zpronevěrám finančních záloh atd. Systém také sníží náklady na zápis a provoz databáze. Několik takových projektů je proto již v jednání.
  • Autorská a umělecká díla – S érou internetu se objevil problém nelegálního kopírování hudby, knih i filmů. Také tento problém může technologie blockchain vyřešit. Umožní vytvářet po vzoru bitcoinu a jeho nereplikovatelných tokenů také nereplikovatelnou kopii média. Přesně o to se pokouší RIAA.
  • Finanční sféra – Technologie blockchainu by zde umožnila snáze a efektivněji provádět například finanční audity, kdy se místo namátkové kontroly transakcí zkontrolují všechny transakce za použití specifického kódu. Díky tomu půjdou snáze odhalovat podvody
  • Přeprava zboží a původ věcí – Již v dubnu 2018 oznámily společnosti IBM a Helzberg Diamonds spolupráci, při níž vyvinula společnost IBM blockchainovou technologii s názvem TrustChain. Právě TrustChain má ověřovat pravost diamantů, drahých kovů nebo šperků. Tuto technologii využívá také Wal-Mart ke sledování dodávek vepřového masa z Číny a přepravní gigant Maersk pro sledování přepravovaných kontejnerů.
  • Zamezení odcizení identity – Technologie blockchain by také mohla pomoci s ochranou identity, která byla jen v roce 2017 ukradena celkem v 16,7 miliónů případech.[5]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Block chain (database) na anglické Wikipedii.

  1. https://www.blockchain.cz – přeložme „blockchain“ společně do češtiny!
  2. TRANG, Diana. Christophe Spoerry on blockchain technology in trade finance: Operational cost is only one aspect. Business of Crypto. 2018-10-31. Dostupné online [cit. 2018-11-03]. (anglicky) 
  3. TRADE-ARENA.CZ. Co je a jak funguje 51% útok u Bitcoinu | Trade-Arena.cz. www.tradearena.cz [online]. [cit. 2018-02-26]. Dostupné online. 
  4. Bitcoin Miners Ditch Ghash.io Pool Over Fears of 51% Attack. CoinDesk. 2014-01-09. Dostupné online [cit. 2018-02-26]. (anglicky) 
  5. a b FINEX, Magazín. Blockchain - Co je blockchain a jak funguje? [Aktuální 2019] » Finex.cz. finex.cz [online]. [cit. 2019-02-05]. Dostupné online. (česky) 
  6. IOTA - kryptoměna, co nepotřebuje mining. Jaký je kurz? - E15.cz. E15.cz. Dostupné online [cit. 2018-05-02]. 
  7. MIKSA, Martin. IOTA: kryptoměna nové generace, která se může stát základem internetu věcí. Živě.cz. Dostupné online [cit. 2018-05-02]. (česky) 

Externí odkazy[editovat | editovat zdroj]