Skip to content
buybitcoinsmart

Glossary / Mining & consensus

Target threshold

Also known as Target.

Definition
The target threshold is the 256 bit number a block header hash must fall at or below for the block to count as valid proof of work.

Mining is a comparison, not a puzzle with an answer. A miner hashes a candidate header, reads the 32 byte result as a number, and checks whether it is small enough. Valid hashes are rare by design, so the only way to find one is to keep trying, and that repeated trying is what converts electricity into the security of the chain.

How it works

The target threshold is a ceiling on a number, and the number is the double SHA-256 hash of the 80 byte block header.

A node hashes the header, reads the result as a little endian integer, and compares it against the target decoded from the header's nBits field. A lower target means fewer acceptable hashes and more attempts required. The easiest ceiling mainnet allows is 0x00000000FFFF0000 followed by zeros, which corresponds to difficulty 1 and to roughly one valid hash in every 4,295 million attempts. Multiply that by the current difficulty and you get the expected work per block: at the 148.2 trillion difficulty recorded in the final adjustment of 2025, an average block costs the whole network in the region of 640 zettahashes.

Two details are easy to get wrong. First, the test is "less than or equal to", so a hash exactly equal to the target is valid. Second, the leading zeros everyone points at in a block hash are an artifact of how hashes are displayed, not the rule itself. Explorers print them in reverse byte order, so a small number appears as a run of zeros on the left, but the consensus check is arithmetic and never counts characters.

There is also a hard ceiling written into the rules, called powLimit, which no retarget may exceed. It is what stops the threshold from loosening without limit if a large share of the network switched off at once.

Where you see it

The target threshold is almost never printed as itself, so you meet it in one of three disguises.

Block explorers show it as difficulty, which is simply the easiest allowed target divided by the current one. Mining software receives it inside a getblocktemplate response as a target field. Pools send their machines a share target that is deliberately far easier than the network target, so a rig can prove it is working without having to find a real block first. Bitcoin Core applies the rule in CheckProofOfWork, a few lines that decode nBits, reject anything above powLimit or at or below zero, and then compare.

Test networks loosen it on purpose. Testnet allows a minimum difficulty block after twenty minutes without one, which is why test coins are trivial to mine and worth nothing at all.

Target threshold vs difficulty

The target threshold is the raw limit; difficulty is a readable rendering of the same fact, and the two move in opposite directions. When difficulty doubles, the target halves. Difficulty exists because a 64 digit hex ceiling is impossible to compare at a glance, and because a ratio travels across years: difficulty 1 in January 2009 against 148.2 trillion at the end of 2025 tells a story that two hex strings cannot.

Not to be confused with

Frequently asked questions

Why do valid block hashes start with zeros?

Because explorers print hashes in reverse byte order, so a small number looks like a run of leading zeros. The consensus rule is numeric: the hash read as an integer must be at or below the target.

Is the target the same on testnet?

No. Test networks use much easier targets, and testnet even permits a minimum difficulty block after twenty minutes without one. That is why testnet coins can be mined on a laptop and have no value.

Related terms

More in Mining & consensus