🎯 Difficulty Adjustment: Keeping the Race Fair
Learn how Bitcoin adjusts difficulty every 2016 blocks to maintain 10-minute blocks
Your Progress
0 / 5 completed←
Previous
Mining Competition
⚖️ Difficulty Adjustment
Bitcoin's difficulty adjustment is its self-regulating mechanism. Every 2016 blocks (~2 weeks), the network recalculates difficulty to maintain a 10-minute block time regardless of hash rate changes.
🎯 The 10-Minute Target
Bitcoin is designed to produce one block every 10 minutes on average. This creates a predictable issuance schedule (6.25 BTC every 10 min = ~900 BTC/day).
⏱️
10 min
Target block time
📦
2016
Blocks per adjustment (~2 weeks)
🔄
±25%
Max adjustment per period
🎮 Interactive: Difficulty Adjustment Simulator
Watch how difficulty adjusts to maintain 10-minute block times
Blocks Mined
0
Avg Block Time
0.0m
Current Difficulty
100
Next adjustment in:2016 blocks
🔧 How Adjustment Works
1️⃣
Measure Actual Time
After 2016 blocks, measure how long it actually took. Target: 20,160 minutes (2 weeks).
actual_time = timestamp(block_2016) - timestamp(block_0)
2️⃣
Calculate Ratio
Compare actual time to target time. If blocks came faster, ratio >1 (increase difficulty).
ratio = actual_time / target_time (20,160 min)
3️⃣
Apply Adjustment
Multiply current difficulty by ratio (capped at ±25% to prevent wild swings).
new_difficulty = old_difficulty * ratio (max 4x or 0.25x)
📊 Historical Difficulty Changes
📈
+25%2021 Bull Run
Hash rate surge during Bitcoin rally
📉
-25%China Mining Ban (2021)
50% of hash rate disappeared overnight
⚡
-7%2022 Bear Market
Unprofitable miners shut down
💡 Why This Is Genius
✅
Predictable Supply
New BTC issued at steady ~900 BTC/day regardless of mining activity
✅
Self-Stabilizing
Network automatically adapts to hash rate changes without human intervention
✅
Fair Competition
Adding more hash power doesn't get you more total BTC, just a bigger share of same pie
✅
Robust to Attacks
Sudden hash rate drops don't permanently slow the network