Difficulty
Also: difficulty target, difficulty adjustment
mining · intermediate
A periodically-adjusted parameter that keeps Bitcoin's block time at ~10 minutes regardless of how much hashrate is online.
Bitcoin's [proof-of-work](/glossary/proof-of-work) game requires miners to find a block hash below a target value. Lower target → fewer valid hashes → harder problem. Difficulty is just the convenient way to express that target: difficulty 1 corresponds to the original genesis-era target; difficulty 100 trillion means a problem 100 trillion times harder.
Every 2016 blocks — roughly two weeks at the design cadence — every node independently retargets:
- If the previous 2016 blocks took less than 14 days, difficulty goes up.
- If they took more than 14 days, difficulty goes down.
- The change is capped at ±4× to prevent runaway swings.
This is the feedback loop that keeps issuance on schedule as global [hashrate](/glossary/proof-of-work) grows. Hashrate has scaled roughly 10¹⁴× since 2009. Block times stayed at ~10 minutes because difficulty climbed in lockstep.
The retarget is not a vote and not a committee decision — every full node computes the same target from the same chain history. The current difficulty is consensus, and disagreeing with it means leaving the network. The [difficulty tool](/tools/difficulty) plots this curve since genesis.