0

Since it’s not possible to know mining pools nodes addresses, how do we know the that a specific node owing 15% of share belongs to btc.com for example ?

  • I don't understand your question. Generally it's not known which nodes belong to miners. – Pieter Wuille Apr 22 at 5:41
  • @PieterWuille if I understand correctly the hashrate is computed from recent block mined and we known how each block was mined by who through the ɪᴘ of the node used by the mining pool right ? Then how we know that node ɪᴘ belongs to a specific pool ? – user2284570 Apr 22 at 10:04
1

The only way to know which pool has mined a particular block is by identifying data that miners include in the coinbase transaction. However care must be taken as this data can be faked. Also many mining pools omits this, which is why there are many blocks that are from "unknown" miners.

Let us take the last block mined by BTC.com, which is #572639. To look at the coinbase data, you will need to look at the first transaction included in the block which is 806e80560f7c87059b9103d8bd4fca7be14810af47940c40464276d971fd2625. After you decode this transaction you will get the following input:

"vin": [
        {
            "coinbase": "03dfbc080479b0bc5c672f4254432e434f4d2ffabe6d6d6b01cdd5d0aa44ffa14f158f90119afef5e5440b5f6ff324e74a988e6db4294d0100000000000000cb2b382f00005a2197460000",
            "sequence": 4294967295
        }

In the coinbase data, pay close attention to the part 5c672f4254432e434f4d2f. This data is included in all blocks mined by BTC.com pool. If you decode this you get '\\g/BTC.com':

>>> pool_data = '5c672f4254432e434f4d2f' 
>>> bytes.fromhex(pool_data).decode()
'\\g/BTC.COM/'
0

The share of hash rate of mining pools which some websites display is an approximation based on who has mined recent blocks, and not an accurate measure of actual hash rate.

When a mining pool constructs a new block template, they can optionally include their name inside the coinbase, which is used in place of the scriptSig on the input of the first transaction in the block, and can include arbitrary data.

The websites displaying pool statistics simply extract this information from each block's coinbase and aggregate it for N preceding blocks. There is no requirement to include the information, which makes up the "unknown" miners, and there is also no obligation for anyone to be honest about who they are, so anybody successfully mining a block could claim to be somebody else.

  • is an approximation based on who has mined recent blocks that’s the point of the question : how to know who mined a specific block ? – user2284570 Apr 22 at 10:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.