Ne všechny kryptoměny fungují na bázi blockchainu, tedy řetězce bloků. Co takový DAG nebo hashgraph, víte, jak fungují? Dnes se na to detailně podíváme.
Když se řekne Bitcoin (BTC), každý z vás si jistě vybaví slovo “blockchain“, v posledních letech často zmiňovaný buzzword, jenž svět jistě alespoň trochu změnil.
Víte ale, že univerzum kryptoměn zahrnuje mnohem více než jen prostý blockchain? Idea kryptoměn do určité míry existovala už v roce 1989 a spousta projektů před Bitcoinem (např. DigiCash, E-Gold, Bit Gold nebo B-Money) tuto myšlenku rozvíjela, žádný z nich však nepoužíval blockchain tak, jak jej známe dnes.
A ačkoliv je blockchain s drtivou většinou dnešních kryptoměn úzce spjatý, není jediným řešením, jak dosáhnout decentralizace kryptoměn.
V tomto článku si povíme o různých alternativách blockchainu, zejména o DAGu. Zmíníme si také, jaké projekty jej používají, v čem je lepší a v čem je horší. Povíme si něco i o dalších přístupech, ať už na konceptu blockchainu částečně staví, či nikoliv.
Na začátek by bylo vhodné trochu více rozvést blockchain samotný. Blockchain je jedna z forem technologie tzv. distribuované účetní knihy (Distributed Ledger Technology, zkráceně DLT), jedná se o souhrnný pojem, pod který patří úplně všechno, co si v následujícím článku popíšeme.
Jakákoliv DLT je forma datové struktury primárně určené pro ukládání transakcí v databázi – ve vztahu k měnám a kryptoměnám tedy k ukládání transakcí a peněžních zůstatků.
Blockchain je svým způsobem tedy databáze. Každý blockchain je distribuovaný, což znamená, že jeho záznam je vždy uložen na více místech zároveň, jinými slovy na více počítačích po celém světě. To je zároveň jeho nejsilnější stránka – protože existuje ve více replikách, je velmi složité až nemožné jej vymazat nebo jakkoliv narušit.
V zájmu zjednodušení si popišme blockchain na příkladu Bitcoinu.
Slovo blockchain (česky bločenka) můžeme rozdělit na dvě – block a chain, česky tedy blok a řetěz. Blok je tím základním kamenem blockchainu a také místem, v němž jsou uložené jednotlivé transakce. Když nějaká transakce proběhne (např. když odešlete nějaké bitcoiny svému kamarádovi), je po ověření těžaři uložena do bloku.
Informace o transakci nějaké to místo zabírají a velikost jednoho bloku je omezená, jakmile se tedy naplní různými transakcemi, je blok uzavřen a vytěžen.
Každý blok má své vlastní unikátní označení, jakýsi kód neboli hash. Jeho podoba závisí na více faktorech – na obsahu v bloku, na obsahu v bloku dřívějším, k němuž bude nový blok připojen, a také na speciálním čísle, který těžař při těžbě hledá.
Jakmile najde to správné, blok “připojí do blockchainu” přímo na blok minulý. Toto se v případě Bitcoinu odehrává průměrně každých 10 minut a protože nové bloky vznikají postupně za sebou, formují jakýsi řetězec – blockchain.
Z hlediska samotné datové struktury je nejdůležitější vlastností blockchainu linearita. Blockchain tvoří jednu souvislou řadu bloků na sobě závislých, jedná se prakticky o jakousi variantu spojového seznamu.
Bloky s transakcemi jsou za sebou postupně seřazeny tak, jak se udály, a jejich jakákoliv změna by znamenala změnu i všech bloků následujících.
Na jednu stranu se jedná o vlastnost, díky níž je Bitcoin vysoce bezpečný a odolný, zároveň je to ovšem i důvod, proč je tolik robustní a obtížně škálovatelný, zejména tedy pokud je v jeho síti připojeno spoustu uzlů. Aby některý z těžařů mohl vytvořit nový blok, musí znát ten nejnovější, na nějž ho může připojit.
To znamená, že všichni účastníci v síti musejí mít neustále přehled o nejnovějších informacích. Je jasné, že s jejich vzrůstajícím počtem je realizovatelnost tohoto konceptu (vezmeme-li v úvahu např. průměrnou rychlost internetového připojení a nakonec i prosté fyzikální zákony) přinejmenším nadmíru složitá.
Dosti projektů se problémy s nízkou propustností blockchainových síti snaží řešit použití jiného konsensuálního mechanismu než Proof of Work.
Jiné projekty jdou však mnohem hlouběji a snaží se měnit koncepci datové struktury. Jednou z možných snah o odstranění linearity je např. sharding, což má v plánu v budoucnu zavést např. Ethereum (ETH). Jelikož budou však transakce nakonec uloženy opět do bloků, stále se jedná o koncept využívající blockchain.
Naproti tomu projekty jako Hedera Hashgraph (HBAR), Nano (XNO) nebo Iota (IOTA) zvolily odlišnou cestu a rozhodly se blockchain nevyužít buď částečně, či kompletně.
Tyto projekty sázejí na tzv. DAG neboli Directed Acyclic Graph, česky orientovaný acyklický graf. Ačkoliv může název znít složitě, není tomu tak, stačí jen trochu nahlédnout pod pokličku teorie grafů.
DAG si lze jednoduše představit jako systém bodů spojený čárami, kde každý jeden bod představuje jednu transakci. Graf je orientovaný, protože míří jedním směrem (nové transakce jsou napojovány na ty již zapsané) a acyklický, protože když jej začneme následovat od jakéhokoli bodu, nikdy se na ten stejný bod nevrátíme.
Klasickým příkladem grafů je např. silniční síť, kde vrcholy jsou jednotlivá města a hrany silnice mezi nimi. Ty mohou být obousměrné či jednosměrné a zároveň tvořit smyčku, např. pomyslný okruh mezi několika městy. Pakliže se jedná o DAG, tedy graf, který je orientovaný a acyklický, je jeho ukázkovým příkladem např. rodokmen.
Aplikujeme-li myšlenku DAGu na ukládání informací o peněžních transakcích, na místě vrcholů máme samotné transakce a na místě hran jejich vazby (podobně, jako je v případě blockchainu jeden blok závislý na druhém). Při odesílání kryptoměn na nějakou adresu tedy vytváříme novou transakci a tedy nový vrchol v grafu.
Tou nejvíce patrnou odlišností je skutečnost, že v DAGu neexistují žádné bloky transakcí. Ještě zajímavější ovšem je, že kryptoměny používající čistě DAG nemají žádné těžaře či validátory, jednoduše proto, že nejsou třeba.
Transakce se totiž automaticky ověří tím, že se na její historický výsledek naváže jiná a je to také důvod, proč jsou systémy založené na této datové struktuře snadno škálovatelné.
Každá nová transakce v DAGu reprezentuje nový uzel, který se napojí minimálně na dvě (většinou více) minulé transakce. Součástí napojení je i ověření transakcí minulých – např. kontrola validity podpisu či správného zůstatku.
Po úspěšném ověření nová transakce v záznamu zahrne i hashe transakcí minulých, čímž se s nimi trvale propojí (mezi uzly vznikne ona jednosměrná hrana). Další transakce se pak napojí na tuto transakci a tak dále.
Struktura stromu transakcí v DAGu je další typickou odlišností od blockchainu – v blockchainu jsou bloky seřazené v řadě, zde transakce tvoří jednu obří pavučinu, která se neustále a paralelně rozšiřuje všemi směry.
Asynchronní nátura celé struktury ze své podstaty nevyžaduje, aby uživatel na jedné straně pavučiny znal strukturu na straně druhé.
Základní ideou je, že uživatel nemusí znát stav celé sítě pro úspěšné odeslání a ověření transakce. Pouze mu stačí, aby svou transakci navázal na několik transakcí minulých a zároveň aby se další transakce navázaly na tu jeho.
Samozřejmostí ovšem je, že se uživatel časem dozví o stavu v celé síti – bude časem znát celou pavučinu transakcí. Jedná se o základní předpoklad zachování integrity celé sítě, není to však stěžejním požadavkem při tvorbě nových transakcí.
Výběr vhodných minulých transakcí provádí specifický algoritmus a je navržen tak, aby bral v potaz všechny správné transakce – aby nikoho neopomíjel a zároveň nepodporoval možné ověření transakcích podvodných.
Blockchain je mezi kryptoměnami nepochybně silně dominantní, proto DAG nalezneme u mnohem skromnějšího počtu projektů. Mnoho kryptoměn jej taky nutně nepoužívá k ukládání záznamů o transakcích.
Příkladem může být např. Fantom (FTM), jenž DAG využívá během validace transakcí uložených v blockchainu.
Mezi kryptoměny, které transakce v DAGu skutečně ukládají, se řadí např. již zmíněné Hedera Hashgraph (HBAR), IOTA (IOTA) a Nano (XNO).
Hedera je jedním z úspěšných projektů s alternativním konsensuálním mechanismem. Jejich implementace DAGu se nazývá hashgraph a speciální mechanismus konsenzu, s nímž Hedera přišla, je označován jako gossip protokol.
Gossip, neboli drb, je událost v síti, během níž jeden uzel náhodně sdílí informace o svých transakcích s jiným. Přidá i to, kdy mu tyto informace byly sděleny a od koho se druhý uzel informace dozvěděl (gossip about gossip). Během tohoto procesu se vytváří DAG a sdílení se opakuje neustále napříč všemi uzly.
I když Hedera Hashgraph pro svůj provoz používá uzly, které přijímají transakce od klientů a přes gossip protokol je šíří dále v síti, nejedná se o entity podobné validátorům či těžařům z jiných konsenzuálních protokolů.
Iota používá protokol s názvem Tangle. Stejně jako u Hedery, i v síti IOTY se nacházejí uzly, jež mezi sebou dosahují konsenzu o celé síti a drží kopii celého DAGu.
Proces, jakým se transakce navzájem napojují a jak se po síti šíří, jsme si již vysvětlili. V případě IOTA a Tangle je však nutné zmínit ještě jeden zásadní prvek – tzv. koordinátor transakcí a jeho generované milníky (milestones).
Koordinátor je v současnosti nepostradatelným prvkem kryptoměny IOTA a jejího mechanismu Tangle, zároveň je ovšem tím nejvíce kritizovaným.
Vývojáři IOTY jej implementovali jako prozatímní řešení zajišťující bezpečnost v síti. Jedná se o speciální uzel provozovaný IOTA Foundation, který do sítě pravidelně každých 10s vyšle milník. Na tento milník ostatní uzly v síti navazují transakce.
Pokud je transakce přímo či nepřímo navázána na milník, je považována za platnou. Protože se jedná o poněkud centralizovaný prvek značně ovlivňující celou síť, setkává se IOTA s opodstatněnou kritikou, a proto jej IOTA plánuje odstranit.
Mělo by se tak stát během roku 2024, pokud článek čtete v roce 2025, možná se tak již stalo.
Poslední kryptoměnou, kterou si v dnešním článku zmíníme, je Nano. Jedná se o ukázkový příklad jakéhosi hybridu – Nano ve svém unikátním mechanismu “Block lattice” využívá jak blockchain, tak i formu DAGu.
V Block lattice má každý uživatel se svou adresou i vlastní blockchain, v němž se ukládají záznamy o historii jeho vlastních transakcí.
Je tvořen bloky o více typech, těmi zásadními jsou ovšem bloky reprezentující odesílající transakce a bloky transakce přijímající. V Nano se totiž pro provedení transakce musejí zapojit obě strany – jak odesílatel tvořící odesílací blok, tak i příjemce tvořící blok pro příjem.
V odesílajícím bloku je uložena adresa příjemce a redukovaný obnos zůstatku odesílatele o odesílanou částku. V bloku pro příjem je uveden hash bloku odesílajícího a celkový zůstatek příjemce navýšený o přijatou částku.
Protože se při vytváření transakce vyžaduje součinnost obou stran, chrání se takto síť před spamem. A jelikož na sebe bloky jednotlivých uživatelů takto navzájem odkazují, tvoří tím prakticky strukturu DAGu:
Ačkoliv blockchain mezi kryptoměnami prozatím silně vede, nelze opomíjet DAG jako jednu z možných alternativ, která už u řady kryptoměn dokázala svůj potenciál. Pojďme si nyní shrnout výhody, které využití DAGu nabízí:
Proč tedy vůbec někdo v dnešní době používá blockchain a všechno neběží na DAGu, říkáte si? Bohužel to není tak jednoduché. Blockchain DAG válcuje zejména v úrovni bezpečnosti a decentralizace – dosáhnout stejné úrovně těchto vlastností i u DAGu je mnohem obtížnější, leč nikoliv nemožné.
Je to také důvod, proč většina současných kryptoměn implementujících DAG nějakým způsobem integruje centralizované aspekty dohlížející na síť – např. koordinátor u Ioty a nebo užší počet entit provozujících uzly tam, kde je to potřeba.
Je nicméně dobré vědět, že kryptoměny se nerovnají blockchain a že se jedná o širší pojem, k jemuž je možné přistupovat více směry. V závislosti na tom, jaké má mít kryptoměna vlastnosti, se dají použít různé datové struktury. Mnohdy se jedná o unikátní hybridní mechanismy kombinující více variant zároveň.
Zaujal vás tento článek? Chcete diskutovat o blockchainu či DAGu? Přijďte do našeho Discordu, kde najdete uživatele s podobnými zájmy.
DAG a hashgraph.
DAG neboli Directed Acyclic Graph, česky orientovaný acyklický graf, si lze jednoduše představit jako systém bodů spojený čárami, kde každý jeden bod představuje jednu transakci. Graf je orientovaný, protože míří jedním směrem (nové transakce jsou napojovány na ty již zapsané) a acyklický, protože když jej začneme následovat od jakéhokoli bodu, nikdy se na ten stejný bod nevrátíme.
Jedná se o speciání implementaci DAGu a speciální implementaci konsensuálního mechanismu, se kterým přišla kryptoměna Hedera Hashgraph.
Například Avalanche (AVAX), Fantom (FTM), Iota (IOTA), Hedera Hashgrapg (HBAR) nebo Nano (XNO).
Bývalý šéfredaktor, softwarový architekt a nadšenec do kyberbezpečnosti a blockchainu. V rámci Finexu se zaměřuje zejména na technická témata v oblasti kryptoměn. Kryptoměny považuje za platidlo budoucnosti řešící řadu problémů s centralizovanou náturou existujících platebních prostředků. DeFi svět považuje za úchvatný a nabízející spoustu skvělých příležitostí.
Jmenuji se Michal Sobol a na Finex.cz dohlížím na chod kryptoměnové redakce. Mým cílem je, abychom společně s redaktory a přispěvateli předali čtenářům každý den mnoho zajímavých a zejména užitečných informací.
Pro přidání komentáře se prosím přihlašte ke svému uživatelskému účtu.
The article is generally not bad, but unfortunately a bit outdated when it comes to IOTA.
The previously central coordinator was recently decentralized in a first step towards Coordicide and is now controlled by 10 different coordinators, who are distributed worldwide by 10 different institutions.
In the next step to IOTA 2.0, at the end of 2023 – beginning of 2024, it will be completely removed. This means that IOTA is already decentralized.