Empty Block Data by Mining Pool

Abstract: In this piece we present data displaying the proportion of empty blocks (blocks containing only the coinbase transaction) produced by the different mining pools, over time.  We look at the mining methodologies pools could choose and how these policies could impact the proportion of empty blocks.

Empty Block Overview

We recently published a piece describing covert ASICBOOST and we explained the allegation that particular mining pools may be using this methodology.  Some claim that circumstantial evidence supporting this allegation, is that some mining pools produce more empty blocks (or more smaller blocks) than other mining pools.

Readers have asked us for data backing up this assertion, as only limited data has been published on this specific topic, as far as we are aware.  We are not going to draw any firm conclusions from the data on the prevalence of empty blocks, however we present it for your consideration.  We also explain some of the other potential reasons for empty blocks, including SPV mining and SPY mining.

Figure 1 – Summary chart – Rolling average percentage of empty blocks (over 1,000 block period) by pool

Source: Bitcoin Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: Data up to 25th August 2017. Due to the different frequency with which different pools find blocks, the same dates on the chart could reflect different periods

Charts illustrating the proportion of empty blocks by mining pool

Figure 2 – Percentage of empty blocks by pool – 2017 YTD

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes:  Data up to 22nd October 2017

Figure 3 – Percentage of empty blocks by pool – 2016

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Figure 4 – Percentage of empty blocks by pool – 2015

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Figure 5 – Percentage of empty blocks by pool – 2014

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Figure 6 – All time percentage of empty blocks by pool – Monthly data

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: Data only included if the pool found 300 blocks or more within the month, Data up to 22nd October 2017

Figure 7 – 2016 onwards – percentage of empty blocks by pool – Monthly data

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: Data only included if the pool found 300 blocks or more within the month, Data up to 22nd October 2017

Figure 8 – 2017 YTD – percentage of empty blocks by pool – Monthly data

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: Data only included if the pool found 300 blocks or more within the month, Data up to 22nd October 2017

Summary statistics by year (top 11 pools ranked by the last 12 months)

Figure 9 – Summary table for 2017 (to 25th August)

Pool# of blocksAverage block size% Empty blocks
Antpool6,298897KB1.8%
F2Pool3,897919KB1.3%
BTCC2,733896KB0.7%
Bitfury2,852965KB0.0%
BW Pool2,034933KB0.1%
ViaBTC1,990952KB0.4%
BTC.TOP3,199978KB0.7%
Slush1,921947KB0.4%
BTC.com2,265951KB2.4%
HaoBTC931957KB2.3%
BitClub1,236980KB0.0%
All Blocks35,899936KB1.1%

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Figure 10 – Summary table for 2016

Pool# of blocksAverage block size% Empty blocks
Antpool11,479747KB4.2%
F2Pool11,444772KB0.9%
BTCC7,023718KB0.8%
Bitfury5,298834KB0.0%
BW Pool5,373710KB2.5%
ViaBTC1,995822KB0.7%
BTC.TOP27961KB0.0%
Slush2,842720KB0.5%
BTC.com657976KB2.1%
HaoBTC1,443982KB1.5%
BitClub1,662964KB0.0%
All Blocks54,851776KB1.8%

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Figure 11 – Summary table for 2015

Pool# of blocksAverage block size% Empty blocks
Antpool9,815484KB8.2%
F2Pool10,851499KB4.0%
BTCC5,780390KB0.1%
Bitfury5,459604KB0.0%
BW Pool4,129495KB4.5%
ViaBTC0n/an/a
BTC.TOP0n/an/a
Slush2,445492KB1.2%
BTC.com0n/an/a
HaoBTC0n/an/a
BitClub210509KB0.0%
All Blocks54,311480KB3.1%

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Validationless mining – SPV mining & SPY mining

SPV mining

In order to build on top of the previous block and extend the chain, mining pools need the hash of the previous block, but not necessarily the full block with all the transaction data.  Mining pools are in a rush to make the chain as long as they can as fast as possible to increase profits.  Therefore miners often have a policy of trying to find the next block before they have even had time to download and verify the previous block.  If this occurs, a miner typically avoids putting any transactions in the block (apart from the coinbase transaction), as the miner may not know which transactions were in the previous block and including any transactions could result in a double spend, resulting in an invalid block rejected by the network.  The term used to describe this type of activity is “SPV mining”.

The efficacy of SPV mining is debated in the Bitcoin community, with advocates claiming this is legitimate profit maximising activity. While opponents of this policy claim it reduces the transaction capacity of the network (since empty blocks still keep the mining difficulty up) and that it increases the probability of an invalid block receiving more confirmations, ensuring the network is less reliable for payments as double spends are more likely.

SPY mining

Another term often used is “SPY mining”.  When a mining pool wants to get the previous block even faster, they often participate as a miner on a competing pool, but instead of adding actual hashpower to the pool, they use the access to the network to get access to the previous block hash even faster and then use this information obtained by “spying” on their own pool.

Pool policies

Different mining pools are said to have different policies.  For example AntPool is said to conduct SPV mining, while Bitfury is said to not engage in this practice.  As figure 9 shows, Bitfury produced 0.0% empty blocks in 2017, compared to Antpool on 1.8%.  SPV mining is believed to be the primary cause of this difference.

The ASICBOOST allegation

The above factors may explain the difference in the proportion of empty blocks, rather than covert ASICBOOST.  Alternatively, there could be another factor which we are not aware of, neither SPV mining nor ASICBOOST, causing the variation.

However, those supporting the covert ASICBOOST theory have been able to use the empty block data to generate circumstantial evidence supporting their theory.  For example figure 8 could be said to demonstrate the following:

  • Up until April 2017 Antpool (orange) produced the highest proportion of empty blocks, at a rate far higher than its peers
  • In April 2017 this switched to BTC.com (dark blue) a pool owned by the same company as Antpool
  • In October 2017, unknown miners (light green) started to produce empty blocks, as Antpool tried to conceal its policy even further

In our view this hypothesis is certainly possible, but also reasonably weak. Further evidence may be required to draw any firm conclusions.

The time gap between blocks

Another factor to consider is timing.  SPV mining occurs because miners are keen to get to work on the next block quickly, before they have had time to validate the previous block.  Therefore, in the majority of cases where miners do not quickly find the next block, say within 30 seconds, the impact of SPV mining should be limited, since miners do have time to validate.

Figure 12 below is a repeat of figure 3 above, except this time we have excluded the empty blocks which occurred within 30 seconds of the previous block being found.  This may partially remove the impact of SPV mining.  Although the data with respect to timing may not be reliable.

Figure 12 – Percentage of empty blocks by pool – 2016 (30 second gap or more from the previous block)


Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)

Notes:  The time gap may not be reliable

Smaller but non empty blocks

The analysis in this piece only looks at empty blocks.  The ASICBOOST allegation is not only about empty blocks, but also smaller blocks. Smaller but non empty blocks can also assist with covert ASICBOOST due to the smaller size of the Merkle tree.  In a later piece we plan to look at the proportion of these smaller blocks in more detail.

In the below analysis we compared the timing between the previous blocks and the blocksize, for two particular pools.  One which claims to do SPV mining (Antpool) and one which claims not to (Bitfury).

The charts illustrate that the variations between pools are not just about empty blocks, but also smaller blocks.  The charts show that Bitfury has a more “tidy” chart, with smaller blocks only occurring when the time gap between the previous block was small.  In contrast the Antpool chart appears more “messy”, with empty and smaller blocks more prevalent regardless of the time gap between the previous block.

Figure 13 – Antpool (2017 YTD) – Blocksize compared to the time gap between the previous block

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: The y-axis is the time gap from the previous block in seconds, the x-axis is the blocksize in bytes.  The time gap may not be reliable

Figure 14 – Bitfury (2017 YTD) – Blocksize compared to the time gap between the previous block

Source: Blockchain, BitMEX Research, Blockchain.info (For mining pool name)
Notes: The y-axis is the time gap from the previous block in seconds, the x-axis is the blocksize in bytes.  The time gap may not be reliable

It is difficult to draw any firm conclusions from these charts.  However one ironic thing stands out to us, from this analysis.  The pools arguing most vigorously for larger blocks, tend on average, to produce smaller blocks.