Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: amaclin on July 29, 2016, 08:13:12 AM



Title: Is there any stats for mining pool hashrate distribution?
Post by: amaclin on July 29, 2016, 08:13:12 AM
I want to see which pools are growing and which pools are decreasing in the percentage on long-term (1-2 years) scale
Something like this, but the colors should be for AntPool, BitFury, GHashIO, etc
https://i.imgur.com/33hqZ95.png


Title: Re: Is there any stats for mining pool hashrate distribution?
Post by: MHopkins on July 29, 2016, 12:12:22 PM
Is there a way of extracting the IP address from the blockchain of the miner that is awarded a block?


Title: Re: Is there any stats for mining pool hashrate distribution?
Post by: DannyHamilton on July 29, 2016, 12:40:57 PM
Is there a way of extracting the IP address from the blockchain of the miner that is awarded a block?

No.  IP addresses are not stored in the blockchain.

If you are running well connected nodes, that are connected to nearly all the mining pools as peers, then the first peer to relay a block to you is likely to be the peer that generated that block.  You can then store the IP address of the peer that sent you that block as the peer that the block was "received from".  It isn't a guarantee that the peer mined the block. The actual miner may not have sent the block directly to you, but may instead have sent it to someone else that forwarded it to you. The more nodes you are connected to, the more likely that you will receive the block directly from the pool that mined it.

While it is not required, most pools will put identifying information in the generation transaction. Any pool could lie, and put a different pool's identifying information in the transaction if they want (or no identifying information at all).

By using the combination of well connected peers to catch IP addresses and identifying information in the generation transaction, you can make educated guesses about the mining pool that solved the block.  You won't always be right, but you may be right often enough for your purpose.  This is what blockchain.info (https://blockchain.info/pools?timespan=24hours) does.



Title: Re: Is there any stats for mining pool hashrate distribution?
Post by: amaclin on July 29, 2016, 03:00:32 PM
This is what blockchain.info (https://blockchain.info/pools?timespan=24hours) does.
blockchain.info shows this stats only by past few days.
I want to know for example
"What was the percentage of AntPool half year ago?"
"When Eligius went under 3% of total hashrate?"
etc


Title: Re: Is there any stats for mining pool hashrate distribution?
Post by: DannyHamilton on July 29, 2016, 03:11:49 PM
blockchain.info shows this stats only by past few days.

I'm aware.  I was just answering MHopkins about IP addresses and pointing out that if you want the information then you can collect it the same way that blockchain.info does.  In other words, you can run nodes and track in a database your best guess how many blocks are solved by each miner or pool.

I want to know for example
"What was the percentage of AntPool half year ago?"
"When Eligius went under 3% of total hashrate?"
etc

You'll never get completely accurate numbers, since it is a peer-to-peer network and there is no way to know 100% for certain who solved a block.

There may be other services that track the information the way bockchain.info does, and provides a view into their database.  Also, you could just capture the information from blockchain.info on a daily basis and store it in your own database.

You could try scanning the blockchain and capturing the information from the generation transactions to get an approximation.


Title: Re: Is there any stats for mining pool hashrate distribution?
Post by: amaclin on July 29, 2016, 03:26:26 PM
You'll never get completely accurate numbers, since it is a peer-to-peer network and there is no way to know 100% for certain who solved a block.
I'm aware.
I do not need exact numbers. The trend lines are more than enough for me

Quote
You could try scanning the blockchain and capturing the information from the generation transactions to get an approximation.
I am too lazy to do it myself and looking for existing service  ;D