The target
A block is valid only if its hash is below a number set by the network.
Step 5 of 144 min readUpdated October 5, 2026
The rule: a smaller number#
A hash is a number, a very large one. The network sets another number, the target, and the rule is simple: a block is valid if its hash is lower than or equal to the target. Nothing else about the hash matters.
Since hashes are unpredictable, every attempt is like drawing a random number between 0 and 2²⁵⁶. The lower the target, the rarer a winning draw.
About the leading zeros#
You will often read that a block hash must “start with many zeros”. It is a useful picture, not the rule: a number written in hexadecimal that is smaller than the target usually has as many zeros in front, but what counts are all the digits. Try it with a practice target:
00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000021ef00000000000000000000000000000000000000000000000000000000000006823c66adca44d6d8172d657bca08c3e83498ade8b1fAccepted: below the target
0000000000000000000fffffffffffffffffffffffffffffffffffffffffffffRejected: above the target
At the bottom, the real target of a recent block and its winning hash. The third line has exactly as many zeros as the target, yet it is rejected: after the zeros, its digits are larger.
Each hexadecimal digit has 16 possible values, so each extra leading zero is 16 times rarer: about one hash in 16 starts with 0, one in 256 with 00, one in 4,096 with 000. At the end of every automatic session, Mini Miner counts how many of your hashes reached each level, next to that expectation.
What it means in odds#
Each hash has a chance equal to the target divided by 2²⁵⁶. For block 969,985, that is about one in 570 sextillion (5.7 × 10²³). The same draw, repeated by every miner in the world, produces one winner about every ten minutes.
Difficulty: the same thing, readable#
The difficulty expresses the target as a human number: how many times harder it is than the easiest target ever allowed. Block 969,985 had a difficulty of about 132.7 trillion. On average, a block requires difficulty × 2³² hashes.
Technical details
The target is stored in the header in 4 bytes, the nbits field: one byte of exponent, three bytes of mantissa. For block 969,985, 0x17021ef0 means 0x021ef0 × 256^(0x17 − 3). Difficulty is the maximum target (that of difficulty 1, 0x1d00ffff) divided by the current target.