Security & Resilience
Mining difficulty history, and how to read it
Protocol referenceSource: Bitcoin Core consensus rules; block headersNo difficulty value is quoted here; a difficulty figure is a market datum with a vintage this page does not carry.
- Written by
- The Bitcoin Data Guide editorial team
- Reviewed by
- Data review desk
- Dates
- Published 2026-10-31 · Last reviewed 2026-10-31
Fact
Difficulty is written into every block header and changes only at a retarget boundary, every 2,016 blocks.
Forecast
What difficulty will be at a future date depends on the hash rate that enters or leaves the network, which is an outcome rather than a forecast this page can make.
Where a difficulty figure comes from
Difficulty is a field in every block header. It is not a running total and it is not stored in a separate database; it is written into each block as it is mined, and it stays the same for the 2,016 blocks of a retarget period. A difficulty series is therefore reconstructed by reading the header of each block and taking the difficulty field, which means any two series built from the same chain agree exactly. There is no estimation in the difficulty figure itself.
The value changes only at a retarget boundary. Every 2,016 blocks the protocol compares the time the period actually took against the two weeks it was meant to take, and adjusts difficulty in proportion. The adjustment is clamped: difficulty may at most quadruple or fall to a quarter in a single period, which bounds how fast it can move even if the hash rate changes abruptly.
Because difficulty is written into the header, a difficulty series carries the vintage of the chain it was read from. A series that ends at a given block height is a record of the past up to that height and says nothing about the future. Any figure quoted from such a series should be labelled with the height or date it was read at, or a reader cannot tell how current it is.
What the vintage means
A difficulty figure is a snapshot, not a trend. The value at a given block height is exact and reproducible, but the value at the next retarget depends on how much hash rate was pointed at the network during the period, which is not known until the period closes. A series that plots difficulty over time is a record of retarget outcomes, and each point is the result of a period that has already finished.
This is why a difficulty series must be quoted with its source and its end height. Two providers can publish different-looking series and both be correct, because they may have read the chain at different heights or plotted at different intervals. The underlying values are the same; the presentation differs. A reader comparing two series should check that they end at the same height before concluding that they disagree.
The difficulty adjustment is the mechanism that ties difficulty to hash rate, and the difficulty adjustment page sets out the retarget rule in full. The hashrate page explains the quantity difficulty is competing over, and the data sources page records where the site's own figures originate.
Sources
- Bitcoin Optech
- Difficulty adjustment — the 2,016-block retarget and the clamp on how far difficulty may move in one period.
- Bitcoin Core
- Consensus documentation — the difficulty field in the block header and the retarget calculation.
Related reading
- Security & ResilienceHow the network resists attack, and what happens when it is stressed.
- Can Miners Cheat?What a miner can and cannot do with the block it finds, and why invalid blocks fail.
- Double SpendingHow a double spend works, and why confirmation depth is the defence.
- 51% AttacksWhat a majority of hash rate can achieve, and what it cannot.
- Eclipse AttacksHow a node can be isolated from the honest network, and the defences against it.
- When Your Node Goes OfflineWhy a disconnected node is not a threat, and how it catches up on return.