The only time an empty block MUST happen is the very very rare times mempool is empty. Aside from that, generating empty blocks is a conscious decision made by the operators of certain large pools. They are not a random event that any pool might do in the course of normal operations.
This is a misconception spread by Kano to advertise his pool.
Empty blocks MUST happen regardless of everything else, I can go with the technical explanation of why must they happen, but since I have already explained that I'll refer you to
aantonop ...
Yet again, ignoring what I have posted here already that is the correct information.
The guy in the video is incorrect from the start.
He starts off on a false premise:
00:16 "It takes 15-20 seconds at least to validate a block"
False - it takes less than 200ms, often a lot lessAsk any of the bitcoin core developers and they will agree that it does not take anywhere near 15-20 seconds.
I'll give info further below that shows this also.
He is using the 15-20 second (false) claim, that the miners would be working on old stale work for an extended period of time before they could provide them with new work, if they waited for the block to be processed.
This ridiculously large time is false.The whole first five minutes of his explanation is based on this premise which is wrong.
I gave up watching at that point.
Again, it takes less than 200ms from receiving a block in bitcoind, until it can produce a full new block template with transactions.
I have a message in debug.log when the block arrives with a timestamp to microseconds, another when it has been processed, and another when the pool has been sent the new work - yeah that's an extra step also - but the full time delay.
The
largest block in the last 8 hours was
631950 it was
1783877 bytes.
bitcoind debug.log shows (as I mentioned)
2020-05-27 19:07:53.985131 ProcessNewBlock
2020-05-27 19:07:54.025189 Pre-allocating up to position 0x3000000 in blk02094.dat
2020-05-27 19:07:54.107985 UpdateTip: new best=000000000000000000067af76e3e524beabb9557f71413d8db9b88760e445d3b height=631950 version=0x20002000 log2_work=91.982404 tx=533594598 date='2020-05-27 19:07:33' progress=1.000000 cache=36.9MiB(236180txo) warning='75 of last 100 blocks have unexpected version'
2020-05-27 19:07:54.108131 Block 000000000000000000067af76e3e524beabb9557f71413d8db9b88760e445d3b provided by 107.191.117.193:8333
2020-05-27 19:07:54.158265 GetBlockTemplate called
2020-05-27 19:07:54.160724 CNB
2020-05-27 19:07:54.174358 CreateNewBlock(): block weight: 3964486 txs: 122 of 10917 fees: 0.04177550 sigops 20166
Also of interest in this case, it had to extend some disk space for the block.
Total time from when it arrived until the pool got new work 19:07:54.174358 - 19:07:53.985131 = 189227 microseconds (189 milliseconds)
As for empty blocks, the one I see in the last 8 hours is 631926 by
ViaBTCI'll include the block before as well for more information:
2020-05-27 16:36:48.892330 ProcessNewBlock
2020-05-27 16:36:49.011947 UpdateTip: new best=00000000000000000010dab51e5208c538fce5634104fbd059da24140911efe7 height=631925 version=0x27ffe000 log2_work=91.981925 tx=533547943 date='2020-05-27 16:36:37' progress=1.000000 cache=14.5MiB(52565txo) warning='72 of last 100 blocks have unexpected version'
2020-05-27 16:37:08.482568 ProcessNewBlock
2020-05-27 16:37:08.490710 UpdateTip: new best=0000000000000000000f1b87afb1b95a5e681736ea387b60a8bd150b1ec8bb30 height=631926 version=0x3fff0000 log2_work=91.981944 tx=533547944 date='2020-05-27 17:06:23' progress=1.000012 cache=14.5MiB(52772txo) warning='73 of last 100 blocks have unexpected version'
2020-05-27 16:37:08.568545 CreateNewBlock(): block weight: 3964339 txs: 1903 of 17821 fees: 0.21419789 sigops 13493
In this case firstly, you can see the block before it was 20 seconds before it.
Secondly, in this case the work kano.is generated included 1903 transactions and fees: 0.21419789 BTC
It took 85977 microseconds to process i.e. 86 milliseconds
Seriously, there's no point finding random online videos or random belief in some person (myself as well if you don't want to) about how bitcoin works.
Go run a bitcoind yourself and you can see this information - though you'll have to patch it and recompile it to display the extra information

I've been around in bitcoin since 2011 working on code related to it.
Working on mining code, pool code, and even simple patches to bitcoin itself.