Pages

Monday, 18 August 2014

August 17th 2014 Weekly Bitcoin Network Statistics

Other weekly pool and network statistics posts


Welcome, miners.

Changelog:
  • Made figure 3 a bit prettier and more smooth.

Errors:
  • Nil.

Notifications:
  • Nil.

0. New charts
With the new GHash.IO data I'll be adding a couple of new plots. This means I'll need to remove a few plots to make room. Leave a comment to let me know which plots you don't think we want or need - preferences would be to remove figures 2 and 4.


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 either from primary sources such as those claimed by a particular pool website, or secondary sources such as coinbase signatures, or known generation addresses . When dependent on secondary sources only, data may be inaccurate and miss some blocks if a particular block-solver has gone to some trouble to hide solved blocks. This will result in an underestimate of the block-solver hashrate.

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 the group of blocks to which I cannot give attribution using the methods given above. "BitAffNet" is Bitcoin Affiliate Network.




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 cannot be calculated but orphaned blocks can be enumerated. 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).

The table below includes unknown addresses that have been reused ever.





Table 3: Blocks solved by unknown but re-used generation addresses Aug 10 2014 to Aug 16 2014
Unknown recurring generation address Blocks solved this week Percentage of network Percentage of unknown Estimate of hashrate Blocks solved ever
19vvtxUpbidB8MT5CsSYYTBEjMRnowSZj4 23 1.95 % 23.96 % 3223 Thps 117
1GcF7j3YH8Qs8hvNEe7zbrQZftMU6sRLfu 11 0.93 % 11.46 % 1541 Thps 13
1DhNRjrMmLBA7qbtB5rGx1aQ3f57TonxLQ 8 0.68 % 8.33 % 1121 Thps 8
1E6sXT69PtxNvoj9xZzCG6Gxhw4Qm2ERmZ 8 0.68 % 8.33 % 1121 Thps 8
17JJ3oZyF4ShQMGukDjpMWhmooCjEvoVVB 7 0.59 % 7.29 % 981 Thps 24
13oqQr5EaTVmV5rs4X5ah2RQ4EbKvSq5jk 6 0.51 % 6.25 % 841 Thps 6
14TpKJWma4S6jptrrFpDTHBKbQes7SEYUS 4 0.34 % 4.17 % 560 Thps 4
1898sdNowEiAB8XkGexiMYixZkW5yn2kKF 4 0.34 % 4.17 % 560 Thps 4
1Jaw8RE54sv16BxYMi9JRxw7NLqGQg2TmQ 4 0.34 % 4.17 % 560 Thps 4
1NseVrJ72wZTCvvM9tvhhCyuYnn1j7xrc 4 0.34 % 4.17 % 560 Thps 4
1BwZeHJo7b7M2op7VDfYnsmcpXsUYEcVHm 3 0.25 % 3.12 % 420 Thps 48
12uzu7nADNPeBiuYnr5nWFdofyGjNozyce 2 0.17 % 2.08 % 280 Thps 2
15eoAjktW48u9cCPmYiJ4NRByYFMiurEP1 2 0.17 % 2.08 % 280 Thps 2
1KBnd5634jwmiyR6hBY9965g3NF7u6uCT9 2 0.17 % 2.08 % 280 Thps 2
18xsXWW8jXyMwwvFVQwnCANjYcMPWVyvvf 1 0.08 % 1.04 % 140 Thps 7
19GLLqcJ8PddNwJWDiJA4TbwmFZd6aznhb 1 0.08 % 1.04 % 140 Thps 2
1HhZiLEY8YatYS1KywhgetZVvnZ6j3pA8z 1 0.08 % 1.04 % 140 Thps 3
1qtKetXKgqa7j1KrB19HbvfRiNUncmakk 1 0.08 % 1.04 % 140 Thps 3



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.



Figure 7: 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. The rest seem to be correct.





Organofcorti lives!

organofcorti.blogspot.com is a reader supported blog:

1QC2KE4GZ4SZ8AnpwVT483D2E97SLHTGCG




Thank you to blockchain.info and coinometrics.com for use of their transaction and 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.



<weeklypoolstatistics>

5 comments:

  1. 1) Prettier and smoother. (more smooth = bad grammar)

    2) Nil. = None.

    3) Nil. = None. (Nil is more apt when talking figures and numbers, not lists.)

    4) Table 1 paragraph: no "or" after the comma's, except for the last or.

    5) No comma before the last or.

    6) "solved blocks. This" - the last sentence does not have a subject, the last two sentences should therefore be joined together with either a comma or a colon.

    7) Note that actual pool hashrates, when derived from submitted per unit time

    8) , will be more accurate. (Commas to indicate an explanation embedded in the sentence, one that is not part of the main sentence.)

    9) "Unknown" is not an entity, but (Comma before but.)

    10) A much more accurate estimate of the hashrate; confidence intervals are unnecessary. (Semi-colon instead of comma; a new sentence would also have worked as the last part can stand on its own.)

    11) Orphan races lost and percentage (no comma before and)

    That's 11 errors. I'm tired, so I'll stop here. For now.

    1JE2Zx4BFpBahEKfQEwZE5jKNnEcvbaR9x

    PS Awesome blog and analysis. Really, thanks.

    ReplyDelete
    Replies
    1. Hey Anonymous, can you email me with this? Cheers!

      Delete
  2. And oops, how did that apostorphe slip in on commas. Darn you, English language!

    ReplyDelete
  3. Aaaaaaargh... it must be this tiny keyboard getting me to mess up my apostrophes!

    ReplyDelete
  4. Maybe one day, with enough Bitcoin, I'll be able to buy something better...

    ReplyDelete

Comments are switched off until the current spam storm ends.