Whitepaper Concepts

This article provides an overview of the concepts in the M2 whitepaper.

Introduction to the M2 ZK-rollup Solution

M2 introduces a Move-based zk-rollup architecture, aiming to enhance Ethereum's Layer 1 (L1) infrastructure. At the heart of M2 lies the Movement SDK, consisting of MoveVM, Fractal, and a decentralized sequencer network, M1. The network utilizes Snowman Consensus for high throughput and efficient transaction sequencing.

Inheriting Block-STM parallelization from Diem, M2 uniquely brings parallelization to the modular stack as the first Modular MoveVM.

With localized fee markets and parallel execution, M2 will be able to achieve tens of thousands of TPS while living on Ethereum.

M2 User Interaction and Smart Contract Deployment

M2 supports interactions through both the Ethereum Virtual Machine (EVM) client and the Move client, enabling the deployment of all variants of Move and EVM smart contracts.

The Move language introduces a resource-oriented programming model. This ensures safer interactions and management of ownership and memory to prevent unsafe contract interactions.

Rollup Technology Explained

Rollups execute transactions off the main L1 blockchain, with transaction data subsequently sent back to L1. M2 leverages rollup technology to facilitate efficient transaction processing and scaling.

Transaction Lifecycle on M2

The transaction lifecycle on M2 is fairly simple: users submit transactions via the M1 sequencer network. Then M1 verifies and orders and transactions to construct the M2 ledger. This is called sequencer finality. M2 also has:

  • DA finality: a DA service proves M2 transaction data is available,

  • Validity proof finality via the prover marketplace’s network of zk-provers, and

  • Total finality: zk-proofs are submitted to the M2 verifier smart contract on L1.

L1 Interaction and the Role of M2 Bridge Smart Contracts

M2 enhances interaction with Ethereum through native L1 clients and M2 bridge smart contracts, facilitating asset transfers and providing a source of truth for Ethereum about M2’s state via validating zk-proofs.

M2 Components and Modular Execution Environment

The Movement SDK serves as the core of M2’s execution environment. It includes MoveVM, Fractal, and various APIs for interoperability.

As M2's PoS sequencer network, M1 ensures transaction correctness, accessibility, and validation, with the help of Data Availability (DA) Services and the Prover Marketplace.

End-User Interaction and Full Node Operations

End-users engage with M2 through native Move or EVM clients, while full nodes maintain the ledger and facilitate finality guarantees. This decentralized nature allows users to run full nodes, verifying transactions and contributing to the network's security.

Movement SDK: MoveVM and Fractal

The Movement SDK has two main components: MoveVM and Fractal.

MoveVM establishes Move as a standard across major ecosystems. It decouples the execution environment from any specific consensus mechanism. It is compatible with various versions of Move across ecosystems. Fractal enables non-Move smart contract engineers to deploy their Solidity contracts on MoveVM.

  1. Solidity is compiled to an Intermediate Language containing instructions articulated in EVM opcodes.

  2. Then the EVM opcodes are mapped to their MoveVM bytecode counterparts.

EVM Runtime is a mechanism to transpose EVM RPC calls into MoveVM RPC calls. This allows Solidity smart contracts to be deployed onto MoveVM, through a specialized Ethereum JSON RPC endpoint. The possibilities are practically endless.

Sequencer Network and Snowman Consensus

Sequencers in the M1 network are required to stake MOVE tokens, aligning their incentives with the health and efficiency of the network. The PoS mechanism enables slashing conditions to safeguard against malicious activities, enhancing the network's security and reliability. Snowman Consensus allows M1 to enjoy high throughput and efficient transaction sequencing. As a leaderless consensus protocol that uses state-weighted sampling and rapid convergence, Snowman is a great choice for handling high volumes of transactions with low latency. To participate in sequencing and earn fees, validators stake MOVE.

M2’s modular design abstracts the consensus layer away from the execution layer. This enhances security, flexibility and scalability by letting each protocol layer work independently and stay synchronized.

Consensus and Execution Engine Interaction

There are three touchpoints between the consensus layer and the execution engine:

  1. Transaction Initiation: a new transaction is added to the memory pool.

  2. Block Building: the consensus layer sends a unique block ID and current mempool transactions to the execution layer, which begins building a new block.

  3. Block Submission: the execution layer submits the block to the consensus layer, receives a commit notification, and writes the final state to storage.

Conclusion

As of November 2023, EVM-based systems have lost 5 billion dollars in crypto assets due to security exploits. M2 provides a novel solution.

Each component is essential for enhancing Ethereum’s L1 infrastructure. For a deeper dive into M2's architecture and capabilities, please read the full whitepaper!

Last updated