Protocol & Mining
Hashrate, and why it is an estimate rather than a record
Bitcoin Core 28.x consensus rules; explorer estimates vary by windowSource: Bitcoin Core consensus documentation; mempool.space network statisticsThird-party hashrate estimates differ because each uses a different averaging window; no single figure is authoritative.
What the figure measures
Hashrate is a rate, not a count. It expresses how many double-SHA-256 attempts the whole network makes per second while searching for valid block headers. The unit is hashes per second, and because the numbers are enormous the field is written in SI prefixes: a terahash is a trillion hashes per second, a petahash a quadrillion, an exahash a quintillion. A network figure quoted in exahashes per second is therefore a statement about the order of magnitude of the search, not a precise instrument reading.
The quantity is a property of the network as a whole, not of any individual machine. A single application-specific integrated circuit might deliver a few hundred terahashes per second; a large mining facility might run tens of thousands of them. What the published network figure describes is the sum of all of that capacity, wherever it is and whoever operates it, averaged over some window.
It is worth being precise about what hashrate is not. It is not the number of hashes performed, which is unbounded and unrecorded. It is not a measure of how many coins were mined, which depends on the subsidy and the pool's luck. And it is not a measure of profitability, which depends on the price of bitcoin, the cost of electricity and the efficiency of the machines — none of which the protocol knows anything about.
Why it is estimated rather than stored
A block header records the difficulty target it was mined against, the timestamp, and the nonce that produced a valid hash. It does not record how many attempts the miner made before finding that nonce, because the miner has no reason to publish the failures and no mechanism to prove them. The chain therefore contains no direct measurement of hash rate at all.
What the chain does contain is enough to infer it. Difficulty fixes the expected number of hashes required to find one block: the network's total hash rate multiplied by the expected time to find a block equals the work implied by the difficulty. Rearranged, the estimated hash rate is the difficulty-derived work per block divided by the observed average time between blocks. Every published figure is some version of that division.
The estimate is noisy because block discovery is a random process. Blocks do not arrive every ten minutes; they arrive at random intervals with a mean of ten minutes, and over a short window the observed mean can be far from the true one. An estimate computed over a single day can swing by tens of per cent without any change in the underlying hardware. Providers smooth this by averaging over longer windows — a week, a month, or a difficulty period — which is why two reputable sources can publish different current figures and both be defensible.
A second source of divergence is the treatment of the difficulty change itself. Difficulty is constant within a retarget period and steps at its boundary, so an estimate that assumes the current difficulty across a window that spans a retarget will be slightly wrong at the seam. Providers handle the seam differently, and the difference shows up as a small offset between their series.
How it differs from difficulty
Difficulty and hash rate are related by a constant, and the constant is the ten-minute target. Difficulty is a consensus parameter: it is a number written into every block header, agreed by every node, and changed only at a retarget boundary. Hash rate is a derived statistic: it is computed off-chain from difficulty and observed block times, and no two providers compute it identically.
The practical consequence is that difficulty is exact and hash rate is approximate. A reader can state the difficulty at a given block height and be certain of the answer, because it is in the header. A reader who states a hash rate must also state the window it was averaged over and the provider it came from, or the figure is not reproducible. This site follows that rule wherever it quotes a network figure.
The two move together over long horizons, because the difficulty adjustment exists precisely to keep block times near ten minutes as hash rate changes. A sustained rise in hash rate produces faster blocks, which produces a difficulty increase at the next retarget, which restores the interval. The difficulty adjustment page sets out that feedback loop, and the proof of work page explains why the work being counted is what secures the chain. The mining economics page covers what that capacity costs to run.
Sources and references
- Bitcoin Optech, Difficulty adjustment, for the relationship between difficulty, target and expected work per block that the hash-rate estimate inverts.
- mempool.space mining dashboard, a named provider whose published hash-rate series states the averaging window it uses.
- The Bitcoin Developer Reference for the header fields — difficulty bits and timestamp — from which every estimate is derived.
Related reading
- Protocol, Transactions & MiningThe supply schedule, transaction mechanics and mining economics behind the price.
- Proof of WorkThe hash puzzle, the target and nonce, and why accumulated work secures the chain.
- Difficulty AdjustmentThe 2,016-block retarget, its caps, and the ten-minute target it defends.
- Mining PoolsPooled hash rate, share accounting, payout schemes and centralisation.
- Miner RevenueThe block subsidy plus fees, and how the mix changes across subsidy epochs.
- Mining EconomicsCapital and energy costs, break-even, hashprice and compressing margins.