Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: bitmover on January 05, 2021, 03:46:02 AM



Title: Why miners mine empty blocks?
Post by: bitmover on January 05, 2021, 03:46:02 AM
Recently I have been working with Bitcoin block data available in CSV format (https://bitcointalk.org/index.php?topic=5246271.0) made by LoyceV to make this dashboard (https://bitcoindata.science/blockdata-dashboard.html), and I have noticed that every day there are one or two empty blocks.

All this data is from the last 24 hours.

They are often mined by Okex or Huobi. I am trying to understand this.

For example, in the past 24hours Okex mined 2 empty blocks. Those blocks had only 1 transaction, the coinbase.

https://i.imgur.com/JZlM4to.png


One of those blocks had more than 3 minutes of blocktime. Miner had enough time to add transactions from the mempool.

Are miners doing that to try to increase fees?

This isn't effective, and OKEX is probably only losing money by mining empty blocks. As we can see, Okex mined 2 empty blocks, didn't receive any fee. Additionally, there wasn't any spike in the fees that is bigger than normal. And even if there was a spike, other mine would get that fee spike.
https://i.imgur.com/tlSbpjK.png





Is it possible that  some miners are trying to fight against segwit adoption?

https://i.imgur.com/ohIflok.png


Title: Re: Why miners mine empty blocks?
Post by: ranochigo on January 05, 2021, 03:58:34 AM
If I'm not wrong, Loyce's data dump appears to be displaying the median time as indicated by the timestamp within the block header. The timestamp tends to deviate from miner to miner and it's deviation can be up to 2 hours. It would be better to be looking at the actual relayed time. The past 2 empty blocks by OKEX appears to be mined in succession from the previous blocks, even though the timestamp is way off.

Some mining pool still uses SPV mining for which empty blocks can be a product from such behaviors. As for their refusal to adopt Segwit, I don't think there's much effect on it. There are still plenty of legacy transactions on the chain and it wouldn't result in them mining empty blocks just because there isn't any legacy transactions of the legacy format left.



Title: Re: Why miners mine empty blocks?
Post by: bitmover on January 05, 2021, 04:08:22 AM
If I'm not wrong, Loyce's data dump appears to be displaying the median time as indicated by the timestamp within the block header. The timestamp tends to deviate from miner to miner and it's deviation can be up to 2 hours. It would be better to be looking at the actual relayed time. The past 2 empty blocks by OKEX appears to be mined in succession from the previous blocks, even though the timestamp is way off.

There is median_time, but there is also time, which is the blocktime.
I am using blocktime.

I checked in blockchair documentation:

Quote
https://blockchair.com/api/docs#link_102
time   string YYYY-MM-DD HH:ii:ss   Block time (UTC)

Either way, as I am looking at this daily, there are many miners which mine empty blocks within 8-10 minutes blocktime.


Title: Re: Why miners mine empty blocks?
Post by: NotFuzzyWarm on January 05, 2021, 04:13:50 AM
I suggest you read through this thread started by Kano regarding this exact subject (https://bitcointalk.org/index.php?topic=5251592.0)...


Title: Re: Why miners mine empty blocks?
Post by: ranochigo on January 05, 2021, 04:25:56 AM
-snip-
Hmm, I might be mistaken but I've went ahead to identify the OKEX blocks in questions and here's their stats for both of the instance for which they were mining the empty blocks with the preceding blocks included as well.

For the timeframe in question, the first field represents the received time while the second represents the timestamp within the headers.

664331,-snip-,2021-01-03 18:07:20,2021-01-03 17:29:06,-snip-F2Pool
664332,-snip-,2021-01-03 18:07:38,2021-01-03 17:30:52,-snip-,OKEX

664365,-snip-,2021-01-03 22:41:19,2021-01-03 22:13:48,-snip-,BTC.com
664366,-snip-,2021-01-03 22:41:34,2021-01-03 22:17:12,-snip-,OKEX

The second field is the block timestamp which is by no means accurate.

There are several miners still employing SPV mining to this day even with the optimization made with propagation time as well as validation times. As with most things, without access to see the code behind the mining pool, it's impossible to tell exactly what the miners are doing. The best hunch here is that they're probably SPV mining. Covert ASICBoost would favour empty blocks but given that most miners are doing overt ASICBoost nowadays, it would be highly unlikely.


Title: Re: Why miners mine empty blocks?
Post by: tranthidung on January 05, 2021, 04:39:34 AM
BTC empty blocks (2011 - 1 May 2020): miners, size, daily, monthly,yearly stats. (https://bitcointalk.org/index.php?topic=5245684.0)

The data used for that analysis is outdated but you can take the results for time gaps (in seconds) between empty blocks and one-block-before (or one-block-precedent blocks)

AntPool: There are 1237 blocks with the timegaps <= 60 seconds per 1712 blocks. They account for 72.3% that is not a small proportion.
F2Pool: There are 712 blocks with the timegaps <= 60 seconds per 998 blocks. They account for 71.3% that is not a small proportion.
Check details (https://bitcointalk.org/index.php?topic=5245684.msg54380155#msg54380155)

Raw results:
AntPool: https://bitcointalk.org/index.php?topic=5245684.msg54380171#msg54380171
F2Pool: https://bitcointalk.org/index.php?topic=5245684.msg54384360#msg54384360


I don't know the correlation of mining pools for empty, one-block-before, and one-block-after blocks. I did not include it in my past analysis. I will run it again when I have time to figure out how many percent of one-block-before, and one-block-after blocks are mined by the same pools that mined empty blocks.