Experiment Lab

Change one thing, watch the whole system respond

Mining power, block discovery, difficulty and the mempool on one machine, driven by one simulation. Choose an experiment, predict what will happen, then run it.

Explanation level

What happens when half the network's mining power disappears?

Half the miners switch off. Blocks keep coming, but about twice as slowly, because the puzzle has not changed. Only after 2016 blocks does the network look back, see that they took too long, and make the puzzle easier.

Predict first (optional)

Choose your prediction, then run the experiment. The answer comes from the simulation itself, not from a button.

Half the miners leave. What will the next difficulty adjustment do?

Run the experiment to see the answer.

Simulated time has not started. The machine runs the experiment from its fixed seed.

The experiment machine loads when it scrolls into view.

Open the machine on its own

Open the machine in its own window · Works offline; nothing is sent anywhere.

Bitcoin's rules in this experiment

  • Difficulty Every 2016 blocks the target is recomputed: new = old × actual timespan / 1,209,600 s, the timespan limited to between a quarter and four times two weeks, and the result rounded to compact precision (Bitcoin Core CalculateNextWorkRequired).
  • Difficulty The timespan is measured from the period's first to its last block, 2015 intervals, a long-known quirk that is now part of consensus.
  • Difficulty Difficulty never reacts to a change in hash rate before the period ends.
  • Blocks A block may weigh at most 4,000,000 weight units, which is 1,000,000 vB.

Assumptions of this experiment

  • Blocks Block discovery is modelled as a Poisson process: each wait is exponential with mean = expected work per block / hash rate, drawn from a seeded generator.
  • Time Block timestamps equal the moment of discovery, rounded to whole seconds. Real miners' clocks vary within the consensus limits.
  • Mining Hash rate changes in one step at the stated block; in reality miners leave or join over hours or days. Starting hash rate: 600 EH/s, a round value of the right order of magnitude (somewhat below public estimates for 2025–2026), not live data. Block times and retargets in the experiments do not depend on its exact value.
  • Difficulty The experiment starts at the beginning of a period with a target that matches the starting hash rate exactly (ten minutes per block on average).
  • Mempool Transactions arrive as a seeded Poisson process at the stated rate (6 per second at the start), each 250 vB, with a fixed mix of fee rates from 1 to 200 sat/vB. Real users adjust their fees to the market.
  • Mempool Miners fill each block with up to 1,000,000 vB, highest fee rate first. Real miners select transaction packages (ancestors, clusters) and some leave room unused.
  • Mempool The mempool holds at most 100 million vB, roughly what Bitcoin Core's default 300 MB memory limit keeps (a node policy, not a consensus rule). Above it the lowest fee rates are evicted first. There is no expiry and no replacement in the experiment, and demand does not react to fees, so backlogs grow larger than real users would let them.