Jak těžaři používají nonce?
Těžař sestaví hlavičku bloku, nastaví nonce na 0 a vypočítá její hash. Pokud je hash vyšší než cílová hodnota, nastaví nonce na 1 a zkusí to znovu, pak 2 a tak dál. Název je zkrácením anglického výrazu „number used once“ (číslo použité jednou).
Žádná hodnota nonce není lepší než jiná. Hash nelze předvídat, takže každý pokus má stejně nepatrnou šanci na úspěch. Díky tomu je těžba férová: čím víc pokusů za sekundu, tím víc šancí. Nic jiného nepomůže.
Co se stane, když dojdou hodnoty nonce?
Čtyři bajty pojmou jen 4 294 967 296 hodnot. Moderní zařízení je vyzkouší všechny za mnohem méně než tisícinu sekundy. Těžaři proto změní něco jiného v bloku a začnou nonce znovu od začátku.
Smyčka těžaře
- 01
Vyzkoušet všechny nonce
0, 1, 2 a tak dál až do 4 294 967 295. To jsou všechny hodnoty, které se vejdou do 4 bajtů.
- 02
Rychle dojdou
Jediný stroj s výkonem 100 TH/s je všechny zpracuje asi za 43 miliontin sekundy.
- 03
Změň extra nonce
Těžař upraví volné pole ve vlastní transakci s odměnou (coinbase).
- 04
Nový Merkleův kořen
Tato transakce se změnila, takže se změnil i merkle root a každý nonce teď znovu dává nové hashe.
Obvykle se použije extra nonce, pomocné pole v coinbase transakci. Její změna změní Merkleův kořen, a tím vznikne celá nová sada hlaviček k vyzkoušení. Těžaři mohou také mírně posunout časové razítko a na mnoha dnešních zařízeních měnit několik bitů pole verze.
Zdroje
- Nonce · Bitcoin Wiki
- Algoritmus hashování bloku · Bitcoin Wiki
- Odkaz k řetězci bloků: hlavičky, Merkleovy stromy, cíl · Dokumentace pro vývojáře Bitcoinu
Aktuální údaje na této stránce pocházejí z API CloudMineCrypto a veřejných dat blockchainu. Pravidelně se obnovují a jsou označené tam, kde se zobrazují. Pouze pro vzdělávací účely, nejde o finanční poradenství.