Update on MIP-8 rollout
As a reminder, MIP-8 introduces page-aware storage, reorganizing the Merkle trie to assign nearby slots to the same disk page. This is a huge efficiency gain since all db lookups are in units of pages. It is currently super inefficient that nearby slots hash to different disk pages, and MIP-8 solves this problem.
Since the database structure is changing, nodes need to temporarily maintain both the old (slot-based) and new (page-based) databases in parallel, then at a later point need to phase out the old database.
Software upgrades are planned to execute this transition in phases:
- at the start of Phase A, both databases are maintained
- at the start of Phase B, the page-based (new) database becomes the primary one (i.e. the node fails if the page-based database is not running), and MIP-8 takes effect
- at the start of Phase C, the node stops maintaining the slot-based (old) database
Phase A was implemented via v0.15.2. A supermajority of both testnet and mainnet nodes are on this now.
Phase B is being implemented in v0.16.0 for testnet, gated by a specific timestamp. A supermajority of testnet nodes are on this now, with the timestamp set for 2026-08-12 at 14:30 UTC. After this point in time, MIP-8 will be in effect (lower gas costs for multiple state accesses touching the same page) on testnet.
This post describes the migration:
docs.monad.xyz/node-ops/upgr…