Mining Target jest nieujemnym progiem liczbowym dla hasha nagłówka przy weryfikacji dowodu pracy. Poprawny cel sieci musi być dodatni i dozwolony; hash nie może go przekroczyć. Niższy cel utrudnia wyszukiwanie.
Bitcoin Core v29.0 odrzuca przy sprawdzaniu pracy hash większy niż wyznaczony cel. Warunek to zatem hash ≤ target, nie wyłącznie ostre mniej niż. Porównuje się liczbowy hash całego nagłówka, nie samo nonce. [Bitcoin Core v29.0 — Proof-of-work checks]
Hashe o różnych wartościach mogą mieć tyle samo początkowych zer. Liczą się także pozostałe cyfry i wartość liczbowa względem celu. Zera obrazują rzadkość, ale nie zastępują pełnego porównania hash ≤ target. [Bitcoin Core v29.0 — Proof-of-work checks]
Pole nBits ma 32 bity, natomiast cel interpretuje się w przestrzeni 256-bitowej. Kodowanie zawiera wykładnik i współczynnik z bitem znaku. Przykładowo 0x04123456 dekoduje się do 0x12345600; to ilustracja formatu, nie obecnie wymagany cel sieci. [Bitcoin Core v29.0 — Compact arithmetic]
W 80-bajtowym nagłówku nBits jest serializowane jako cztery bajty little-endian. Liczbie 0x1d00ffff odpowiada więc ff ff 00 1d. Nie myl kolejności bajtów w odczytywanych danych z kolejnością cyfr wyświetlanej liczby. [Bitcoin Developer Reference — Block headers and nBits]
DeriveTarget w Bitcoin Core v29.0 odrzuca cele ujemne, zero, przepełnienia i wartości ponad powLimit danej sieci. Dowolne zwiększenie nBits nie wystarczy. Poprawne rozpakowanie zwartego zapisu nie dowodzi poprawności celu. [Bitcoin Core v29.0 — Proof-of-work checks]
Kontrola kontekstowa porównuje nBits z GetNextWorkRequired dla poprzedniego bloku i reguł sieci. Niezgodność daje bad-diffbits. Nawet hash poniżej samodzielnie wybranego łatwiejszego celu nie usprawiedliwia błędnego nBits w nagłówku. [Bitcoin Core v29.0 — Contextual and block validation]
Dla modelu równomiernego 256-bitowego hasha i dozwolonego celu T prawdopodobieństwo na próbę wynosi p = (T + 1) / 2^256: akceptowalne są wartości od zera do T włącznie. To wniosek z reguły porównania; sam cel nie określa hashrate’u ani dokładnego czasu następnego bloku. [Bitcoin Core v29.0 — Proof-of-work checks]
Oprócz nagłówka Bitcoin Core sprawdza korzeń transakcji, coinbase, limity bloku i poprawność transakcji. Spełnienie właściwego celu jest konieczne, ale nie zastępuje tych kontroli. Niski hash nie naprawi niepoprawnej zawartości bloku. [Bitcoin Core v29.0 — Contextual and block validation]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Share Difficulty, Proof of Work, Nonce, Nagłówek bloku. Do tego hasła prowadzą również odsyłacze z ASIC Miner, Nonce, Mining Share, Share Difficulty.