<p>Mining is (very close to) memoryless, i.e. every new hash you calculate gives you an equal chance at finding a valid hash with sufficient Proof of Work. In a perfectly memoryless system, large miners (or pools) have no benefit over smaller miners because their larger amount of past work does not give them any advantage in finding the next valid hash.</p>
<p>This makes calculating the pool's estimated hash rate straightforward. In a given time period,
if n<sub>t</sub> is the total number of blocks found by all miners, n<sub>p</sub> the number of blocks found by the pool, and h<sub>t</sub> the total hash rate, then the pool hash rate h<sub>p</sub> can be calculated as:</p>
<p>h<sub>p</sub> = (n<sub>p</sub> / n<sub>t</sub>) * h<sub>t</sub></p>
<p>Of course, as your question indicates this is just an estimation:</p>
<ul>
<li>the total network's hashrate can only be <em>estimated</em> from the current difficulty and the rate at which blocks are mined, it can not be <em>calculated</em></li>
<li>the mining process is probabilistic, pools will mine sometimes more and sometimes less blocks than their share of hash rate would suggest</li>
<li>we can't verify which blocks are mined by which mining pool, this is all based on <a href="https://bitcoin.stackexchange.com/a/86197/129640">optional, voluntary and unverifiable information provided by the miner</a></li>
</ul>

CC BY-SA 4.0
2022-08-30T10:58:38.210Z
2022-08-30T10:58:38.210Z
stickies-v
<p>What is the formula used to estimate the pool hashrate based on the number of blocks found by that pool? For example, Braiins provides an estimated hashrate that is calculated based on the amount of blocks each pool has found. I a looking for a formula that requires knowing only the network difficulty and the number of blocks found by each entity during a given period.
<a href="https://insights.braiins.com/en/" rel="nofollow noreferrer">https://insights.braiins.com/en/</a></p>

<mining-pools><difficulty><hashpower>
How to estimate pool hashrates based on the number of blocks they have found?
Apod
# How to estimate pool hashrates based on the number of blocks they have found?

(Asked by: username_0 on 2022-08-29)

What is the formula used to estimate the pool hashrate based on the number of blocks found by that pool? For example, Braiins provides an estimated hashrate that is calculated based on the amount of blocks each pool has found. I a looking for a formula that requires knowing only the network difficulty and the number of blocks found by each entity during a given period.
<https://insights.braiins.com/en/>

**Tags:** mining-pools, difficulty, hashpower


---

## 1 answers

### Answer by username_1 on 2022-08-30. Score: 0 | Accepted answer

Mining is (very close to) memoryless, i.e. every new hash you calculate gives you an equal chance at finding a valid hash with sufficient Proof of Work. In a perfectly memoryless system, large miners (or pools) have no benefit over smaller miners because their larger amount of past work does not give them any advantage in finding the next valid hash.

This makes calculating the pool's estimated hash rate straightforward. In a given time period,
if nt is the total number of blocks found by all miners, np the number of blocks found by the pool, and ht the total hash rate, then the pool hash rate hp can be calculated as:

hp = (np / nt) \* ht

Of course, as your question indicates this is just an estimation:

* the total network's hashrate can only be *estimated* from the current difficulty and the rate at which blocks are mined, it can not be *calculated*
* the mining process is probabilistic, pools will mine sometimes more and sometimes less blocks than their share of hash rate would suggest
* we can't verify which blocks are mined by which mining pool, this is all based on [optional, voluntary and unverifiable information provided by the miner](https://bitcoin.stackexchange.com/a/86197/129640)


---

