Co je blockchain?
Stručně řečeno, blockchain je seznam datových záznamů, který funguje jako decentralizovaná digitální účetní kniha. Data jsou organizována do bloků, které jsou chronologicky uspořádány a zabezpečeny kryptografií.
Nejstarší model blockchainu byl vytvořen na počátku 90. let, kdy počítačový vědec Stuart Haber a fyzik W. Scott Stornetta použili kryptografické techniky v řetězci bloků jako způsob, jak zabezpečit digitální dokumenty před manipulací 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 jako prvního decentralizovaného elektronického hotovostního systému (nebo jednoduše první kryptoměny).
Technologie blockchain je sice starší než kryptoměny, ale její potenciál se začal poznávat až po vzniku bitcoinu v roce 2008. Od té doby zájem o technologii blockchain postupně roste a kryptoměny jsou nyní uznávány ve větším měřítku.
Technologie blockchain se většinou používá k zaznamenávání transakcí kryptoměn, ale vyhovuje mnoha dalším druhům digitálních dat a lze ji použít v široké škále případů použití. Nejstarší, nejbezpečnější a největší blockchain síť je Bitcoin, který byl navržen s pečlivou a vyváženou kombinací kryptografie a teorie her.
Jak blockchain funguje?
V kontextu kryptoměn se blockchain skládá ze stabilního řetězce bloků, z nichž každý ukládá seznam dříve potvrzených transakcí. Vzhledem k tomu, že blockchainovou síť spravuje nespočet počítačů rozmístěných po celém světě, funguje jako decentralizovaná databáze (neboli účetní kniha). To znamená, že každý účastník (uzel) udržuje kopii blockchainových dat a komunikují spolu, aby zajistili, že jsou všichni na stejné stránce (nebo bloku).
Proto k blockchainovým transakcím dochází v rámci globální sítě typu peer-to-peer, a to je to, co dělá z bitcoinu decentralizovanou digitální měnu, která je bez hranic a je odolná vůči cenzuře. Většina blockchainových systémů je navíc považována za nedůvěryhodnou, protože nevyžadují žádný druh důvěry. Neexistuje jediný orgán, který by bitcoiny kontroloval.
Ústřední součástí téměř každého blockchainu je proces těžby, který se opírá o hashovací algoritmy. Bitcoin používá algoritmus SHA-256 (Secure hash algorithm 256 bits). Vezme vstup libovolné délky a generuje výstup, který bude mít vždy stejnou délku. Produkovaný výstup se nazývá "hash" a v tomto případě je vždy tvořen 64 znaky (256bity).
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ě. Jako takové jsou hašovací funkce 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, jaký byl vstup z výstupu. Lze jen hádat, jaký byl vstup, ale šance, že uhodnete správně, jsou extrémně nízké. To je jeden z důvodů, proč je blockchain bitcoinu bezpečný.
Nyní, když víme, co algoritmus dělá, předvedeme si, jak blockchain funguje, na jednoduchém příkladu transakce.
Imagine that we have Alice and Bob along with their Bitcoin balance. Let's say Alice owes Bob 2 Bitcoins.
For Alice to send Bob that 2 bitcoin, Alice broadcasts a message with the transaction that she wants to make to all the miners in the network.
V této transakci Alice poskytne těžařům Bobovu adresu a množství bitcoinů, které by chtěla 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 ve skutečnosti vlastníkem těchto mincí.
Jakmile si těžaři budou jisti, že transakce je platná, mohou ji vložit do bloku spolu s mnoha dalšími transakcemi a pokusit se blok vytěžit. To se provádí vložením bloku do algoritmu SHA-256. Aby byl výstup považován za platný, musí začínat určitým počtem 0. Potřebné množství 0 závisí na tom, čemu se říká „obtížnost“, která se mění v závislosti na tom, kolik výpočetního výkonu je v síti.
Aby těžaři vytvořili výstupní hash s požadovaným počtem 0 na začátku, přidají do bloku to, čemu se říká „nonce“, než jej provedou 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é zkontrolují, zda je blok 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 z předchozího bloku, aby byly všechny bloky svázány dohromady, odtud název blockchain. To je důležitá součást kvůli způsobu, jakým v systému funguje důvěra.
Každý těžař má na svém počítači svou vlastní kopii blockchainu a každý důvěřuje kterémukoli blockchainu, který má nejvíce výpočetní práce, nejdelší blockchain. Pokud těžař změní transakci v předchozím bloku, výstupní hash pro tento blok se změní, což vede ke změně všech hashů po něm, protože bloky mají rád hashe. Miner by musel předělat veškerou práci, aby někdo přiměl jeho 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é útoky, jako je tento, se proto nazývají 51% útoky.
Model fungování počítačů za účelem výroby bloků se nazývá Proof-of-Work (PoW), existují také další modely jako Proof-of-Stake (PoS), které nevyžadují tolik výpočetního výkonu a mají vyžadovat méně elektřiny. a zároveň je možné škálovat pro více uživatelů.

