If you look, block 823924 was mined 1 minute prior.

It takes some time for transactions to be compiled into the template. While this is occurring, miners try to solve for an empty template, in case they get really lucky and find a valid hash before the transactions can be compiled.

It is more profitable to go ahead and submit the empty block that a valid hash was found for than to discard it and try to find a new valid hash with the transactions included. The likelihood is that it would be found by a different pool, and the miners on the pool that found the hash for the empty block would get nothing.

Reply to this note

Please Login to reply.

Discussion

Excellent answer! I hadn't thought to check the previous block. Thank you! 🙏

You bet!

This phenomenon will go away eventually as it will eventually become NOT profitable to do this as Tx fees take up a larger and larger portion of the block reward

Not necessarily. If you find a valid hash for an empty block, receiving SOME sats is always preferable to no sats. Discarding the empty block that you have a valid hash for will risk (read "virtually guarantee") that you don't find the block with the transactions included, and then you get NOTHING.

Even once the block reward is only a few hundred sats, which won't be for a LONG time, it's still better to get those few hundred sats than to get nothing.

So, do you think that after ~2140 empty blocks will pretty much never happen, since there will be no block subsidy, so any block without transactions will be profitless to the miners?

Correct