Jak minerzy używają nonce?
Miner tworzy nagłówek bloku, ustawia nonce na 0 i oblicza jego hash. Jeśli hash jest większy od celu, ustawia nonce na 1 i próbuje ponownie, potem 2 i tak dalej. Nazwa to skrót od „liczby użytej raz”.
Żaden nonce nie jest lepszy od innego. Nie da się przewidzieć hasha, więc każda próba ma taką samą, bardzo małą szansę na sukces. Dzięki temu mining jest uczciwy: więcej prób na sekundę oznacza więcej szans i nic więcej nie pomaga.
Co się dzieje po wyczerpaniu wartości nonce?
Cztery bajty mogą przechować tylko 4 294 967 296 wartości. Nowoczesna maszyna sprawdza je wszystkie w czasie znacznie krótszym niż tysięczna sekundy. Dlatego miner zmienia coś innego w bloku i zaczyna od nowa.
Pętla górnika
- 01
Sprawdź każdy nonce
0, 1, 2 i tak dalej, aż do 4 294 967 295. To wszystkie wartości, które można zapisać na 4 bajtach.
- 02
Szybko się kończy
Jedna maszyna o mocy 100 TH/s przechodzi przez wszystkie w około 43 milionowych części sekundy.
- 03
Zmień dodatkowy nonce
Górnik edytuje zapasowe pole we własnej transakcji nagrody (coinbase).
- 04
Nowy korzeń Merkle’a
Ta transakcja się zmieniła, więc zmienia się korzeń Merkle’a, a każde nonce znów daje nowe hashe.
Zwykle używa się extra nonce, dodatkowego pola w transakcji coinbase. Zmiana tej wartości zmienia korzeń Merkle’a, co daje zupełnie nowy zestaw nagłówków do sprawdzenia. Minerzy mogą też nieznacznie zmieniać znacznik czasu, a wiele współczesnych maszyn pozwala im zmieniać kilka bitów pola wersji.
Źródła
- Nonce · Bitcoin Wiki
- Algorytm haszowania bloku · Bitcoin Wiki
- Informacje o łańcuchu bloków: nagłówki, drzewa Merkle’a, cel · Dokumentacja dla deweloperów Bitcoin
Bieżące dane na tej stronie pochodzą z API CloudMineCrypto i publicznych danych łańcucha bloków. Są regularnie odświeżane i oznaczone w miejscach, w których się pojawiają. Wyłącznie do celów edukacyjnych, to nie jest porada finansowa.