Co je blockchain?
Stručně řečeno, blockchain je seznam datových záznamů, který funguje jako decentralizovaná databáze. Data jsou organizována do bloků, které jsou seřazeny chronologicky a kryptograficky zabezpečené.
První koncept blockchainu vznikl na počátku 90. let, kdy počítačový vědec Stuart Haber a fyzik W. Scott Stornetta použili kryptografické techniky v blockchainu k ochraně digitálních dokumentů proti manipulaci s daty.
Práce Habera a Stornetty jistě inspirovala práci mnoha dalších počítačových vědců a nadšenců do kryptografie, což nakonec vedlo k vytvoření bitcoinu, prvního decentralizovaného systému elektronických peněz (a první kryptoměny).
Technologie blockchain je sice starší než kryptoměny, ale její potenciál se začal poznávat až s vytvořením bitcoinu v roce 2008. Od té doby se zájem o technologii blockchain postupně zvyšoval a kryptoměny jsou nyní uznávány ve větším měřítku.
Technologie blockchain se nejčastěji používá k zaznamenávání transakcí kryptoměn, ale je vhodná pro mnoho dalších typů digitálních dat a lze ji aplikovat na širokou škálu případů použití. Nejstarší, nejbezpečnější a největší blockchain síť je Bitcoin, který byl navržen pomocí vyvážené kombinace kryptografie a teorie her.
Jak funguje blockchain?
V souvislosti s kryptoměnami se blockchain skládá z řetězce bloků, z nichž každý uchovává seznam dříve potvrzených transakcí, protože blockchainovou síť spravuje nespočet počítačů distribuovaných po celém světě, funguje jako decentralizovaná databáze. To znamená, že každý z účastníků (nebo uzlů) udržuje kopii dat blockchainu a komunikuje spolu, aby bylo zajištěno, že jsou na stejné stránce (nebo bloku).
Proto se blockchainové transakce odehrávají v rámci globální sítě peer-to-peer a to je to, co dělá bitcoin decentralizovanou digitální měnou bez hranic a cenzuře odolnou. Většina blockchainových systémů je navíc považována za nedůvěryhodnou, protože žádnou důvěru nevyžadují. Neexistuje jediný orgán, který by bitcoiny kontroloval.
Ústředním prvkem téměř všech blockchainů je proces těžby, který se opírá o hashovací algoritmy. Bitcoin používá 256bitový bezpečný hashový algoritmus (SHA-256). Vezme vstup libovolné délky a generuje výstup, který bude mít vždy stejnou délku. Vytvořený výstup se nazývá „hash“ a v tomto případě má vždy 64 znaků (256 bitů).
Takže stejný vstup bude mít za následek stejný výstup bez ohledu na to, kolikrát se proces opakuje. Ale pokud je provedena malá změna na vstupu, výstup se změní úplně. Hašovací funkce jako takové jsou deterministické a ve světě kryptoměn je většina z nich navržena jako jednosměrná hašovací funkce.
Být jednosměrnou funkcí znamená, že je téměř nemožné vypočítat vstup z výstupu. Člověk může jen hádat, o jaký záznam šlo, ale šance, že ho uhodnete správně, je extrémně nízká. To je jeden z důvodů, proč je bitcoinový blockchain bezpečný.
Nyní, když víme, co algoritmus dělá, ukažme si, jak blockchain funguje, na jednoduchém příkladu transakce.
Představte si, že Alice a Bob mají každý zůstatek bitcoinů. Předpokládejme, že Alice dluží Bobovi 2 bitcoiny.
Aby Alice mohla poslat Bobovi tyto 2 bitcoiny, odešle zprávu obsahující transakci, kterou chce provést, všem těžařům v síti.
V této transakci Alice předá těžařům Bobovu adresu a množství bitcoinů, které chce poslat, spolu s digitálním podpisem a svým veřejným klíčem. Podpis je proveden pomocí soukromého klíče Alice a těžaři mohou ověřit, že Alice je vlastníkem těchto bitcoinů.
Jakmile si těžaři jistí, že transakce je platná, mohou ji umístit do bloku s mnoha dalšími transakcemi a pokusit se blok vytěžit. Za tímto účelem je blok podroben algoritmu SHA-256. Výstup musí začínat určitým počtem 0, aby byl považován za platný. Potřebné množství 0s závisí na tzv. „obtížnosti“, která se mění v závislosti na výpočetním výkonu sítě.
Aby těžaři vytvořili výstupní hash s požadovaným počtem 0s na začátku, přidají do bloku to, čemu se říká „nonce“, než jej projdou algoritmem. Protože malá změna vstupu zcela změní výstup, těžaři zkoušejí náhodné nonce, dokud nenajdou platný výstupní hash.
Jakmile je blok vytěžen, těžař tento nově vytěžený blok vysílá všem ostatním těžařům. Poté ověří, že blok je platný, aby jej mohli přidat do své kopie blockchainu a transakce je dokončena. Ale do bloku musí těžaři také zahrnout výstupní hash předchozího bloku, aby byly všechny bloky propojeny, odtud název blockchain. To je důležitá součást, protože důvěra v systém funguje.
Každý těžař má na svém počítači svou vlastní kopii blockchainu a každý důvěřuje blockchainu, který na něm udělal nejvíce práce, nebo nejdéle fungujícímu blockchainu. Pokud těžař upraví transakci v předchozím bloku, výstupní hash tohoto bloku se změní, což bude znamenat úpravu všech hashů následujících bloků. Těžař by musel předělat všechnu práci, aby kdokoli uznal jejich blockchain jako ten správný. Pokud by tedy chtěl těžař podvádět, potřeboval by více než 50 % výpočetního výkonu sítě, což je velmi nepravděpodobné. Síťovým útokům, jako je tento, se proto říká 51% útoky.
Model uvedení počítačů do práce za účelem výroby bloků se nazývá Proof of Work (PoW); existují také další modely, jako je proof of stake (PoS), který nevyžaduje tolik výpočetního výkonu a předpokládá se, že vyžaduje méně elektřiny, přičemž je schopen se škálovat pro větší počet uživatelů.



