Why it's an estimate
No one can observe every miner on the Zcash network. Miners connect and disconnect freely, run different hardware at varying speeds, and are distributed across the globe. There's no central registry of mining power.
Instead, we work backwards from something the network does reveal: difficulty. Zcash is designed so that new blocks are found roughly every 75 seconds on average. To maintain this pace, the network automatically adjusts difficulty after every block. When more miners join and blocks are found too quickly, difficulty increases. When miners leave and blocks slow down, difficulty decreases.
Because difficulty tracks how hard it is to find a block, and we know the target block rate, we can reverse-engineer the total computational power.
The formula
Here's the formula:
The 8,192 factor (213) comes from the Equihash mining algorithm that Zcash uses. 75 is the target block spacing in seconds. The result is expressed in solutions per second (Sol/s).
Because the numbers are large, you'll see them abbreviated throughout the explorer:
- KSol/s: thousands (103)
- MSol/s: millions (106)
- GSol/s: billions (109). Most common for the current network.
- TSol/s: trillions (1012)
Building the charts
When you view solrate over time on the Mining page, we don't just plot one number per block. Instead, we group blocks into time buckets and average the difficulty within each bucket:
The bucket width depends on the time range you've selected:
- 24 hours: hourly buckets
- 1 week: 4-hour buckets
- 1 month: daily buckets
- 3 months: daily buckets
- 1 year / all time: weekly buckets
This averaging smooths out the natural variance in individual block times. A single block might take 30 seconds or 3 minutes, but averaged over many blocks in a bucket, the trend is clear.
Per-pool solrate
For individual mining pools, we take it one step further. Within each time period, we look at which pool mined each block, identified by signatures pools leave in each block. A pool's estimated solrate is then proportional to their share of blocks:
You can see per-pool estimated solrates on the Pools page (24-hour view) and on individual pool detail pages. These are labeled "Est. Solrate" to make it clear they are estimates.
Important caveats
- This is an estimate, not a measurement. The actual solrate fluctuates moment to moment, but difficulty adjustments smooth this out over time.
- Only confirmed blocks are counted. Orphaned or stale blocks (which didn't make it into the final blockchain) are excluded from the calculation.
- Pool attribution relies on identification. Blocks from miners who don't leave identifiable signatures show up as "Unknown" on the Pools page.
- Short-term variance is normal. Over small time windows, a pool might find more or fewer blocks than their solrate would predict, just like flipping a coin doesn't always give you exactly 50/50. The estimates become more accurate over longer periods.
- Difficulty adjusts per-block on Zcash. Unlike Bitcoin's 2-week adjustment cycles, Zcash uses a smoothing algorithm that adjusts difficulty with every block, so the solrate estimate is responsive but short-term spikes in difficulty can appear in the data.