Blockchain Analytics
Core metrics derived from Bitcoin blockchain data
Network Hashrate
The network hashrate represents the total computational power being applied to Bitcoin mining. It cannot be measured directly but is estimated from the difficulty and expected block time.
Theoretical Hashrate
The "theoretical" or "implied" hashrate assumes blocks are being found at exactly the 10-minute target rate. This is the standard industry method used by most analytics platforms.
- $H$
- Network hashrate (hashes per second)
- $D$
- Current difficulty
- $2^{32}$
- ≈ 4.295 billion (scaling factor from Bitcoin's hash target)
- $T_{target}$
- Target block time = 600 seconds (10 minutes)
Actual Hashrate
The "actual" hashrate uses observed block times instead of the 10-minute target. This can show real-time fluctuations but is noisier due to mining variance.
- $T_{observed}$
- Average observed block time (seconds) over a lookback period
ELEKTRON displays theoretical hashrate by default because it provides a stable baseline. Actual hashrate is available for epoch analysis and short-term monitoring.
Unit Conversions
| Unit | Value | Typical Use |
|---|---|---|
| H/s | 1 | Base unit |
| TH/s | $10^{12}$ | Individual ASIC miners |
| PH/s | $10^{15}$ | Mining pools, farms |
| EH/s | $10^{18}$ | Network total |
Difficulty & Adjustments
Bitcoin's difficulty adjusts every 2016 blocks (approximately 2 weeks) to maintain the 10-minute average block time target.
Difficulty Adjustment
- $D_{new}$
- New difficulty for next 2016 blocks
- $D_{old}$
- Previous difficulty
- $T_{target}$
- Target time for 2016 blocks = 2016 × 600 = 1,209,600 seconds
- $T_{actual}$
- Actual time taken for the previous 2016 blocks
Estimated Difficulty Change
We estimate the upcoming difficulty adjustment based on the current epoch's progress:
- $T_{projected}$
- = $\bar{T}_{epoch} \times 2016$ (projected total epoch time)
- $\bar{T}_{epoch}$
- Average block time in current epoch so far
Bitcoin limits difficulty changes to ±300% per adjustment to prevent extreme swings. In practice, changes rarely exceed ±15%.
Block Time Analysis
Block time is the duration between consecutive blocks. Due to the Poisson process of mining, actual block times follow an exponential distribution.
Expected Distribution
With a target mean of 10 minutes, block times follow:
- $\lambda$
- = 1/600 (rate parameter, blocks per second)
- $t$
- Time in seconds
Block Interval Consistency Score
We calculate a consistency score showing how close observed block times are to target:
A score of 100 means blocks are being found exactly at the 10-minute target. Higher hashrate growth leads to faster blocks (score > 100 before adjustment).
Supply & Halvings
Block Subsidy Schedule
Bitcoin's block reward halves every 210,000 blocks (approximately 4 years):
| Era | Block Heights | Subsidy (BTC) | Approximate Date |
|---|---|---|---|
| 1 | 0 - 209,999 | 50 | 2009 - 2012 |
| 2 | 210,000 - 419,999 | 25 | 2012 - 2016 |
| 3 | 420,000 - 629,999 | 12.5 | 2016 - 2020 |
| 4 | 630,000 - 839,999 | 6.25 | 2020 - 2024 |
| 5 | 840,000 - 1,049,999 | 3.125 | 2024 - 2028 |
Total Supply
Halving Projection
We estimate the next halving date using recent block time averages:
- $B_{remaining}$
- = Next halving height - Current height
- $\bar{T}_{recent}$
- Average block time over last 2016 blocks (seconds)
- 86400
- Seconds per day
Block Space Utilization
Block Weight
Since SegWit (2017), Bitcoin uses "weight units" instead of raw bytes:
- $W$
- Block weight (max 4,000,000 weight units)
- $B_{base}$
- Non-witness data size (bytes)
- $B_{witness}$
- Witness data size (bytes)
Utilization Percentage
Empty Blocks
A block with only the coinbase transaction (n_tx = 1) is considered "empty." These typically occur when:
- A miner finds a block before validating mempool transactions
- SPV mining during block propagation (first few seconds)
- Intentional empty block mining (rare)
Epoch Statistics
An "epoch" in Bitcoin refers to the 2016-block period between difficulty adjustments.
Epoch Progress
Epoch-Based Hashrate
A more stable hashrate estimate using only current epoch data:
Epoch-based hashrate reflects the actual mining conditions since the last difficulty adjustment, while theoretical hashrate assumes perfect 10-minute blocks. The difference indicates whether hashrate is growing (faster blocks) or declining (slower blocks).