Obtížnost

Pokročilí

Co je obtížnost?

V odvětví kryptoměn se pojem obtížnost vztahuje k úsilí potřebnému k vytěžení bloku. Blockchainy s mechanismem konsenzu Proof of Work (PoW) implementují určitá pravidla, která vedou k tomu, že obtížnost v závislosti na množství hashovacího výkonu v síti roste nebo klesá. Funguje tak proto, aby se bloky nevytvářely příliš rychle a nedocházelo k výkyvům v rámci bezpečnosti sítě.
Bitcoin například stanovuje dobu tvorby bloku přibližně na deset minut (průměrná doba potřebná k nalezení nového bloku). Pokud se bloky nachází příliš rychle, síť zvýší obtížnost, což sníží prahovou hodnotu cíle těžby.

Naopak pokud hledání bloků trvá příliš dlouho, obtížnost se sníží, což zvýší prahovou hodnotu cíle těžby. Prahová hodnota cíle těžby je číslo, které se pravidelně obnovuje. Aby těžař úspěšně vytěžil blok, musí najít hash nižší, než je toto číslo.

Jak funguje těžba: zjednodušený příklad

Můžeme si to ukázat na jednoduchém příkladu. Předpokládejme, že máme výraz „binance“ a chceme vytvořit hash SHA256, jehož výstup je číselně nižší než stanovený cíl, který zhruba odpovídá hashům začínajícím určitým počtem nul v jejich šestnáctkové podobě.

V reálné těžbě se těžaři snaží najít hodnotu hashe nižší, než je cílové číslo, což je velmi velké číslo ve 256bitovém formátu. Můžeme si to znázornit tak, že budeme iterativně přidávat čísla k „binance“ (např. „binance1“, „binance2“, „binance3“) a hashovat je, dokud nezískáme výstup hashe, který splňuje zjednodušené kritérium, například že začíná určitým počtem nul.

V okamžiku, kdy se dostaneme k „binance10“, máme jednu nulu. Pokud chceme, aby první dva znaky byly „0“, musíme pokračovat v hashování až do „binance99“. Abychom získali tři nuly, museli jsme hashovat až do „binance458“. Ale co čtyři nuly? Z prvních dvaceti milionů čísel neexistuje žádný vstup, který by nám dal takový výstup.

To by vám mělo dát představu o tom, jak těžba funguje, s tím rozdílem, že těžaři se snaží najít číslo, které je nižší než cíl. Čím nižší tento cíl je, tím těžší je najít řešení, a proto Bitcoin vyžaduje tolik výpočetního výkonu. Těžaři opakovaně hashují variace stejných informací, aby našli platný hash.

Úprava obtížnosti

Bitcoin upravuje obtížnost těžby přibližně každých 2 016 bloků (zhruba každé dva týdny), aby se průměrný čas tvorby bloku držel kolem 10 minut. Tato úprava vychází z toho, jak dlouho trvalo vytěžit posledních 2 016 bloků. Pokud byly bloky vytěženy rychleji, než se očekávalo, obtížnost se zvýší, aby byla těžba náročnější; pokud pomaleji, obtížnost se sníží, aby byla těžba snazší.

Vývoj těžařského hardwaru

Vzhledem k tomu, že je těžba Bitcoinu tak obtížná, účastníci už dávno opustili běžné počítače a grafické karty ve prospěch účelově vytvořeného hardwaru známého jako ASIC (zákaznický integrovaný obvod). 

Těžba se stala průmyslovou aktivitou, které dominují velké těžařské farmy se specializovaným vybavením, což reflektuje konkurenční povahu sítě a rostoucí obtížnost.

Ne všechny kryptoměny používají mechanismus konsenzu PoW

Musíme zmínit, že ne všechny kryptoměny používají mechanismus konsenzu PoW nebo pracují s obtížností těžby. Například Ethereum přešlo na mechanismus konsenzu Proof of Stake (PoS), který nevyžaduje těžbu ani úpravy obtížnosti.

Závěrem

Obtížnost je dynamický parametr, který udržuje blockchainy s mechanismem konsenzu PoW bezpečné a stabilní tím, že reguluje, kolik výpočetní práce je potřeba k vytěžení nových bloků. Přizpůsobuje se změnám hashovacího výkonu sítě, aby zachoval tempo tvorby bloků a zajistil stabilní fungování blockchainu.