TĚŽBA KRYPTOMĚN: Jak těžit kryptoměny, princip, návratnost, návod na MINING
Jednou z hlavních výhod kryptoměn je decentralizace. Decentralizované kryptoměny nepodléhají žádné bance ani žádnému úřadu. V těchto platebních sítích neexistuje ani žádný nadřazený server, přes který by všechny transakce procházely. Pokud například posíláte platbu bankovním převodem, tak jde platba přes centrální server banky, který platby zkontroluje, zaeviduje a potvrdí. U kryptoměn ale nic takového není. Přesto je ovšem nutné transakce kontrolovat, aby je uživatelé nemohli falšovat. A právě to zajišťuje tzv. těžba kryptoměn (mining).
Jak funguje těžba kryptoměn
Těžba je proces, při kterém se kontrolují a potvrzují transakce v síti. Tento proces celou síť také zabezpečuje. Je tedy jasné, že pro správné fungování kryptoměn je těžba nezbytná. Jelikož ale v síti neexistuje žádný centrální počítač, který by těžbu zajistil, musí těžbu zajistit počítače obyčejných uživatelů – těžařů. Těžba kryptoměn je ovšem pro výpočetní techniku velmi náročný proces, takže aby uživatelé měli motivaci těžit, tak systém těžaře bohatě odměňuje.
Na úvod si těžbu vysvětleme zjednodušeně. Uživatel si do počítače nainstaluje speciální program a připojí počítač k internetu. Program se napojí na kryptoměnovou síť, začne zpracovávat příchozí informace a řeší u toho nelehkou matematickou úlohu. Takto pracují počítače všech těžařů. Těžař, jehož počítat vyřeší úlohu jako první, získá odměnu v podobě několika digitálních mincí. Velikost odměny má hodnotu stovek, tisíců nebo až desetitisíců dolarů. Ostatní těžaři mají smůlu a musí začít řešit novou úlohu.
Princip těžby kryptoměn
Jakmile těžař uzamkne blok, tak začíná těžba (mining). Transakce uložené v bloku jsou v této fázi odeslané, ale ještě nejsou potvrzené ani zaúčtované. Program těžařů vezme blok a pomocí matematické hashovací funkce je upravuje. Hashovací funkce převádí velké množství dat do krátkého řetězce symbolů (čísel a písmen), který se označuje jako hash. Když změníte třeba jediný znak v desetistránkovém souboru, tak se výsledný hash kompletně změní.
Vytvořit hash je snadné, ale rozluštit jej zpět na původní data je prakticky nereálné. Je to jako když sčítáte čísla. Pokud máte sečíst čísla 3,2 a 5, tak existuje jen jeden správný výsledek (a ten je 10). Pokud se vás ale někdo zeptá, která tři čísla musíte sečíst, abyste dostali výsledek 10, tak existuje nespočet různých možností. A stejně tak nelze určit, jaká byla původní data u hashe.
Každá kryptoměna má nastaveno, jak dlouho bude trvat, než se vytěží jeden blok (u bitcoinu třeba 10 minut). Vytvořit hash z bloku transakcí ale počítačům netrvá ani sekundu. Proto systém pravidelně upravuje složitost těžení tím, že přidává dodatečné požadavky, které musí výsledný hash splňovat. Takovým požadavkem může být, aby hash začínal několika nulami. Jenže aby se změnil hash, tak musíte změnit vstupní data. A nikdo přece nechce, aby se měnily informace o transakcích. Ty musejí zůstat původní. Proto se využívá „proof of work“ (v překladu důkaz o práci).
Proof of Work
Ještě než začne program s těžbou, přidá do bloku tzv. „nonce“. Nonce je text, který sice nedává smysl, ale změní výsledný hash. Tuto část textu můžete měnit tak dlouho, dokud výsledný hash nesplňuje všechny požadavky. Program jednoduše změní nonce, vyřeší hash a zkontroluje, jestli výsledek splňuje požadavky. Když ne, tak se cyklus opakuje. Za vteřinu moderní počítače zvládají miliony těchto cyklů za sekundu i více. Pro někoho je to možná překvapující, ale těžba kryptoměn je skutečně založena na metodě pokus-omyl.
Příklad: Jak změna dat ovlivní výsledný hash názorně ukazuje kalkulátor, který převede text na hash pomocí bitcoinového algoritmu SHA256. Dejme tomu, že řešený blok obsahuje tři transakce a výsledný hash má začínat dvěma nulami. Na obrázku (vlevo) je hash samotných dat, který ovšem začíná číslem 5. Jelikož nechcete změnit informace o transakcích, ale chcete změnit hash, tak přidáte „nonce“. Tuto část souboru pak náhodně měníte tak dlouho, dokud nezískáte hash začínající dvěma nulami (vpravo).
Nyní je patrné, že čím výkonnější počítač máte, tím více hashů za sekundu dokážete prověřit. A čím více hashů dokážete prověřit, tím větší je šance, že jeden z nich bude správný. V začátcích se těžilo přes počítačové procesory, později přes grafické karty, ale dnes se u většiny kryptoměn využívají výkonné ASIC čipy. Nejen výkonnější hardware, ale také rostoucí počet těžařů má ovšem za následek, že celkový výkon všech těžařů rapidně roste. A to je potřeba zohlednit. S rostoucím výkonem se totiž zkracuje čas, za který dojde k objevení správného hashe.
Ve zdrojovém kódu každé kryptoměny je proto naprogramováno, aby se jednou za čas složitost těžby upravila. Cílem těchto úprav je, aby se neměnila doba, za kterou se má vytěžit jeden blok. Pokud se doba začne zkracovat, zvýší se požadavky na výsledný hash. Pokud se doba prodlužuje, tak systém požadavky na výsledný hash sníží.
Zaúčtování nového bloku a připsání odměn
Když nějaký program odhalí správné řešení, tak upozorní ostatní těžaře a zašle jim přesnou podobu řešeného bloku s výsledným hashem. Ostatní těžaři během chvilky blok (tj. transakce v bloku), i jeho hash ověří. Pokud je vše bez problému, tak se blok připojí ke starším blokům do blockchainu. Blockchain je soubor, který obsahuje informace o všech platbách v síti a který mezi sebou uživatelé sdílejí. Je to vlastně veřejná účetní kniha, do které může kdokoliv nahlédnout.
Těžba kryptoměn je závod s časem. Těžař, který jako první odhalí správný hash, získá slibovanou odměnu a ostatní mají smůlu. Odměnou je několik digitálních mincí dané kryptoměny, které se při potvrzení bloku vygenerují. Další odměnou jsou poplatky z transakcí, které byly součástí bloku. Jakmile je blok potvrzen, tak se všechny obsažené transakce zaúčtují a už je nelze vzít zpět.
Když posíláte platbu, tak máte možnost připojit libovolný poplatek pro těžaře. Je to jakási odměna za zpracování vaší transakce, na kterou byste neměli zapomínat. Těžaři totiž mohou libovolné transakce z bloku ještě před zahájením těžby odstranit a dělají to právě s transakcemi, které obsahují malý nebo nulový poplatek. Taková transakce pak musí čekat v síti na další blok a její zaúčtování trvá podstatně déle.
Sjednocení sítě
Jakmile se potvrdí, že byl právě vytěžen nový blok, tak všichni těžaři přeruší těžbu a začínají těžit od znova, s novými transakcemi, které mezi tím v síti zaznamenali a ověřili. Ještě před tím ale musí zkontrolovat, zda některé z transakcí, které se chystají uzamknout v bloku, nebyly zaúčtované už v předchozím bloku. Každá transakce se totiž sítí šíří postupně. Když těžaři před těžbou uzamknou nasbírané transakce do bloku, tak se některé transakce nestihnou dostat ke všem těžařům. Někteří těžaři je proto zařadí až do dalšího bloku. Těžaři se zkrátka musí nejprve sjednotit s poslední verzí blockchainu, než začnou těžit.
Někdy se může stát, že se v síti objeví dvě správné řešení současně. V takovém případě se sít rozdělí a každá část pracuje s jinou verzí blockchainu (byť se oba liší jen posledním blokem). Ke sjednocení dojde až při vyřešení dalšího bloku. V takovém případě část sítě zaznamená, že se sítí šíří řešení, které navazuje na odlišný blockchain. Programy zanalyzují, kde se blockchain rozdělil a přejmou tu větev, která je delší (tzn. ta větev, ve které těžaři právě vyřešili správný výsledek).
Diskuze, zkušenosti
Díky za dobrý článek.
Uvidim jak to funguje, pak popr. coment. Kamca G
Super kámoš na tom vydělal 200 000 za rok
Dobrý… zkoušim taky těžit, zaměřuji se na startující měny (kdyby to náhodou vyšlo :DDD ). Přeji hodně štěstí všem :)
Jak dostanu výtěžek z těžby do reálného světa?
Pokud myslíte reálné peníze (FIAT), tak v tom případě stačí vytěženou kryptoměnu směnit prostřednictvím burzy či směnárny třeba na CZK.