Skip to content
← Corpus

Fact

Difficulty adjustment

VERIFIEDhigh confidenceprotocol

Verified as of 2026-07-22. Not re-checked since.

Every 2016 blocks (~two weeks), each node independently recomputes the proof-of-work target: if the last retarget period took less than two weeks of block timestamps, difficulty rises proportionally; if more, it falls. Each adjustment is clamped to a factor of 4 in either direction. This is deterministic consensus code — no committee or vote sets difficulty.

Nuance: A well-known implementation quirk measures the elapsed time across 2015 intervals rather than 2016, biasing blocks to arrive marginally slower than 10 minutes at constant hashrate (~10.005 min). Fixing it has never been judged worth a consensus change.

Common misstatements:

  • "Difficulty adjusts in real time / every block." — Bitcoin retargets only at 2016-block boundaries (unlike some other chains).
  • "Miners set the difficulty." — Every validating node computes the same required target from chain history; miners must meet it.
  • "If half the hashrate left, Bitcoin would halt." — Blocks would slow (up to ~20-minute averages) until the next retarget, then return toward 10 minutes; the 4x clamp bounds each single adjustment.

Sources (2)

  1. 1.github.comPrimary source

    GetNextWorkRequired / CalculateNextWorkRequired — 2016-block retarget, 4x clamp

  2. 2.learnmeabitcoin.comPublished article

    Documents the off-by-one (timespan measured across 2015 intervals)

Related entries