Miten louhijat käyttävät noncea?
Louhija muodostaa lohkon otsakkeen, asettaa nonce-arvoksi 0 ja laskee siitä tiivisteen. Jos tiiviste ylittää tavoitearvon, louhija asettaa nonce-arvoksi 1 ja yrittää uudelleen, sitten arvolla 2 ja niin edelleen. Sana on lyhenne ilmauksesta ”number used once” eli kerran käytettävä luku.
Mikään nonce ei ole toista parempi. Tiivistettä ei voi ennustaa, joten jokaisella yrityksellä on yhtä pieni mahdollisuus onnistua. Siksi louhinta on reilua: mitä enemmän yrityksiä sekunnissa, sitä enemmän mahdollisuuksia. Mikään muu ei auta.
Mitä tapahtuu, kun nonce-arvot loppuvat?
Neljä tavua riittää vain 4 294 967 296 arvoon. Nykyaikainen laite käy ne kaikki läpi reilusti alle tuhannesosasekunnissa. Siksi louhijat muuttavat lohkossa jotain muuta ja aloittavat noncen alusta.
Louhijan silmukka
- 01
Kokeile kaikkia nonce-arvoja
0, 1, 2 ja aina 4 294 967 295:een asti. Siinä ovat kaikki arvot, jotka 4 tavuun mahtuvat.
- 02
Loppuu nopeasti
Yksi 100 TH/s:n laite käy ne kaikki läpi noin 43 sekunnin miljoonasosassa.
- 03
Muuta ylimääräistä nonce-arvoa
Louhija muokkaa omaan palkkiotapahtumaansa (coinbaseen) kuuluvaa ylimääräistä kenttää.
- 04
Uusi Merkle-juuri
Tapahtuma muuttui, joten Merkle-juuri muuttuu ja jokainen nonce tuottaa taas uusia tiivisteitä.
Yleensä käytetään ylimääräistä noncea, joka on coinbase-tapahtuman varakenttä. Sen muuttaminen muuttaa Merkle-juurta ja antaa kokeiltavaksi kokonaan uuden joukon lohkon otsakkeita. Louhijat voivat myös siirtää aikaleimaa hieman ja monissa nykyisissä laitteissa muuttaa muutamaa version kentän bittiä.
Lähteet
- Nonce · Bitcoin Wiki
- Lohkon tiivistealgoritmi · Bitcoin Wiki
- Lohkoketjun viiteopas: otsakkeet, Merkle-puut, tavoite · Bitcoinin kehittäjädokumentaatio
Sivun reaaliaikaiset luvut perustuvat CloudMineCrypto API:n ja julkisen lohkoketjun tietoihin. Niitä päivitetään säännöllisesti, ja ne merkitään näkyviin siellä, missä niitä käytetään. Vain tiedoksi, ei taloudellista neuvontaa.