BEP: 524 Title: Short Block Interval Phase Two: 0.75 seconds Status: Draft Type: Standards Created: 2025-02-18 Description: To shorten the block interval from 1.5 seconds to 0.75 seconds.
Shorten the block interval from 1.5 seconds to 0.75 seconds to enable faster transaction confirmation and improve user experience.
BEP-520 is the phase one to reduce the block interval from 3 seconds to 1.5 seconds. And this BEP is the phase two, which would reduce it further to 0.75 seconds.
Faster transaction confirmation is a critical and long term goal, with 0.75 seconds block interval, it could meet the requirement of some time sensitive applications.
The overall design specification is similar to BEP-520, so only the parameter changes will be covered in this section.
As mentioned above, phase one and phase two are highly relevant, their parameter changes will be put in one table for easy comparison.
A multitude of system parameters are configured based on the assumption of the default block interval. Consequently, when the block interval is altered, these parameters must be adjusted accordingly:
parameter | type | origin(3s) | phase one(1.5s) | phase two(0.75s) |
---|---|---|---|---|
Epoch | client parameter | 200 | 1000 | 2000 |
GasLimit | client parameter | 140M | 60M | 30M |
GasLimitBoundDivisor | client parameter | 256 | 1024 | 1024 |
Blob Target | client parameter | 3 | 2 | 1 |
Blob Maximum | client parameter | 6 | 3 | 2 |
Blob MinBlocksForBlobRequests | client parameter | 524288 | 1048576 (524288 × 2) | 2097152 (524288 × 4) |
BSCGovernor.votingDelay | contract parameter | $votingDelay | $votingDelay × 2 | $votingDelay × 4 |
BSCGovernor.votingPeriod | contract parameter | $votingPeriod | $votingPeriod × 2 | $votingPeriod × 4 |
BSCGovernor.minPeriodAfterQuorum | contract parameter | $minPeriodAfterQuorum | $minPeriodAfterQuorum × 2 | $minPeriodAfterQuorum × 4 |
BSCValidatorSet.misdemeanorThreshold | contract parameter | $misdemeanorThreshold | $misdemeanorThreshold × 2 | $misdemeanorThreshold × 4 |
BSCValidatorSet.felonyThreshold | contract parameter | $felonyThreshold | $felonyThreshold × 2 | $felonyThreshold × 4 |
BSCValidatorSet.felonySlashScope | contract parameter | $felonySlashScope | $felonySlashScope × 2 | $felonySlashScope × 4 |
BSCValidatorSet.TurnLength | contract parameter | 4 | 16 | 32 |
Refer BEP-520
After phase two, the block interval will be reduced to 0.75 seconds, a single validator will produce 32 consecutive blocks per turn, keeping the total block production time at 24 seconds (0.75 × 32). However, the shorter block time significantly reduces the collaboration window for searchers, builders, and validators, impacting the current process and requiring adjustments.
Similar to BEP-520, Layer 2 can only attach 2 blobs at most for each transaction and the blob gas price calculation mechanism will also be slightly different.
TBD
This BEP will not change the fast finality mechanism, but short block interval could bring some challenges to fast finality, as votes need to be propagated in a shorter time. When fast finality works properly, with this BEP, the average transaction finality time would be reduced from 3.75 seconds to 1.875 seconds. But if fast finality failed, with TurnLength 32 and ValidatorSize 21, for natural block finality, it will be:
- (with >1/2 validator confirmations): 352(11*32) blocks, that is 264 seconds
- (with >2/3 validator confirmations): 480(15*32) blocks, that is 360 seconds
The content is licensed under CC0.