The validity proposer supports gas-based range splitting via RANGE_PROOF_EVM_GAS_LIMIT, which dynamically splits proof ranges based on EVM gas consumption. However, this feature is not available in the fault proof proposer.
Current Behavior
The fault proof proposer uses RANGE_SPLIT_COUNT to split ranges into a fixed number of segments (1-16), regardless of actual gas consumption per block.
For example, with PROPOSAL_INTERVAL_IN_BLOCKS=3600 and RANGE_SPLIT_COUNT=8:
- Low-load blocks (1 tx/block): splits into 8 segments of 450 blocks each ✅
- High-load blocks (100 tx/block): also splits into 8 segments of 450 blocks each ❌
In the high-load case, each segment may contain significantly more gas, potentially causing proof generation to fail or timeout.
Feature Comparison
| Feature |
Validity Proposer |
Fault Proof Proposer |
| Gas-based splitting |
✅ RANGE_PROOF_EVM_GAS_LIMIT |
❌ Not supported |
| Block-based splitting |
✅ RANGE_PROOF_INTERVAL |
✅ PROPOSAL_INTERVAL_IN_BLOCKS |
| Fixed segment splitting |
❌ |
✅ RANGE_SPLIT_COUNT (1-16) |
Questions
- Why doesn't the fault proof proposer support
RANGE_PROOF_EVM_GAS_LIMIT currently?
- Are there plans to add this feature in the future?
Thanks!
The validity proposer supports gas-based range splitting via
RANGE_PROOF_EVM_GAS_LIMIT, which dynamically splits proof ranges based on EVM gas consumption. However, this feature is not available in the fault proof proposer.Current Behavior
The fault proof proposer uses
RANGE_SPLIT_COUNTto split ranges into a fixed number of segments (1-16), regardless of actual gas consumption per block.For example, with
PROPOSAL_INTERVAL_IN_BLOCKS=3600andRANGE_SPLIT_COUNT=8:In the high-load case, each segment may contain significantly more gas, potentially causing proof generation to fail or timeout.
Feature Comparison
RANGE_PROOF_EVM_GAS_LIMITRANGE_PROOF_INTERVALPROPOSAL_INTERVAL_IN_BLOCKSRANGE_SPLIT_COUNT(1-16)Questions
RANGE_PROOF_EVM_GAS_LIMITcurrently?Thanks!