IIP: 42
Title: Halving Blocktime and Doubling the TPS of the IoTeX L1
Author: Chen Chen ([email protected]) Zhi ([email protected]) Raullen Chai ([email protected])
Status: Draft
Type: Standards Track
Category: Core
Created: 2025-03-20
This proposal advocates reducing the block interval of the IoTeX blockchain from 5 seconds to 2.5 seconds through targeted consensus parameter optimization and network-layer enhancements. By shortening the block interval, the network aims to achieve lower latency for transaction finality, and improved user experience, particularly for latency-sensitive applications in DeFi and DePIN (Decentralized Physical Infrastructure Networks).
High Latency Concerns: The current 5-second block interval is suboptimal for applications requiring near-instant finality, such as gaming, DeFi arbitrage, and micropayments in DePIN ecosystems.
Competitive Benchmarking: Leading Layer-1 blockchains (e.g., Solana, Avalanche, BSC) and Layer-2 solutions (e.g., Polygon PoS) have adopted sub-3-second intervals, setting user expectations for faster confirmations. Retaining a 5-second interval risks ecosystem migration to faster chains.
DePIN Requirements: IoTeX's focus on machine-economy and DePIN applications necessitates faster transaction processing for device-to-device interactions and real-time data transmission scenarios.
Block Interval Redistribution
The consensus process in IoTeX's DPOS-like mechanism is divided into four stages: Propose, Endorsement, Lock, and Commit. Currently, the block interval is 5 seconds. We propose to reduce the processing time allocated to the each stage to lower the overall block interval to 2.5 seconds. The time allocation will be modified as follows based our optimization and benchmarking:
Stage | Propose | Endorsement | Lock | Commit |
---|---|---|---|---|
Functions | Mint proposal and broadcast | Validate proposal and vote | Vote | Commit to storage |
TTL (5s) | 2s | 1s | 1s | 1s |
TTL (3s) | 0.8s | 0.8s | 0.45s | 0.45s |
Epoch Restructuring
Gas Limit Adjustment
To ensure blocks can be produced reliably within the shorter time interval, we introduce an optimistic block minting mechanism:
By introducing optimistic minting, the actual total duration of the proposal stage and the endorsement stage now is 4 seconds, which is longer than the previous 3 seconds. This indicates that we have ensured adequate processing time while reducing the block interval, thereby maintaining network stability under high load.
To maintain the same token emission per epoch, the rewards to delegates will be adjusted as follows:
The reduction in block intervals has had a certain impact on the staking contracts. Since the staking duration in the system is recorded based on block numbers, this results in issues such as early withdrawal and a reduced maximum staking duration. To address these problems, we have made the following changes:
Add three bucket types to re-enable 91 days staking:
To fundamentally address the issue of changes in the block interval causing the duration of old contracts to also change, we are introducing a v3 staking contract.
After the hard fork, the buckets generated by the native migration action will also be changed to the v3 contract.
In the Quebec Upgrade, we introduced the Staking Contract (v1: 0x68db92a6a78a39dcaff1745da9e89e230ef49d3d) to unlock liquidity staking. In the Upernavik Upgrade, we introduced the Native Staking Migration feature. Due to the limitations on staking types in the v1 contract, we also introduced the v2 contract (0x8ee521d2179576bcc4bd33a00904e96a11678052) to facilitate a smooth migration experience.
Currently, both versions are in use. The v1 version has been integrated into dapps such as uniIOTX, while the v2 version is only used by retail users.
Block interval reduction impacts these two staking contracts, since the contract staking duration is determined based on the block number, and given that the block interval has been reduced to three seconds. The impacts are as follows:
The current v1 has a total staking volume of approximately 470 million IOTX, with the vast majority generated from uniIOTX. Therefore, we will retain the staking function for this version while offering a new staking type to correspond with the 91-day duration, to assist uniIOTX in migrating their original stake buckets. Once the migration is complete, we will close the original staking bucket type.
The current v2 has a total staking volume of approximately 10 million IOTX, primarily from individual stakers, making coordination more challenging. Therefore, the staking for this version will be deprecated, and any new staking or changes to the old staking will make the stakes invalid (no voting rights or staking rewards will be generated).
For original stakers, there are two methods to handle their stakes:
Network Stability
Delegate Requirements
Smart Contract Auditing
This feature will be rolled out in v2.2.0, which is expected by the end of June, 2025. Before the release, it is necessary to complete the integration preparation for the related products, e.g., Staking Portal, ioPay, IoTeX Explorer, and third party products.
Copyright and related rights waived via CC0.