Co je blockchain?
Blockchain je seznam datových záznamů, který funguje jako decentralizovaná digitální účetní kniha. Data jsou uložena v blocích v chronologickém pořadí a chráněna pomocí kryptografie.
První blockchainový model vznikl na počátku 90. let, kdy se počítačový vědec Stuart Haber a fyzik W. Scott Stornetta rozhodli použít kryptografii na blockchainu k ochraně digitálních dokumentů před neoprávněnou manipulací.
Jejich práce inspirovala mnoho programátorů a nadšenců do kryptografie, což nakonec vedlo k vytvoření bitcoinu jako prvního decentralizovaného systému elektronických peněz (nebo jednoduše první kryptoměny).
Technologie blockchain je sice mnohem starší než kryptoměny, ale její potenciál byl realizován až po příchodu bitcoinu v roce 2008. Od té doby zájem o ni každým dnem roste a kryptoměny jsou stále více akceptovány.
Technologie blockchain se primárně používá k zaznamenávání transakcí kryptoměn, ale je vhodná i pro různé typy digitálních dat a může provádět různé úkoly. Nejstarší, nejbezpečnější a nejoblíbenější blockchainovou sítí je Bitcoin, který kombinuje kryptografii a teorii her.
Jak blockchain funguje?
V kontextu kryptoměn se blockchain skládá ze stabilního řetězce bloků, z nichž každý obsahuje seznam dříve potvrzených transakcí. Protože blockchainovou síť spravuje mnoho počítačů po celém světě, funguje jako decentralizovaná databáze neboli účetní kniha. To znamená, že každý účastník (uzel) ukládá kopii dat blockchainu a interaguje s ostatními uzly, aby potvrdil, že se informace v blocích shodují.
K blockchainovým transakcím tedy dochází v globální síti peer-to-peer, a to je to, co dělá Bitcoin decentralizovanou digitální měnou, která nemá žádná omezení a je odolná vůči cenzuře. Většina blockchainových systémů navíc nevyžaduje důvěru a není kontrolována jediným řídícím orgánem.
Jádrem téměř každého blockchainu je těžební proces založený na hashovacích algoritmech. Bitcoin používá algoritmus SHA-256 (256bitový bezpečný hashovací algoritmus). Přijímá vstup libovolné délky a generuje výstup s pevnou délkou. Výstup se nazývá hash a v tomto případě má vždy 64 znaků (256 bitů).
Stejné vstupy povedou ke stejnému výstupu bez ohledu na to, kolikrát se proces opakuje. Pokud však mírně změníte vstupní data, výstup bude úplně jiný. Díky tomu je ve světě kryptoměn většina hashovacích funkcí deterministických a jednosměrných.
Jednosměrnost znamená, že je téměř nemožné vypočítat vstup z výstupních dat. Lze jen hádat, co bylo na vstupu, ale šance na uhodnutí této informace jsou extrémně nízké. To zajišťuje bezpečnost bitcoinového blockchainu.
Podívejme se, jak blockchain funguje na příkladu jednoduché transakce.
Představme si, že Alice a Bob mají ve svých rozvahách několik bitcoinů. Alice dluží Bobovi 2 bitcoiny.
K jejich odeslání Alice předá zprávu s transakcí všem těžařům v síti.
V této transakci Alice sdělí těžařům Bobovu adresu a množství bitcoinů, které by chtěla poslat, a také digitální podpis a svůj veřejný klíč. Podpis je proveden pomocí soukromého klíče Alice a potvrzuje, že je vlastníkem těchto mincí.
Těžaři musí ověřit platnost transakce, poté ji zkombinují s dalšími transakcemi a pokusí se vytvořit blok pomocí algoritmu SHA-256. Výstup musí začínat od určitého počtu 0s, který závisí na tzv. „obtížnosti“ a výpočetním výkonu sítě.
Aby získali výstupní hash se správným počtem 0s na začátku, těžaři před spuštěním algoritmu přidají do bloku takzvané číslo nonce. Vzhledem k tomu, že malá změna na vstupu zcela změní výstup, těžaři zkoušejí různé kombinace, dokud nenajdou požadovaný hash.
Po vytvoření bloku jej těžař odvysílá dalším těžařům. Poté zkontrolují platnost bloku, aby jej mohli přidat do své kopie blockchainu a dokončit transakci. Těžaři také zahrnují výstupní hash předchozího bloku do bloku, aby propojili všechny bloky dohromady do určitého druhu řetězce, tedy blockchainu. Na tomto mechanismu je postaven blockchain trust system.
Každý těžař ukládá kopii blockchainu na svůj počítač a míra důvěry v blockchain závisí na investovaném výpočetním výkonu a jeho délce. Pokud těžař změní transakci v předchozím bloku, výstupní hash tohoto bloku se také změní, což způsobí, že se změní všechny hash po něm. Poté bude muset těžař předělat veškerou práci, aby byl jeho blockchain přijat jako platný. Aby útočník oklamal systém, musel by převzít více než 50 % výpočetního výkonu sítě, což je téměř nemožné. Takové síťové útoky se nazývají 51% útoky.
Model, ve kterém je výroba bloků prováděna prací počítače, se nazývá Proof-of-Work (PoW). Existují další modely, jako je Proof-of-Stake (PoS), které nevyžadují velký výpočetní výkon a spotřebovávají méně energie, což nabízí škálovatelnost mnoha uživatelům.
