Základy blockchainu
Úvod
Technologie blockchain je revoluční způsob, jak ukládat a sledovat data a zároveň je zpřístupnit komukoli. Data se uspořádají do jediného veřejného seznamu všech historických transakcí, do kterého každý vidí, ale nikdo ho nemůže upravit. Tomuto veřejnému seznamu transakcí se souhrnně říká blockchainová účetní kniha.
Až projdeme vrstvy blockchainu, pochopíš strukturu, kterou zobrazuje nástroj zvaný prohlížeč bloků: seznam bloků, transakce uvnitř těchto bloků a detaily každé jednotlivé transakce. Vyzkoušej si to na Etherscanu, oblíbeném prohlížeči bloků pro Ethereum.
Struktura blockchainu
Slovo blockchain se dá použít jako podstatné jméno (blockchain Bitcoinu) i jako přídavné jméno (blockchainová technologie). Tak či tak blockchain označuje celou strukturu, na které kryptoměny stojí.
Když se na ni podíváme zvenčí dovnitř, má tři úrovně:
- Celý
blockchaintvoří bloky pospojované za sebou Blokytvoří skupiny transakcí dané dohromadyTransakcejsou přesuny hodnoty nebo pokyny programům meziadresamiv síti
Tyto tři úrovně dohromady vytvoří kryptografickou účetní knihu: neměnnou historii všech transakcí provedených v síti.
Ověření znalostí 1
Co je blockchain?
-
[ ] Uspořádané skupiny transakcí zvané bloky
-
[ ] Sdílený záznam, který každý vidí, ale nikdo neupraví
-
[ ] Bloky pospojované za sebou
-
[ ] Všechno výše uvedené
Pohled do účetní knihy
V běžných peněžních systémech věříme třetím stranám, třeba bankám, že hlídají, kolik kdo má peněz. Být opravdu Bankless ale znamená chtít systém, ve kterém účetní knihu nespravuje jediný subjekt, kterému musíme věřit.
Účetní kniha je seznam VŠECH transakcí, které kdy na blockchainu proběhly, a u veřejných blockchainů do ní vidí každý. Oddělené skupiny transakcí z účetní knihy tvoří bloky, které dohromady dávají blockchain.
Když do účetní knihy přibudou nové transakce, aktualizují se zůstatky, které každá adresa drží. Staré transakce změnit nejde. Je to, jako by kdokoli mohl kdykoli nahlédnout do kompletní historie bankovních účtů všech lidí.
Transakce v účetní knize
Podívejme se na pár ukázkových transakcí:
- Alice posílá Bobovi 5 ETH
- Bob posílá Charliemu 2 ETH
Jednotlivé transakce ukazují změnu množství kryptoměny u každé adresy, takže celkový výsledek všech transakcí JE množství kryptoměny, které každá adresa má.
⇒ Alice přišla o 5 ETH
⇒ Bob má celkem o 3 ETH víc (přijal 5, poslal 2)
⇒ Charlie má o 2 ETH víc
Ověření znalostí 2
Co platí pro účetní knihy veřejných blockchainů?
-
[ ] Všechny transakce jsou veřejné a staré už nejdou změnit
-
[ ] Kniha sleduje, kolik kryptoměny každá adresa právě má
-
[ ] Kniha roste s tím, jak do ní přibývají nové transakce
-
[ ] Všechno výše uvedené
Decentralizace
Transakce zapsané v účetní knize blockchainu nejenže nejdou změnit, navíc jsou sdílené a rozprostřené po velké síti počítačů. Aby žádný jediný subjekt neměl moc data měnit, ukládají se kopie účetní knihy na mnoha počítačích po celé síti. Říká se jim uzly.
Díky těmto sdíleným datům je účetní kniha blockchainu decentralizovaná. Data neovládá žádná jediná autorita ani subjekt. Blockchainy jako Ethereum jsou navíc veřejné, protože do účetní knihy vidí každý.
Pro tuhle lekci si stačí zapamatovat, že data účetní knihy sdílí mnoho počítačů, které provozují síť Ethereum.
Ověření znalostí 3
Čím je blockchain decentralizovaný?
-
[ ] Do blockchainu smí zapisovat jen jeden subjekt
-
[ ] Splňuje požadavky na decentralizaci dané vládou
-
[ ] Účetní knihu na mnoha počítačích neovládá jediný subjekt
-
[ ] Účetní kniha leží na jediném zabezpečeném serveru
Anatomie bloku
Důležitá vlastnost blockchainů je, že data starých transakcí už po zařazení do bloku nejdou změnit. Každý blok má totiž jedinečný hash bloku, něco jako otisk prstu, který bloky spojuje jeden za druhým. Nikdo nemůže změnit staré transakce, aniž by změnil ten otisk a zároveň otisk KAŽDÉHO dalšího bloku, protože každý otisk závisí na tom předchozím.
Každý blok je tedy prostě skupina transakcí plus jedinečný otisk (jeho hash bloku) spočítaný z obsahu bloku. Bloky drží v řetězu proto, že každý odkazuje na jedinečný otisk předchozího bloku a dohromady tvoří jeden propojený blockchain.
Ověření znalostí 4
K čemu slouží hash bloku?
-
[ ] K zašifrování dat bloku, aby je nikdo nepřečetl
-
[ ] Ke spojení bloků a k neměnnosti dat starých transakcí
-
[ ] K zajištění, že transakce dorazí na správnou adresu
-
[ ] K zajištění, že blockchain zůstane decentralizovaný
Uvnitř bloku
Připomeňme si, že data bloku jsou jen skupina transakcí dané dohromady. Když nahlédneme dovnitř jednoho bloku, uvidíme seznam transakcí a nějaká data o tom, kdo blok vytvořil.
Obě transakce z dřívějšího příkladu s účetní knihou mohou skončit v jednom bloku, nebo se v čase rozdělit do několika bloků. Ať už jsou v kterémkoli bloku, nakonec se všechny dostanou do celkové účetní knihy blockchainu.
- Alice posílá Bobovi 5 ETH
- Bob posílá Charliemu 2 ETH
Nezapomeň, že každý blok musí odkazovat i na hash bloku, který mu předcházel, aby blockchain držel pohromadě.
Ověření znalostí 5
Jaké informace jsou v bloku?
-
[ ] Všechny informace z předchozích bloků
-
[ ] Cokoli, protože velikost bloku je neomezená
-
[ ] Data transakcí a odkaz na předchozí blok
-
[ ] Všechna data transakcí za pevně daný časový úsek
Jednotlivé transakce
Data na jakémkoli blockchainu jsou prostě seznam transakcí, tedy záznamů o měně, která se přesunula mezi uživateli. Aby byla transakce platná, musí ji odesílatel podepsat svým digitálním podpisem.
Přesně to děláš, když v peněžence potvrzuješ transakci: podepisuješ ji digitálním podpisem, a tím ji schvaluješ. Ber to jako digitální obdobu toho, když fyzicky podepisuješ šek, účtenku nebo platbu kartou.
Transakce mohou být jednoduché, třeba poslání kryptoaktiv, nebo složitější, třeba swap kryptoaktiv nebo dokonce nasazení zvláštního kódu, který se spustí, když ho něco vyvolá. Tomuto kódu se říká chytré kontrakty.
Každá transakce má nakonec jedinečný digitální identifikátor, hash transakce, který žádná jiná transakce nemá. Díky němu se dá na konkrétní transakci snadno odkázat a její detaily už nejde dodatečně změnit.
Ověření znalostí 6
Data na blockchainu jsou prostě seznam transakcí seskupených do bloků. Příkladem takové transakce je:
-
[ ] Odeslání nebo přijetí kryptoaktiv
-
[ ] Změna velikosti bloku
-
[ ] Úprava starých dat blockchainu
-
[ ] Všechno výše uvedené
Adresy uživatelů
Adresa je veřejný identifikátor, který si kdokoli může na blockchainu vyhledat. Podobně jako u e-mailové adresy na ni může kdokoli poslat peníze, ale odemknout je a použít dokáže jen ten, kdo ovládá soukromý klíč.
Na Ethereu adresa vždy začíná na _0x__________ a má 42 znaků, čísel a písmen odvozených z veřejného klíče té adresy.
Když se v prohlížeči bloků díváme na jednu transakci, vidíme adresy From: a To:. Neřekne nám to, kteří lidé ty adresy ovládají, ale komukoli to umožní sledovat pohyb kryptoměny napříč účetní knihou blockchainu.
Ověření znalostí 7
Co platí o blockchainových adresách?
-
[ ] Jsou to veřejné identifikátory subjektů na blockchainu
-
[ ] Na Ethereu vždy začínají na 0x
-
[ ] Kdo ovládá soukromý klíč, může použít peníze na té adrese
-
[ ] Všechno výše uvedené