You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the early days of the chain, many EVM blocks are empty. This wastes space on nodes in the long run. We could reduce node size significantly by skipping "most" empty blocks.
Proposed Solution
First thing to decide is whether periodic empty blocks are required or not, i.e. at least build one empty block every N consensus blocks.
Then, there are basically two ways to do this:
Best effort per node config
Provide an halo config flag (evm-no-empty-blocks).
If enabled on a validator node, that node proposes skips execution payload if it contains zero txs, or if ConsensusHeight%N==0
No other changes are required, since validators are allowed to skip EVM blocks when proposing consensus blocks.
This will however depend on the proportion of validators that configure this.
Enforced in consensus layer
Don't provide any flag, rather build this as network upgrade.
All validators skips execution payload it contains zero txs, or if ConsensusHeight%N==0
All validators enforce this in ProcessProposal. So reject empty evm blocks unless ConsensusHeight%N==0.
The text was updated successfully, but these errors were encountered:
corverroos
changed the title
Only build non-empty blocks
Octane no empty blocks
Jan 29, 2025
Problem to Solve
In the early days of the chain, many EVM blocks are empty. This wastes space on nodes in the long run. We could reduce node size significantly by skipping "most" empty blocks.
Proposed Solution
First thing to decide is whether periodic empty blocks are required or not, i.e. at least build one empty block every N consensus blocks.
Then, there are basically two ways to do this:
evm-no-empty-blocks
).ConsensusHeight%N==0
ConsensusHeight%N==0
ConsensusHeight%N==0
.The text was updated successfully, but these errors were encountered: