Co je blockchain? Americký komik Stephen Colbert to popsal takto: „je to zlato pro exoty.“ No a být exot je dnes dost populární. Navíc blockchainová technologie se stává jedním z nejprominentnějším trendů ve financích a digitálních inovacích od vytvoření internetu.
Blockchainy jsou databáze. Nejsou uloženy na nějakém centrálním serveru, ke kterému přistupují všichni uživatelé. Blockchainové záznamy jsou ukládány na počítače uživatelů z celého světa. Blockchain je tak distribuovaná databáze s peer-to-peer architekturou. „Distribuovaná“ znamená, že data jsou uložena na vícero místech a „peer-to-peer“ znamená, že neexistuje žádná centrální autorita, která by uchovávala hlavní kopii dat.
Blockchain Bitcoinu od Satoshiho Nakamota není první distribuovanou databází a není ani první peer-to-peer databází. Není ani prvním blockchainem. Slouží však jako základ pro první moderní kryptoměnu a jde o výchozí bod pro blockchainy, které přišly po něm.
Jak blockchain funguje?
Dejme tomu, že chceme uložit data o pokerové hře do databáze. Každé kartě v balíčku začneme přiřazovat číslo: 1 je pikové eso, 2 je piková dvojka, 3 je piková trojka a tak dále až do 52, což je srdcový král. Hra tak může vypadat takto:
Záznam | Hodnota karty |
---|---|
1 | 12 |
2 | 44 |
3 | 4 |
4 | 31 |
5 | 27 |
Nad čísly záznamů přemýšlejte jako o číslech v řádcích tabulky. Databázoví programátoři jim říkají záznamy a blockchainoví programátoři jim říkají bloky. Řádek, záznam, blok – všechny označují jeden kus dat.
Karty vašeho soupeře by obsadily řádky 6–10, další karty mohou být uloženy v 11–15 atd. Pokud tedy chcete určit, o kterém kole mluvíte, stačí databázi říct, který řádek drží první kartu.
Odkazy v řetězci (chainu)
V distribuované peer-to-peer databázi mohou samozřejmě vykládat stejné karty ve stejný čas i ostatní uživatelé. Vaše karty se pravděpodobně neobjeví v po sobě jdoucích řádcích. Proto můžeme přidat ukazatele na předchozí a další karty, abychom spojily data v řetězci:
Záznam | Hodnota karty | Předchozí karta | Další karta |
---|---|---|---|
15 | 12 | 0 | 37 |
37 | 44 | 15 | 118 |
118 | 4 | 37 | 121 |
121 | 31 | 118 | 199 |
199 | 27 | 121 | 999 |
První karta ve vaší ruce je uložena na řádku 15. Hodnota karty je 12, takže jde o pikovou dámu. Neexistuje žádný další řádek, takže do sloupce vložíme „0“. Další karta je uložena na řádku 37.
Podíváme se tedy na řádek 37. Jde také o jednu kartu a ukazuje na řádek, kde je možné najít předchozí kartu (15) a ukazuje i na další kartu, která je uložena na řádku 118.
V informatice se tato struktura označuje jako dvojitě propojený seznam, protože se propojuje dopředu i dozadu. Ukazatele jsou uloženy v databázi jako data spolu s hodnotami karet.
Zabezpečení dat
Nic nám ani hackerům nebrání změnit hodnoty karet. Tato databáze usnadňuje podvádění. Každý s přístupem do databáze může změnit hodnoty vašich prvních čtyřech karet na 1, 14, 27, 40 – to jsou čtyři esa.
Před chybami dat a hackery se můžeme ochránit přidáním sloupce. Pro každý řádek přidáme sloupec, který obsahuje součet hodnot karet takto:
Záznam | Hodnota karty | Předchozí karta | Další karta | Kontrolní součet |
---|---|---|---|---|
15 | 12 | 0 | 37 | 12 |
37 | 44 | 15 | 118 | 56 |
118 | 4 | 37 | 121 | 48 |
121 | 31 | 118 | 199 | 35 |
199 | 27 | 121 | 999 | 58 |
Vidíte, jak to funguje? Pro naši druhou kartu je kontrolní součet 56, což je součet hodnot prvních dvou karet – 12 a 44. Kontrolní součet pro třetí kartu je součet dalších dvou karet. Vždy, když přečteme hodnotu karty, můžeme vypočítat kontrolní součet a porovnat ho s kontrolním součtem uloženým do databáze. Pokud nejde o stejné číslo, víme, že bylo s daty manipulováno.
Paměťové čipy uvnitř vašeho počítače a chytrého telefonu detekují chyby právě pomocí tohoto systému. Tento systém se také používá pro hledání chyb na vašem pevném disku.
Tento jednoduchý systém kontrolních součtů je nezbytnou součástí blockchainové technologie. Dobře ji znají studenti prvního ročníku informatiky.
Jde také o systém, který je až směšně zranitelný vůči hackerům. Každý s dostatečnými právy na změnu hodnot karet může pozměnit i kontrolní součty, aby zakryl svou práci. Hacker může také pozměnit ukazatele předchozí a další karty pro výměnu karty ve vaší ruce za kartu uloženou v jiném řádku.
Nakamoto tyto zranitelnosti v blockchainové architektuře předvídal. Místo použití jednoduchého přičítání pro vytváření kontrolních součtů a sledovacích vazeb v řetězci dat použil kryptografický proces zvaný „hashování“.
Hashování a šifrování
Hashování vytváří jedinečný identifikátor spojením hodnot předchozího záznamu s aktuální hodnotou záznamu v jednosměrném matematickém procesu. Výsledkem je hashovací hodnota například 06C4D99F32047. Je jednosměrná, protože neexistuje žádný odpovídající matematický proces, který by 06C4D99F32047 vrátil zpět na původní data.
V blockchainu je hashovací hodnota pro každý blok založena na hashovací hodnotě předchozího bloku, která je zase založena na hashovací funkci bloku před ním, a to až k Nakamotově bloku 0. Hashovací hodnotu pro jakýkoli blok můžete vypočítat a porovnat ji s hashovací hodnotou uloženou v bloku. Pokud se neshodují, bylo s daty manipulováno.
V tradiční databázi by někdo mohl pozměnit data, následně vypočíst nové hashovací hodnoty a vložit je do dalších bloků nebo záznamů, aby svůj čin zamaskoval. To však u distribuované peer-to-peer blockchainové databáze nejde, protože hacker by musel současně změnit kopie databáze, které jsou uložené na stovkách nebo tisícovkách počítačů.
Výsledkem tohoto procesu je, že je možné na blockchain přidat nové datové bloky, ale ty předchozí nelze smazat ani změnit. Nemůžete si tak poslat 100 000 dolarů v bitcoinu a transakci pak smazat.
Každá transakce na blockchainu je ověřena použitím tohoto hashovacího mechanismu.
Kromě toho Nakamoto zavedl šifrování proto, aby zajistil, že uložená data na blockchainu jsou snadno viditelná všem uživatelům, ale rozšifrovat je může jen ten, kdo má správné šifrovací klíče. Bez klíče vidíte jen tok nesmyslných znaků.
Síla blockchainové technologie
Blockchainová technologie se stará o to, aby byla data soukromá, trvalá a ověřitelná. Záznam dat a transakcí je veřejný, ale šifrování je chrání před zvídavými pohledy a změnami. Proto se blockchainu Bitcoinu často říká „open ledger“ – tedy otevřená účetní kniha.
Všechno to hashování a šifrování vyžaduje velké množství výpočetních zdrojů. Je pomalé. Celá blockchainová síť Bitcoinu je omezena na zpracování 4,6 transakcí za sekundu. Kreditní společnosti běžně zpracovávají průměrně 1700 transakcí/sekundu a tvrdí, že jsou schopné zvládnout i 56 000 transakcí za sekundu. Omezení 4,6 transakcí/s je hlavním zdrojem problému škálovatelnosti Bitcoinu. Počítačoví vědci na tom však dále pracují.
Udává se, že síť počítačů ověřující transakce Bitcoinu spotřebovává více elektrické energie než Švýcarsko.
Mnoho uzlů sítě Bitcoinu, které ověřují transakce, ukládají celý blockchain, který má aktuálně 250 GB dat. Jde o tzv. plné uzly. Na síti jsou také SPV uzly, které provádí zjednodušené ověření plateb. Uzly nejde nějak jednoduše spočítat. Na webové stránce Bitnodes najdeme aktualizovaný počet uzlů, které jsou aktuálně online a je možné se s nimi spojit. Rychlé vyhledávání na Googlu však ukazuje, že odborníci odhadují, že počet uzlů se pohybuje od 6000 do 200 000. Nikdo ve skutečnosti neví, kolik jich tedy existuje.
Vše o Ethereu
Nejpoužívanějším blockchainem je Ethereum oplývající úpravami, které z něj dělají flexibilnější řešení než je blockchain Bitcoinu. Ethereum má svou vlastní kryptoměnu – ether – ale vývojáři vytvořili mnoho dalších kryptoměn, které běží na blockchainu Etherea. Platforma se také používá pro mnoho různých aplikací. Nejde tak jen o virtuální peníze.
Hlavní výhodou Etherea je, že zvládá kromě ukládání dat hostovat spustitelné programy. Těmto programům se říká „chytré kontrakty“. Chytrý kontrakt pro odvádění desátků by například mohl sečíst veškerý ether na vašem účtu pro tento měsíc a odeslat 10 % církvi jako dar.
Blockchain Etherea je stejně jako ten Bitcoinu odolný vůči manipulaci. Výrobce luxusních hodinek Breitling dává vlastníkům svých hodinek digitální certifikáty potvrzující vlastnictví. Pokud hodinky prodáte, můžete převést certifikát na nového majitele. Tím se zavádí ověřitelný řetězec vlastnictví. Tuto technologii je také možné využít k sledování původu jídla v obchodě a sledování každého převozu. Stále více lidí se zajímá o etické získávání potravin a blockchain může být toho všeho součástí.
V roce 2020 tisková agentura Associated Press zveřejňovala minutu po minutě výsledky amerických prezidentských voleb na blockchain Etherea, aby vytvořila neměnný záznam ověřených a oficiálních hlasů.
Blockchain Etherea zvládá provádět zhruba 30 transakcí/s. Vývojáři tvrdě pracují na budoucích verzích Etherea, které budou využívat techniky zvané sharding, aby mohla síť provozovat více blockchainů současně. Konsolidované transakce by se tak na centrální blockchain přidávaly asynchronně. Vývojáři doufají, že nové verze blockchainu Etherea zvládnou až 100 000 transakcí/s.
Ethereum se používá jako platforma pro mnoho blockchainových aplikací, protože je schopné využívat chytré kontrakty. Většina blockchainových decentralizovaných aplikací – obzvláště ty z decentralizovaných finančních aplikací – jsou založené na hlavním chainu Etherea nebo na soukromých blockchainech Etherea.
Ethereum je také často první volbou pro společnosti hledající zavedení tokenové ekonomiky. Společnost může například zavést věrnostní program, ve kterém zákazníci za každý nákup dostávají Acme mince. Mohl by pak vzniknout obchod, ve kterém by bylo možné acme mince směnit za nejrůznější výhody. Společnost by mohla vytvořit síť společností, které také přijímají Acme mince. Tyto tokeny by tak vlastně měly svou hodnotu navzdory tomu, že je není možné směnit za dolary nebo eura.
Specifikace ERC-721 Etherea definuje protokol pro vytváření nezaměnitelných tokenů. Jde o základ NFT trhu.
Ostatní blockchainy
Bitcoin a Ethereum jsou nejpoužívanější blockchainy, ale dnes jich na trhu již najdeme stovky nebo i tisíce. Všechny jsou založeny na původním konceptu Nakamota. Blockchainy mohou být veřejné – jako blockchain Bitcoinu – nebo soukromé, které se používají pro interní správu dat.
Vědci vytvořili mnoho různých variant základní blockchainové architektury. Mnoho z nich se může pochlubit rychlejším zpracováním transakcí, lepší škálovatelností nebo nižšími poplatky. Mechanismy konsensu, koordinace podřízených subchainů, soukromé blockchainy a další klíčové technologie jsou neustále řešeny v projektech napříč krypto světem.
Co je blockchain? Teď už to víte
Jaká je definice blockchainu? Jak vlastně technologie blockchainu funguje? Doufáme, že jste si během čtení prohloubili znalosti blockchainu a lépe již chápete tuto pozoruhodnou, revoluční peer-to-peer databázi a její využití.
POZNÁMKA
Tento text je pouze informativní a neslouží jako investiční doporučení. Nevyjadřuje osobní názor autora ani služby. Jakákoli investice nebo obchodování s sebou nese riziko. Minulé výnosy nejsou garancí výnosů budoucích – riskujte pouze takové množství aktiv, které si můžete dovolit ztratit.