Hvordan bruger minere nonce?
En miner bygger en blokheader, sætter nonce til 0 og hasher den. Hvis hashværdien er over målet, sætter mineren nonce til 1 og prøver igen, derefter 2 og så videre. Navnet er en forkortelse for »tal, der kun bruges én gang«.
Ingen nonce er bedre end en anden. Hashværdien kan ikke forudsiges, så hvert forsøg har den samme lille chance for at vinde. Det er det, der gør mining fair: Flere forsøg i sekundet giver flere chancer, og intet andet hjælper.
Hvad sker der, når nonce-mulighederne slipper op?
Fire bytes kan kun rumme 4.294.967.296 værdier. En moderne maskine kommer igennem dem alle på langt under et tusindedel af et sekund. Derfor ændrer minere noget andet i blokken og starter nonce-forløbet forfra.
Minerens løkke
- 01
Afprøv alle nonce-værdier
0, 1, 2 og så videre op til 4.294.967.295. Det er alle de værdier, 4 byte kan rumme.
- 02
Slipper hurtigt op
En enkelt maskine på 100 TH/s kommer igennem dem alle på cirka 43 milliontedele af et sekund.
- 03
Ændr den ekstra nonce
Mineren redigerer et ekstra felt i sin egen belønningstransaktion (coinbase).
- 04
Ny Merkle-rod
Den transaktion blev ændret, så merkle-roden ændres, og hver nonce giver nye hashes igen.
Det sædvanlige valg er den ekstra nonce, et reservefelt i coinbase-transaktionen. Når den ændres, ændres Merkle-roden, hvilket giver et helt nyt sæt headers at prøve. Minere kan også justere tidsstemplet og på mange maskiner i dag ændre nogle få bits i versionsfeltet.
Kilder
- Nonce · Bitcoin Wiki
- Hashalgoritme for blokke · Bitcoin Wiki
- Reference til blockchain: headere, Merkle-træer, mål · Bitcoin developer documentation
Live-tal på denne side kommer fra CloudMineCrypto API og offentlige blockchain-data. De opdateres jævnligt og er mærket dér, hvor de vises. Kun til læring, ikke finansiel rådgivning.