Pages

Monday 24 August 2015

August 23rd 2015 Mining Pool Statistics



Changelog:
  • Nil.

Errorlog:
  • Nil.
To do:

  • Second blockwise profit plot (similar to orphan plot).

0. EclipseMC profitability
75% profitability over 94 blocks is not impossible, but (given the drama over BFL and concerns about the ownership of the pool) it could be cause for concern. 

1. Eligius profitability
Even losing an orphan race, Eligius' average profitability over 59 blocks was a huge 117%. Now if WK can just reduce that orphan rate (2.4% over the past 6 months) ...

User account hashrate distributions still needed
Now that you can see more of the interesting analyses I can perform if I have this data, you might be even more keen to encourage your pool to provide a "Hall of Fame" feed. To reiterate, I need user account hashrates in order to estimate a number of different network statistics, and to do that I need user account hashrates averaged over at least an hour, preferably several hours or more. The data can be anonymised - it's just the user hashrates I need.


Explanation of the tables and charts

Pool reported block history statistics. This table lists all statistics that can be derived from the number of blocks a hashrate contributor has solved for the past week using all solved blocks - both valid and orphaned - and difficulty 1 shares per round. 
  • A much more accurate estimate of the hashrate, confidence intervals are unnecessary.
  • Orphan races lost, and percentage of  solved blocks that were not added to the blockchain.
  • "Luck" is the usual difficulty 1 equivalent shares per round / mining difficulty,  or (equivalently) accepted shares / expected shares.
  • CDF: The cumulative density function (CDF) measures the percentage of the time this number accepted shares / expected shares would be less than the calculated value, given the number of valid + invalid blocks.
  • Pool profitability compares variables such as total number of shares in a week and total reward (including transactions) in a week with the expected reward per share as follows (pool fee not included):

a = reward estimate (tx-free bitcoin rewards) per valid block including orphaned blocks 
b = estimated difficulty 1 shares for valid blocks
c = actual rewards for valid blocks
d = submitted difficulty 1 shares for all blocks including orphaned blocks

Actual reward per share = c / d
Theoretical reward per share = a / b

Profitability = Actual reward per share /  Theoretical reward per share











Average hashrate per solved block (valid + invalid)
Hashrates are calculated from the pool reported difficulty-1 equivalent shares per round and the pool reported block solve times for all solved blocks, both valid and invalid. Note that BTC Guild is not included since the difficulty 1 equivalent shares per round data is not reported; instead use BTC Guild's hashrate chart which has matched my past estimates quite well and which I regard as accurate.


Pool profitability
Pool profitability compares variables such as total number of shares in a week and total reward (including transactions) in a week with the expected reward per share. Pool fee is not included, but this is a good basis on which to compare pools, as long as you're aware of pool fees, whether transaction fees are paid to you, and whether or not the pool is paying for orphaned blocks. Details of the profitability calculation are given in the block history table.

Obviously this chart is only relevant to miner income if the reward method is not PPS; however the charts can also be interpreted as the profitability of the pool, so it might give you some insight into the financial health of a PPS pool.



Density of orphaned blocks
This chart shows the density of orphaned blocks per pool, as a function of blocks solved by that pool. The fringe indicates the actual occurrences of the orphaned blocks, and the colour of the line and fringe indicate the approximate date.

Some orphan data may be missing from Polmine. 





Pool user hashrate and combined user hashrate densities
The top facet of this chart shows the proportion of user accounts with a given hashrate - the thicker the "violin" the greater the density of user accounts with a particular hashrate.

The bottom facet is the same data, weighted by hashrate. In effect, it shows what proportion of the pool's hashrate is supplied by particular hashrates. The area of the "violins" is proportional to their total hashrate.

Note that for some pools the hashrate is averaged over twenty four hours, some pools are averaged over an hour or more and some for only fifteen minutes, so expect some variance in the results.


Gini coefficient for miner hashrates
The Gini coefficient measures inequality, as is further discussed here. In the plot below, it is measuring inequality within public mining pools. The lower the coefficient, the less inequality in the pool.

These indices are much higher than most things for which the Gini coefficient is calculated. For example in countries notoriously unequal incomes it is rarely above 65% (Seychelles, 2007), and educational inequality in the poorest countries comes close, at 92% (Mali, 1990). There are a large number of bitcoin miners with near (or less than) zero income, and a small few who actually make a living.

"All combined" is the Gini coefficient for miners at all pools that can be monitored, combined. It is more affected by larger pools and less affected by smaller pools. 






organofcorti.blogspot.com is a reader supported blog:

1QC2KE4GZ4SZ8AnpwVT483D2E97SLHTGCG



Created using R and various packages, especially dplyrdata.tableggplot2 and forecast.

Thank you to blocktrail.com for use of their address data, and coincadence.com for their p2pool miner data.

Find a typo or spelling error? Email me with the details at organofcorti@organofcorti.org and if you're the first to email me I'll pay you 0.01 btc per ten errors.

Please refer to the most recent blog post for current rates or rule changes.

I'm terrible at proofreading, so some of these posts may be worth quite a bit to the keen reader.
Exceptions:
  • Errors in text repeated across multiple posts: I will only pay for the most recent errors rather every single occurrence.
  • Errors in chart texts: Since I can't fix the chart texts (since I don't keep the data that generated them) I can't pay for them. Still, they would be nice to know about!
I write in British English.





`





























2 comments:

  1. Care to start reporting / charting pools and their support for big blocks? It will be interesting to see things like how much gain or loss in hashing pools got as they switch to supporting big blocks. Or like slush, which lets miners choose (by port #) whether to mine via XT or not.

    ReplyDelete
  2. Good idea. I'll have to update scripts to record the version number and also include some regex of the coinbase, but with luck it'll be ready by next week.

    ReplyDelete

Comments are switched off until the current spam storm ends.