<p>We know which miner/pool mined a block only if that miner/pool chose to identify themselves.  Most commonly, they do this by inserting their name or other recognizable signature in the block's coinbase transaction, which is allowed to contain arbitrary data.  Sites like blockchain.info can then record statistics about how many blocks were mined by which pools.</p>

<p>You'll see entries even for very small pools if they identify themselves.  For instance KanoPool is shown on that page as having 0.3% of all hash power in the past 48 hours.  This is because they mined 1 block out of the roughly 288 total blocks during that time, which is 0.3%.  KanoPool apparently identifies its blocks with the string <code>KanoPool (=O.O=)</code> in the coinbase (<a href="https://blockchain.info/tx/2b3528bba7e763795c226819cdde6ce0544778e9bd9b7d2ed885576f14e4c9e1" rel="noreferrer">example</a>).</p>

<p>Presumably someone at blockchain.info is maintaining a list of known pools and their identifiers.  But it may not be complete; for instance, <a href="https://blockchain.info/block/0000000000000000002bfb5616db00d596752f2b36e265293e1a3fb52f77a102" rel="noreferrer">block 552572</a> has in <a href="https://blockchain.info/tx/dbba092a8978fc41426663f8c921a8d7ec50d8fee8fc145405ddb8ac2c880382" rel="noreferrer">its coinbase</a> the string <code>BTPOOL</code>, which is presumably the name of some pool.  Blockchain.info lists it as "unknown", probably because <code>BTPOOL</code> isn't in their list of known identifiers.  Maybe they'll add it later.</p>

<p>Other blocks don't contain any recognizable identifier at all.  For instance, the <a href="https://blockchain.info/tx/a95e9e1381a2fa9549f17cbd25590193d0d566dd0326be151412fc67c19eb042" rel="noreferrer">coinbase</a> of block 552568 doesn't contain anything that looks to me like text, and Blockchain.info doesn't recognize it either.  We won't ever know who mined this block unless they choose to identify themselves someday.  (For instance, maybe the data in that coinbase is a nonce signed with some private key; then someone could prove that they mined the block by signing some other data with that same key.)</p>

CC BY-SA 4.0
2019-12-13T14:30:54.107Z
How do you get the string `KanoPool (=0.0=)` or `BTPOOL`? While you refer specific coinbase transactions, I do not understand where from and how you got these names.
Tomas Greif
CC BY-SA 4.0
2019-12-13T14:49:35.920Z
@TomasGreif: Select the HEX display and look at the sigscript.  One of the values listed there contains `4b616e6f506f6f6c20283d4f2e4f3d2920` which are the ASCII codes for `KanoPool (=0.0=) `.  I think blockchain.com used to display these directly in ASCII, which made it easy to see without decoding - they seem to have changed their format since I posted the answer.
Nate Eldredge
CC BY-SA 4.0
2018-05-14T00:59:58.660Z
2018-05-14T00:59:58.660Z
Nate Eldredge
<p>There are websites that talk about each mining pool's total % of hashrate.</p>

<p>I think they do that by calculating what % of the last X blocks were mined by a particular miner/pool.</p>

<p>But how can we know who mined a block?</p>

<hr>

<p>Edit : this isn't a duplicate. </p>

<p>That other question mentions that: "People could try to trace where the mined bitcoins are first seen and where they go. And you could trace the first IPs known to report the blocks"</p>

<p>Sites produce very detailed stats covering mining pools with as little as 0.3% of the global hash rate. <a href="https://blockchain.info/pools" rel="noreferrer">see this</a></p>

<p>There's probably some very reliable method for doing this and I'd like a detailed answer about it.</p>

CC BY-SA 4.0
2018-05-14T00:29:26.103Z
Possible duplicate of [How to tell who mined a bitcoin?](https://bitcoin.stackexchange.com/questions/22925/how-to-tell-who-mined-a-bitcoin)
Nate Eldredge
CC BY-SA 4.0
2018-05-14T00:30:15.177Z
See also https://bitcoin.stackexchange.com/questions/70274/why-do-some-blocks-not-have-miners-name-identity/70279#70279.  Short answer: we know who mined a block if that miner/pool chooses to identify themselves in some way, commonly by including their name in the coinbase transaction.  If they don't do so, then we don't know.
Nate Eldredge
CC BY-SA 4.0
2018-05-14T00:38:47.627Z
Nate, so do you know what % of mined blocks can be linked to a specific miner/pool?
Damian Siniakowicz
<mining-pools><privacy><hashpower>
How do we know which miner or pool mined a block?
Damian Siniakowicz
# How do we know which miner or pool mined a block?

(Asked by: username_0 on 2018-05-14)

There are websites that talk about each mining pool's total % of hashrate.

I think they do that by calculating what % of the last X blocks were mined by a particular miner/pool.

But how can we know who mined a block?

---

Edit : this isn't a duplicate.

That other question mentions that: "People could try to trace where the mined bitcoins are first seen and where they go. And you could trace the first IPs known to report the blocks"

Sites produce very detailed stats covering mining pools with as little as 0.3% of the global hash rate. [see this](https://blockchain.info/pools)

There's probably some very reliable method for doing this and I'd like a detailed answer about it.

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

> **Comments:**
> **username_1**: Possible duplicate of [How to tell who mined a bitcoin?](https://bitcoin.stackexchange.com/questions/22925/how-to-tell-who-mined-a-bitcoin)  
> **username_1**: See also https://bitcoin.stackexchange.com/questions/70274/why-do-some-blocks-not-have-miners-name-identity/70279#70279.  Short answer: we know who mined a block if that miner/pool chooses to identify themselves in some way, commonly by including their name in the coinbase transaction.  If they don't do so, then we don't know.  
> **username_0**: username_1, so do you know what % of mined blocks can be linked to a specific miner/pool?  

---

## 1 answers

### Answer by username_1 on 2018-05-14. Score: 5 | Accepted answer

We know which miner/pool mined a block only if that miner/pool chose to identify themselves. Most commonly, they do this by inserting their name or other recognizable signature in the block's coinbase transaction, which is allowed to contain arbitrary data. Sites like blockchain.info can then record statistics about how many blocks were mined by which pools.

You'll see entries even for very small pools if they identify themselves. For instance KanoPool is shown on that page as having 0.3% of all hash power in the past 48 hours. This is because they mined 1 block out of the roughly 288 total blocks during that time, which is 0.3%. KanoPool apparently identifies its blocks with the string `KanoPool (=O.O=)` in the coinbase ([example](https://blockchain.info/tx/2b3528bba7e763795c226819cdde6ce0544778e9bd9b7d2ed885576f14e4c9e1)).

Presumably someone at blockchain.info is maintaining a list of known pools and their identifiers. But it may not be complete; for instance, [block 552572](https://blockchain.info/block/0000000000000000002bfb5616db00d596752f2b36e265293e1a3fb52f77a102) has in [its coinbase](https://blockchain.info/tx/dbba092a8978fc41426663f8c921a8d7ec50d8fee8fc145405ddb8ac2c880382) the string `BTPOOL`, which is presumably the name of some pool. Blockchain.info lists it as "unknown", probably because `BTPOOL` isn't in their list of known identifiers. Maybe they'll add it later.

Other blocks don't contain any recognizable identifier at all. For instance, the [coinbase](https://blockchain.info/tx/a95e9e1381a2fa9549f17cbd25590193d0d566dd0326be151412fc67c19eb042) of block 552568 doesn't contain anything that looks to me like text, and Blockchain.info doesn't recognize it either. We won't ever know who mined this block unless they choose to identify themselves someday. (For instance, maybe the data in that coinbase is a nonce signed with some private key; then someone could prove that they mined the block by signing some other data with that same key.)

> **Comments:**
> **username_2**: How do you get the string `KanoPool (=0.0=)` or `BTPOOL`? While you refer specific coinbase transactions, I do not understand where from and how you got these names.  
> **username_1**: @username_2: Select the HEX display and look at the sigscript.  One of the values listed there contains `4b616e6f506f6f6c20283d4f2e4f3d2920` which are the ASCII codes for `KanoPool (=0.0=) `.  I think blockchain.com used to display these directly in ASCII, which made it easy to see without decoding - they seem to have changed their format since I posted the answer.  

---

