Pages

Monday, 3 February 2014

February 2nd 2014 Weekly Hashrate Contributor and Network Statistics


Other weekly pool and network statistics posts


Welcome, miners.

Changelog:
  • Changed the smoothing method for figure 3.
  • Added new table and chart explanations, placed immediately prior to the table / chart.
Usual pools missing from results:
  • I haven't rebuilt this part yet - still TBA.
Errors:
  • I haven't found any - please tell me if you find something.


0. Still more work to go.
I forgot to write a simple script checking for hashrate contributors that have contributed to the network recently but not for the current week, that is "Usual pools missing from results". Simple enough to do. No excuses except that I ran out of time.

I'm also unsure about how to proceed with the "orphaned blocks" chart. Initially I wanted to do a cumulative or moving average of the percentage of orphaned blocks, but from experience I know that readers see non-existent trends in these sort of plots (moving average charts do not consist of independent data and so cannot show trends) and all sorts of confusion results. Instead I've decided to do a kernel smoothed density plot. I haven't yet decided whether to plot the data separately or on one chart, or stacked or something else. Hopefully I'll come up with something soon.

Once the data reporting is just as I want it, I'll be able to start commenting on the data again.


Explanation of the tables and charts.

Table 1: Solved block statistics. This table lists all statistics that can be derived from the number of blocks a hashrate contributor has solved for the past week. Block attributions are from either coinbase signatures, known generation addresses or claimed by a particular pool block history. Includes non-Pool hashrate contributors. Note that actual pool hashrates when derived from shares submitted per unit time will be more accurate than the hashrate estimates given in this table.

"Unknown" is not an entity, but simply the group of blocks to which I cannot give attribution using the methods given above.


Table 2: 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.
  • Bitcoin per Gigashare. This figure is not an indicator of how much a miner should have expected per one billion Difficulty 1 shares (or one thousand difficulty megashares, etc), since it doesn't take into account the reward method or fees charged. Rather, it should be considered as a "luck" index that also incorporates the number of orphaned blocks and the current reward per block.
Since BTC Guild doesn't report shares per block but does report transaction hashes for all blocks, luck calculations cannot be calculated but orphaned blocks can. Pools such as "Discus Fish" that don't have a public pool interface cannot be included.

Table 3: Reused but unknown generation addresses
Unknown generation addresses that are not reused are probably solominers or private mining concerns that don't have share-holders wanting to follow transactions. However, reused addresses are probably from hash contributors that do not wish to remain anonymous. These need to be identified so they can be removed from the "Unknown" group. I'm not interested in identifying those who wish to remain completely anonymous, so I'm not trying to trace originating IP addresses (as Blockchain.info does).



Table 3: Blocks solved by unknown but re-used generation addresses Jan 26 2014 to Feb 01 2014
Unknown recurring generation address Blocks solved this week Percentage of network Percentage of unknown Estimate of hashrate Blocks solved ever
1NSmAqTch9ub8QZTkRYsmHGdbTcrsWVahV 16 1.35 % 20.00 % 249 Thps 16
1NcYzANW5z1WF1ssnEQG3FpxBhAwettRxw 7 0.59 % 8.75 % 109 Thps 9
14N7rVf4TPKvraR2pBr9z1Hwsi46TAzXBm 5 0.42 % 6.25 % 78 Thps 7
1G9QNTLvP3PbhDf6r9AhtwYQBxbt8rnnu8 5 0.42 % 6.25 % 78 Thps 7
13zfogwHjGHbF3vt7XpZJGdMqtyNqYr6AM 2 0.17 % 2.50 % 31 Thps 2
1BBdQezhQox3BKfJd5Jv84A948fg3SqVJS 2 0.17 % 2.50 % 31 Thps 2
1CBKUngqB9d7TjoXUuneUgYqo7ug8nRqwN 2 0.17 % 2.50 % 31 Thps 2



Figure 1: Pie chart of the percentage of network blocks by pool. A visual representation of the "Percentage of network" data aggregated in table 1.



Figure 2:  51% attack chart. Historical hashrates of the bitcoin network, the largest mining pool, the three largest mining pools combined, and a line representing 50% of the network hashrate. Handy if you're worried about 51% attacks. Hashrates are all estimated from blocks solved, and the history goes back to the earliest date the data contains three known pools. Some pool data may be missing from the earliest data points. The upper and lower 95% confidence interval bounds for the network hashrate are in between the shaded areas.



Figure 3: Percentage of blocks solved each week for the current top ten contributors.
Data is calculated from the number of blocks each contributor added to the blockchain during the week. The points are the actual data; the lines are exponentiated smoothing splines of the log of the data.
Figure 4: 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.



Figure 5: Pool "luck" (valid + invalid solved blocks)
The orange dots are the usual accepted shares / expected shares (equivalently, shares per round / network Difficulty). The background colours are accepted shares / expected shares confidence intervals for the number of blocks solved for the week. The greater the number of blocks solved (the higher the percentage of the network) the narrower the bounds.
The "luck" data points should be outside the upper or lower boundaries only rarely. Many data points outside this range indicate unusual and unlikely "luck".

Data only goes back for the last twelve months at most - any more data points than this becomes hard to read, and recent data is most important.

Note that all solved blocks are used, otherwise the data would no longer be Erlang distributed and a CDF could not be calculated.



Figure 6: 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.






Organofcorti lives!

organofcorti.blogspot.com is a reader supported blog:

1QC2KE4GZ4SZ8AnpwVT483D2E97SLHTGCG

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 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.



<weeklypoolstatistics>



2 comments:

  1. Man, your post would be more interesting if you explained how setting higher the difficult would decrease the need for a higher internet upload speed.

    ReplyDelete
    Replies
    1. I don't address variable difficulty anywhere in the weekly stats posts, so I think it would just be confusing to add those details.

      Maybe this post would be of interest to you:
      http://organofcorti.blogspot.com/2012/10/71-variable-pool-difficulty.html

      Delete

Comments are switched off until the current spam storm ends.