While it is only a short timeframe after each block change, the majority of the network hashrate will mine on an invalid transaction for a short period of time after the block change.
majority of network does not just stop mining their own block attempt when first seeing a new block header.
majority of network actually continues its block effort until a new block is validated.
No idea who you got that statement from, but it's not true.
less than 0.5% of blocks are 'empty blocked' (280blocks of 58k are empty(2020stats))
Yep, that's the time spent mining on non-validated blocks.
average 600 seconds per block, 0.5% gives an average of 3 seconds per block change.
so at very max its a 0.5% of 5%. meaning with other factors at play. the end the result is a 0.0025% risk
definitely not a 'majority of network will mine'
Not a very small number ... though using your numbers 0.5% times 5% is ... 0.025%
As I've made clear before, the issue is what the other pools do on top of the following valid block if it is quick.
Statistics says it doesn't matter how long it took to find the first block, since it's already been found, the next block is the same probability or 0.5% chance of finding a quick block on the empty block and continuing the bad chain.
In the past when this happened, two big pools went off on their own invalid chain, with a hash rate close to half the network, and continued that until FUPool noticed the issue in their discussion channel and I contacted Bitmain.
um i dont think any would. as the odds are super low
as there is no large economic incentive /positive reason to waste so much cost on doing this intentionally. (standard game theory)
but it seems you believe majority of pools will do this because its your belief that majority of pools do use crappy stratums and spv wallets and do empty blocks as standard.. so maybe you should be asking yourself which pools would be doing this.
It has nothing to do with wallets, it's to do with SPV mining - though that term has been modified after it's inception to include something else.
I guess the more recent name is 'Spy-mining' where a pool gets the work change from a miner connected to other pools, and uses the header in the miner to switch to the next block.
Since they don't know what transactions were used to produce the block, they must mine an empty block until they get and verify the full block.
Same can be done with a hacked bitcoind itself and use the header when it's first received before validating the block, and again the same reason: they don't know what transactions where used yet, so must mine an empty block until they verify it.
However, it's simply a case of ignorance, resistance to change and following what the other big pools do.
Edit: if you wish to test this, mine on a large pool that produces empty blocks and look at the 1st work sent each block change.