Obtížnost je hodnota používaná k prokázání toho, jak těžké je najít hash to bude nižší než cíl definovaný systémem.
Síť bitcoinů má globální obtížnost blokování. Platné bloky musí mít hash pod tímto cílem. Těžařské fondy mají také obtížnost sdílení pro konkrétní fond, která stanoví dolní limit pro akcie.
Obtížnost bitcoinové těžby
V bitcoinové síti je nastavena globální obtížnost pro všechny bloky. být považován za legitimní, musí mít hodnotu hash nižší než stanovený cíl.
Mapa obtížnosti těžby kryptoměny
Obtížnost se mění každých 2016 bloků. Vypočítává se to podle následujícího vzorce:
kde cíl je 256bitové číslo.
Obtížnost_1_target může mít různé hodnoty. Tradičně se jedná o hashovací funkci, jejíž prvních 32 bitů se rovná 0, zatímco zbytek je 1 (nazývá se to také obtížnost pdiff nebo pool). Bitcoinový protokol poskytuje cíl jako typ s plovoucí desetinnou čárkou a omezenou přesností. Různí bitcoinoví klienti často na základě těchto dat určují obtížnost kryptoměny.
Ukládání obtížnosti kryptoměny do bloků
Každý blok obsahuje zabalenou verzi (nazývanou „Bits“) hexadecimálního cíle.
Pomocí následujícího vzorce lze cíl získat z libovolného bloku. Pokud se například cíl zabalený v bloku zobrazí jako 0x1b0404cb, jeho hexadecimální verze bude vypadat takto:
Maximální hodnota pro toto pole je 0x7fffff, zatímco minimum je 0x008000.
Maximální možný cíl ( s obtížností rovnou 1) je definována jako 0x1d00ffff, která se v hexadecimálním číslování zobrazuje následovně:
Další je snadný způsob výpočtu obtížnosti. K logaritmu používá pozměněnou verzi Taylorovy řady a při transformaci výpočtu obtížnosti se spoléhá na protokoly.
Maximální, aktuální a minimální obtížnost
Aktuální obtížnost může být zjistit pomocí bitcoinového příkazového řádku „getDifficulty“.
Vzhledem k tomu, že cílová funkce nemá minimální hodnotu, lze maximální obtížnost vypočítat pouze přibližně takto: maximum_target / 1 (protože 0 by vedlo rovnici k nekonečně velké ), což je nepochopitelné číslo (~ 2 až 224).
Minimální obtížnost je rovna 1.
Změny obtížnosti
Obtížnost se mění každý rok 2016 bloky na základě času potřebného k objevení předchozích bloků roku 2016. Pokud je blok nalezen každých 10 minut (jak bylo původně zamýšleno pro rovnoměrné emise), nalezení 2016 bloků bude trvat přesně 2 týdny. Pokud byly předchozí bloky z roku 2016 nalezeny za více než dva týdny, obtížnost těžby kryptoměny bude snížena a pokud budou těženy rychleji, pak bude zvýšena. Čím více (nebo méně) času bylo vynaloženo na nalezení předchozích bloků z roku 2016, tím více potíží bude sníženo (zvýšeno).
Chcete-li vytěžit hash bloku, musí být nižší než targer (proof-of-work) . Hash je náhodné číslo mezi 0 a 2 * 256-1.
Obtížnost je nastavena, jako kdybychom našli předchozí bloky z roku 2016 rychlostí jednoho bloku za 10 minut
Průměrná doba nalezení jednoho bloku lze vypočítat pomocí tohoto vzorce: čas = obtížnost * 2 ** 32 / hashrate, kde „obtížnost“ je aktuální úroveň obtížnosti kryptoměny sítě s obtížemi BTC a „hashrate“ je množství hashů, které miner najde za sekundu.
Jaká je aktuální obtížnost?
Aktuální obtížnost online, jako výstup bitcoinové getDifficulty.
Graf obtížnosti bitcoinu
Jaká je maximální obtížnost?
Tady není žádný minimální cíl. Maximální obtížnost je zhruba: maximum_target / 1 (protože 0 by vedlo k nekonečnu), což je směšně velké číslo (asi 2 ^ 224).
Skutečná maximální obtížnost je, když current_target = 0, ale pokud by se to stalo, nebyli bychom schopni vypočítat obtížnost. (Naštěstí to nikdy nebude, takže jsme v pořádku.)
Může síťová obtížnost klesnout?
Ano, může.
Jaká je minimální obtížnost BTC?
Minimální obtížnost, když je cíl na maximální povolené hodnotě, je 1.
Jaká hash rychlost sítě má za následek danou obtížnost?
Obtížnost se upravuje každých 2016 bloků na základě času potřebného k nalezení předchozích 2016 bloků. Při požadované rychlosti jednoho bloku každých 10 minut by hledání bloků 2016 trvalo přesně dva týdny. Pokud hledání předchozích bloků z roku 2016 trvalo déle než dva týdny, obtížnost se sníží. Pokud to trvalo méně než dva týdny, obtížnost se zvýšila. Změna obtížnosti je úměrná množství času, které trvalo najít bloky z roku 2016 nebo méně než dva týdny.
Chcete-li najít blok, hash musí být menší než cíl. Hash je ve skutečnosti náhodné číslo mezi 0 a 2 ** 256-1.Ofset pro obtížnost 1 je
a pro obtížnost D je
Očekávaný počet hashů, které musíme vypočítat, abychom našli blok s obtížností D, je proto
nebo jen
Obtížnost je nastavena tak, že předchozí bloky roku 2016 by byly nalezeny rychlostí jednoho každých 10 minut, takže jsme za 600 sekund počítali hash (D * 2 ** 48 / 0xffff) . To znamená, že hašovací rychlost sítě byla
oproti předchozím blokům z roku 2016. Lze jej dále zjednodušit na
bez velké ztráty přesnosti.
Při obtížnosti 1 je to přibližně 7 Mhash za sekundu.
V době psaní tohoto článku obtížnost je 22012,4941572, což znamená, že během předchozí sady bloků z roku 2016 byla průměrná hodnota hash sítě
Jak brzy mohu očekávat vygenerování bloku?
(Věčná otázka.)
Průměrnou dobu nalezení bloku lze odhadnout výpočtem:
kde obtížnost je aktuální obtížnost, hashrate je počet hashů, které váš miner vypočítá za sekundu, a čas je průměr v sekundách mezi bloky, které najdete.
Například pomocí Pythonu vypočítáme průměrný čas pro generování bloku pomocí těžební soupravy 1Ghash / s když je obtížnost 20000:
a zjistíte, že to trvá průměrně necelých 24 hodin.
- Každé mletí hash má stejnou šanci na „výhru“ jako jakýkoliv jiný. Hra s čísly určuje, kolik pokusů může váš hardware provést za sekundu.
- Musíte znát obtížnost (výše) a vaši rychlost khash / s (nahlášenou klientem).
- Těžba Porovnání hardwaru má některé statistiky, které vám mohou pomoci předpovědět, co byste mohli získat.
- Navštivte kalkulačku nebo si sami proveďte matematiku,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- Pamatujte, že je to jen pravděpodobnost! Neexistují žádné záruky, že vyhrajete každých N dní.
Viz také
- Důkaz práce
- Blokovat
- Seznam kryptoměn
- Potvrzení transakce
- Těžařské fondy