Skip to content

Merkel Tree Migration: from zk-trie to MPT #871

@FletcherMan

Description

@FletcherMan

Background

Our proving system has optimized the circuit logic related to MPT, so that block proving time is no longer a bottleneck even when using MPT as the Merkle tree. Additionally, to achieve better execution performance and better compatibility with the reth client we plan to adopt, we are migrating the state trie of the Morph chain from zkTrie to MPT.

Approach

A network upgrade will be scheduled at a specific block timestamp. After this point, the state root in the block header will be computed using the MPT structure. All nodes must be upgraded and deployed before the upgrade timestamp.

Around the time of the upgrade, nodes are free to choose either zkTrie or MPT as their underlying Merkle tree structure. Both will be supported temporarily, though we recommend MPT. Note that switching to MPT requires a full node rebuild — the existing zkTrie database cannot be reused, as the two structures are incompatible.

An MPT snapshot will be provided at the time of the upgrade to help nodes sync up more quickly.

Reference

https://larkfive.sg.larksuite.com/wiki/GWJKwBMP6ilcpckFCExluRaSgAe

Metadata

Metadata

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions