Main article
Lorentz is an upgrade hardfork on the BNB Smart Chain mainnet that activates on April 29, 2025. Lorentz introduces one single change: BEP-520: Short Block Interval Phase One: 1.5 secondsChainstack nodes are Lorentz-ready
Chainstack nodes are prepared for the Lorentz network upgrade.- Block time halved from 3 seconds to 1.5 seconds
- Gas limit per block halved from 140 million to 70 million
- Epoch extended from 200 blocks to 500 blocks
- Consecutive block validation per validator increased from 4 blocks to 8 blocks
1.5 second block time
Going from 3 seconds to 1.5 seconds means you will need to be ingesting the blocks at 2x the pre-fork speed. Chainstack infrastructure is handling the nodes, so just make sure your client-side service is ready for that. Now let’s have a look at the block structure.Lorentz block structure
Compare post-fork and post-node-upgrade:
Let’s have a look at
milliTimestamp.
The milliTimestamp field is introduced to keep the original timestamp in integer seconds. With the switch from 3 seconds to 1.5 seconds, the value becomes more granular, allowing for precise millisecond-level timing while maintaining backward compatibility with the existing second-based timestamp system.
The original timestamp value is preserved post-fork, and the previously unused mixHash value now contains the last bytes of the sub-second timestamp to complement the original timestamp value.
This means you can retrieve the post-fork block timestamp either via the milliTimestamp field or via the timestamp + mixHash calculation.
The timestamp + mixHash calculation algorithm:
1. Convert timestamp to decimal seconds: 0x6807302f > 1745301551 s
2. Multiply by 1000 to get milliseconds: 1745301551 × 1000 > 1745301551000 ms
3. Extract the ms remainder from mixHash: 0x…01f4 > 0x1f4 > 500 ms
4. Add them together: 1745301551000 + 500 > 1745301551500 ms
5. Convert back to hex if desired 0x1965c14398c
Or in Python:
