I agree we need to rely on the community shifting delegation away from bad actors.
I think these would make things worse because you only need one pool to pull the block so this would just increase propagation times resulting in more forks. More forks means reduced chain security, increased transaction finality time, and more collateral damage in terms of orphaned blocks for other pools.
Furthermore there is an assumption that they are a bad actor if the block is empty. Firstly this will occasionally produce false positives. But it is also easy for the bad actors to thwart this detection by putting in just 1 transaction, or 2 or 3. They could even just filter out script transactions taking more time. It will still save time with less transactions, but now some sort of quantitative or qualitative judgement needs to be made to determine if they are a bad actor or not.
I think the proper fix for this will be “input endorsers” because this will separate the dual purpose of blocks. Namely to:
- Contain transactions
- Certify previous blocks
I haven’t seen any IOG design for input endorsers yet, but I believe this separation will remove the incentives around timing of when blocks arrive. I think it will eliminate “propagation delay” battles. (There will still be “same slot” battles.)
As a side note:
This strategy of producing empty blocks for fast propagation only addresses half of the cause of their “propagation delay” orphans. It addresses the half caused by other pools not receiving their block in time. But it doesn’t address the half caused by other pools producing a block before theirs that they haven’t received yet. In both cases a fork 1 block high is resolved based on a VRF comparison independent of the delay (even 30 seconds or more).
Please also see my other post about bad operators:
These bad actors are easy to identify with certainty and it would be easy to implement delegation ranking punishments for them.