Hogyan használják a bányászok a nonce-ot?
A bányász összeállít egy blokkfejlécet, a nonce értékét 0-ra állítja, majd kiszámítja a hashét. Ha a hash nagyobb a célnál, a nonce értékét 1-re állítja, és újra próbálkozik, aztán 2-vel, és így tovább. A név az angol „number used once” (egyszer használatos szám) rövidítése.
Egyik nonce sem jobb a másiknál. A hash nem jósolható meg, ezért minden próbálkozásnak ugyanakkora, nagyon kicsi esélye van a sikerre. Ettől méltányos a bányászat: ha másodpercenként többször próbálkozol, több esélyed van, és semmi más nem segít.
Mi történik, ha elfogynak a nonce értékei?
Négy bájt mindössze 4 294 967 296 értéket tud felvenni. Egy modern gép jóval egy ezredmásodperc alatt végigpróbálja mindet. Ezért a bányászok módosítanak valami mást a blokkban, és elölről kezdik a nonce értékeit.
A bányászat ciklusa
- 01
Próbálj végig minden nonce-ot
0, 1, 2 és így tovább egészen 4 294 967 295-ig. Ennyi értéket tud tárolni 4 bájt.
- 02
Gyorsan elfogy
Egyetlen 100 TH/s-os gép körülbelül 43 milliomod másodperc alatt végigpróbálja mindet.
- 03
A nonce kiegészítő részének módosítása
A bányász módosít egy szabad mezőt a saját jutalomtranzakciójában (a coinbase-ben).
- 04
Új Merkle-gyökér
Ez a tranzakció megváltozott, ezért a Merkle-gyökér is megváltozik, és minden nonce új hash-eket eredményez.
A leggyakoribb megoldás az extra nonce, amely egy tartalék mező a coinbase-tranzakcióban. Ha ezt módosítják, megváltozik a Merkle-gyökér, így teljesen új blokkfejlécek próbálhatók ki. A bányászok az időbélyeget is kis mértékben módosíthatják, és manapság sok gépen a verziómező néhány bitjét is változtathatják.
Források
- Nonce · Bitcoin Wiki
- Blokkok hash-elési algoritmusa · Bitcoin Wiki
- Hivatkozás a blokkláncról: fejlécek, Merkle-fák, célérték · Bitcoin fejlesztői dokumentáció
Az oldal élő adatai a CloudMineCrypto API-jából és a nyilvános blokkláncból származnak, rendszeresen frissülnek, és a megjelenésüknél fel vannak tüntetve. Csak oktatási célra, nem pénzügyi tanácsadás.