When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.
Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.
The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work. This is also why when comparing "Actual Blocks" with "Expected Blocks" on mempool.space you will often observe slightly lower fees in the blocks found than what's theoretically possible.
+When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.
Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.
The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work.