Jak funguje blockchain
Ahoj ve spolek, jmenuju se Atto a budu pro vás překládat videa z angličtiny. Můžete se těšit zejména na videa o kryptoměnách, podnikání a start-upech. První video je o technologii, která je dnes čím dál víc populární – blockchain. Co to ale vlastně blockchain je? Jak funguje a k čemu se dá využít?
Přepis titulků
Blockchainy jsou dnes nesmírně populární. Ale co to přesně blockchain je? Jak fungují? Které problémy pomáhají řešit
a jak je lze využít? Jak název napovídá, blockchain
je série bloků obsahujících informace. Tato metoda byla poprvé popsána
skupinou vědců v roce 1991 a byla původně zamýšlena k označení
digitálních dokumentů časovým razítkem, a to proto, aby je nebylo možné
opatřit dřívějším datem či s nimi jinak neoprávněně manipulovat.
Skoro jako razítko notáře. Blockchain však neměl širší využití a to až do roku 2009, kdy jej Satoshi Nakamoto použil k vytvoření digitální kryptoměny Bitcoin. Blockchain je distribuovanou účetní knihou, která je každému volně přístupná. Blockchainy mají zajímavou vlastnost: jakmile jsou do nich nějaká data zanesena, je velice těžké je změnit. Jak to tedy funguje? Řekněme si nejprve, co je to blok. Každý blok obsahuje nějaká data, vlastní hash a hash předchozího bloku.
Typ dat, který je uložen v bloku, je závislý na typu blockchainu. Například blockchain Bitcoinu ukládá informace o proběhlých transakcích, jako je odesílatel, příjemce a celková částka. Každý blok má také hash, přičemž hash je v principu podobný otisku prstu. Hash přesně identifikuje blok a veškerý jeho obsah, a je unikátní stejně jako otisk prstu. Jakmile je blok vytvořen, musí se vypočítat jeho hash.
Jakákoliv změna bloku také způsobí změnu hashe. Jinými slovy, s pomocí hashů lze efektivně odhalit změny v blocích. Jestliže se "otisk prstu" bloku změnil, už to není ten samý blok. Třetím elementem každého bloku je hash předchozího bloku. Díky tomu z bloků vzniká provázaný řetězec, proto je blockchain tak bezpečný. Ukažme si to na příkladu. Tady máme řetězec sestávající ze 3 bloků.
Jak vidíte, každý blok obsahuje svůj vlastní hash a hash předchozího bloku. Blok číslo 3 odkazuje na blok číslo 2, a blok číslo 2 odkazuje na blok číslo 1. Blok číslo 1 je výjimečný, protože je to úplně první blok a nemůže odkazovat na žádný předchozí blok. Nazýváme jej "původní blok." Řekněme, že budete manipulovat s blokem číslo 2, což způsobí i změnu hashe tohoto bloku.
Blok 3 a všechny ostatní bloky však teď budou neplatné, protože neobsahují platný hash předchozího bloku. Změna jediného bloku tedy zruší platnost všech následujících bloků Použití hashů však nestačí k zabránění manipulacím. Počítače jsou totiž v dnešní době velmi výkonné a zvládnou vypočítat stovky tisíc hashů za sekundu. Mohli byste tak jednoduše zmanipulovat blok a přepočítat všechny hashe ostatních bloků a potvrdit tak platnost svého řetězce.
Tomu blockchain předchází pomocí tzv. proof-of-work, "důkazu práce," což je mechanismus zpomalující vytváření nových bloků. V případě Bitcoinu trvá vypracování proof-of-work, vytvoření nového bloku a jeho připojení do řetězce asi 10 minut. Tento mechanismus výrazně znesnadňuje manipulaci existujících bloků, protože k manipulaci jednoho bloku je zapotřebí předělat proof-of-work i pro všechny následující bloky v řetězci.
Bezpečnost blockchainu tedy vychází z chytrého využití hashů a mechanismu proof-of-wok. Blockchainy mají ještě jednu složku zabezpečení, a tou je decentralizace. Namísto využití centrálního správního subjektu, blockchainy používají P2P sítě, ke kterým se může kdokoliv přidat Když se někdo k síti přidá, obdrží úplnou kopii blockchainu.
Uživatel s vlastním uzlem tak může ověřit, že je vše v pořádku. Co se tedy stane, když někdo vytvoří nový blok? Nový blok je rozeslán všem lidem zapojeným do sítě. Každý uzel potom ověří a potvrdí platnost nového bloku. Pokud všechny uzly potvrdí jeho platnost, přidají tento blok do svého blockchainu. Všechny uzle v síti tvoří většinový konsensus a shodují se na tom, které bloky jsou platné a které ne. Zmanipulované bloky budou odmítnuty ostatními uzly v síti.
Abyste úspěšně zmanipulovali blockchain, musíte zmanipulovat všechny bloky v řetězci, přepočítat proof-of-work pro každý blok, a kontrolovat více než 50% celé peer-to-peer sítě. Jen poté bude zmanipulovaný blok potvrzen a ověřen ostatními členy sítě. A to je téměř nemožné. Blockchainy se navíc neustále vyvíjejí. Jednou z posledních novinek jsou tzv.
chytré kontrakty. Tyto kontrakty jsou jednoduché programy uložené v blockchainu, které mohou být využity k automatické směně peněz při splnění určitých podmínek. O chytrých kontraktech si řekneme více v dalším videu. Vytvoření technologie blockchainu vzbudilo zájem mnoha lidí. Někteří si brzy uvědomili, že tuto technologii lze využít pro mnoho věcí, jako uložení lékařských záznamů, vytvoření digitálního notáře nebo výběr daní.
Teď již víte, co to je blockchain, jak funguje a k čemu se dá použít. Chcete se naučit, jak vytvořit jednoduchý blockchain v Javascriptu? Podívejte se na toto video. A jako vždy, děkuji, že jste se dívali.
Skoro jako razítko notáře. Blockchain však neměl širší využití a to až do roku 2009, kdy jej Satoshi Nakamoto použil k vytvoření digitální kryptoměny Bitcoin. Blockchain je distribuovanou účetní knihou, která je každému volně přístupná. Blockchainy mají zajímavou vlastnost: jakmile jsou do nich nějaká data zanesena, je velice těžké je změnit. Jak to tedy funguje? Řekněme si nejprve, co je to blok. Každý blok obsahuje nějaká data, vlastní hash a hash předchozího bloku.
Typ dat, který je uložen v bloku, je závislý na typu blockchainu. Například blockchain Bitcoinu ukládá informace o proběhlých transakcích, jako je odesílatel, příjemce a celková částka. Každý blok má také hash, přičemž hash je v principu podobný otisku prstu. Hash přesně identifikuje blok a veškerý jeho obsah, a je unikátní stejně jako otisk prstu. Jakmile je blok vytvořen, musí se vypočítat jeho hash.
Jakákoliv změna bloku také způsobí změnu hashe. Jinými slovy, s pomocí hashů lze efektivně odhalit změny v blocích. Jestliže se "otisk prstu" bloku změnil, už to není ten samý blok. Třetím elementem každého bloku je hash předchozího bloku. Díky tomu z bloků vzniká provázaný řetězec, proto je blockchain tak bezpečný. Ukažme si to na příkladu. Tady máme řetězec sestávající ze 3 bloků.
Jak vidíte, každý blok obsahuje svůj vlastní hash a hash předchozího bloku. Blok číslo 3 odkazuje na blok číslo 2, a blok číslo 2 odkazuje na blok číslo 1. Blok číslo 1 je výjimečný, protože je to úplně první blok a nemůže odkazovat na žádný předchozí blok. Nazýváme jej "původní blok." Řekněme, že budete manipulovat s blokem číslo 2, což způsobí i změnu hashe tohoto bloku.
Blok 3 a všechny ostatní bloky však teď budou neplatné, protože neobsahují platný hash předchozího bloku. Změna jediného bloku tedy zruší platnost všech následujících bloků Použití hashů však nestačí k zabránění manipulacím. Počítače jsou totiž v dnešní době velmi výkonné a zvládnou vypočítat stovky tisíc hashů za sekundu. Mohli byste tak jednoduše zmanipulovat blok a přepočítat všechny hashe ostatních bloků a potvrdit tak platnost svého řetězce.
Tomu blockchain předchází pomocí tzv. proof-of-work, "důkazu práce," což je mechanismus zpomalující vytváření nových bloků. V případě Bitcoinu trvá vypracování proof-of-work, vytvoření nového bloku a jeho připojení do řetězce asi 10 minut. Tento mechanismus výrazně znesnadňuje manipulaci existujících bloků, protože k manipulaci jednoho bloku je zapotřebí předělat proof-of-work i pro všechny následující bloky v řetězci.
Bezpečnost blockchainu tedy vychází z chytrého využití hashů a mechanismu proof-of-wok. Blockchainy mají ještě jednu složku zabezpečení, a tou je decentralizace. Namísto využití centrálního správního subjektu, blockchainy používají P2P sítě, ke kterým se může kdokoliv přidat Když se někdo k síti přidá, obdrží úplnou kopii blockchainu.
Uživatel s vlastním uzlem tak může ověřit, že je vše v pořádku. Co se tedy stane, když někdo vytvoří nový blok? Nový blok je rozeslán všem lidem zapojeným do sítě. Každý uzel potom ověří a potvrdí platnost nového bloku. Pokud všechny uzly potvrdí jeho platnost, přidají tento blok do svého blockchainu. Všechny uzle v síti tvoří většinový konsensus a shodují se na tom, které bloky jsou platné a které ne. Zmanipulované bloky budou odmítnuty ostatními uzly v síti.
Abyste úspěšně zmanipulovali blockchain, musíte zmanipulovat všechny bloky v řetězci, přepočítat proof-of-work pro každý blok, a kontrolovat více než 50% celé peer-to-peer sítě. Jen poté bude zmanipulovaný blok potvrzen a ověřen ostatními členy sítě. A to je téměř nemožné. Blockchainy se navíc neustále vyvíjejí. Jednou z posledních novinek jsou tzv.
chytré kontrakty. Tyto kontrakty jsou jednoduché programy uložené v blockchainu, které mohou být využity k automatické směně peněz při splnění určitých podmínek. O chytrých kontraktech si řekneme více v dalším videu. Vytvoření technologie blockchainu vzbudilo zájem mnoha lidí. Někteří si brzy uvědomili, že tuto technologii lze využít pro mnoho věcí, jako uložení lékařských záznamů, vytvoření digitálního notáře nebo výběr daní.
Teď již víte, co to je blockchain, jak funguje a k čemu se dá použít. Chcete se naučit, jak vytvořit jednoduchý blockchain v Javascriptu? Podívejte se na toto video. A jako vždy, děkuji, že jste se dívali.
Komentáře (10)
Radek91 (anonym)Odpovědět
15.08.2019 14:56:20
Pokud někdo pořád tápe a zajímal by ho celkem zajímavý příklad, který se snaží vysvětlit Blockchain jednoduše a zároveň by ho bavil Podcast, tak tady jsem narazil na zajímavej díl - https://open.spotify.com/episode/3aB4hxxSh991TEXK6Y5iiz?si=Yjr5S9ASQBKFfNGQPMDrzQ
dryd (anonym)Odpovědět
21.02.2018 22:02:32
hash nie je unikatny!
jjkOdpovědět
11.02.2018 12:50:08
"Díky decentralizované struktuře blockchainu získá každý, kdo se přidá, jeho úplnou kopii"
A, hmm, není to docela hromada dat ke stažení? Např. všechny transakce od začátku bitcoinu až po dnešní den... Nějak tomu nerozumím.
PiranhaGregOdpovědět
11.02.2018 19:56:37
Samotná data mohou být uložena i jinde, než v blockchainu. Využívají se oba přístupy.
Např. nejznámější kryptoměny vše ukládají přímo do blockchainu a zabírají tak stovky GB ;-). Viz např. tato tabulka: https://bitinfocharts.com/ (řádek Blockchain Size).
RohlajzOdpovědět
10.02.2018 22:51:24
Vítej Atto!
Atto (Překladatel)Odpovědět
11.02.2018 10:15:25
Díky! :)
Patricius (anonym)Odpovědět
05.03.2018 18:09:53
+AttoOzvi se mi prosím. Jde o Tvoje videa, jsou super. arbolet@email.cz
Morty22 (anonym)Odpovědět
10.02.2018 18:03:35
Moc díky a prosím víc videí o této problematice.
BugHer0 (Překladatel)Odpovědět
10.02.2018 21:14:24
Coming soon. :-)