Skip to content

Move Virtual Machine (MVM)

Introduction

The Move Virtual Machine (MVM) is a next-generation execution engine tailored for high-performance, secure, and scalable blockchain applications. With its robust security model, parallel execution capabilities, and cross-chain interoperability, MVM is poised to be a foundational component of the Movement Network and beyond.

Key Features

1. Security and Safety

MVM is designed with security at its core, utilizing Move's resource-oriented programming paradigm to prevent common vulnerabilities such as reentrancy and double-spending attacks.

2. Parallel Execution

Unlike traditional blockchain virtual machines, MVM supports parallel transaction execution, improving throughput and reducing latency. The MoveVM employs Block-STM, an advanced concurrency control mechanism that enables efficient execution of multiple transactions in parallel.

3. EVM Compatibility

MVM is capable of executing both Move bytecode and EVM bytecode, allowing developers to deploy Solidity-based smart contracts alongside Move-based applications.

4. Deterministic Execution

MVM ensures that all smart contracts execute deterministically, meaning that given the same inputs, they always produce the same outputs. This property is essential for maintaining consensus among nodes.

5. Interoperability and Modular Architecture

MVM supports cross-chain interoperability via the Fast Finality Settlement (FFS) module, allowing seamless interaction between different blockchain environments.

6. Move Objects and Resource Accounts

MVM extends the core MoveVM with additional features, including Move Objects, which provide an extensible programming model for global access to heterogeneous sets of resources stored at a single address on-chain. Additionally, Resource Accounts enable programmable on-chain accounts, ideal for DAOs, shared accounts, and complex applications.

7. Advanced Cryptographic Primitives

MVM includes built-in cryptographic primitives for building scalable, privacy-preserving decentralized applications.

8. Tables for Scalable Storage

MVM supports key-value storage tables, allowing for efficient and scalable data storage within an account.

9. Multi-Agent Transaction Framework

MVM enables multi-agent transactions, allowing multiple distinct signer entities to participate in a single transaction, increasing flexibility for complex applications.

Execution Model

MVM operates on a transaction-based execution model where transactions are processed in stages:

  1. Transaction Ingress: Transactions enter the network through full nodes and are placed into the mempool.
  2. Sequencing: Transactions are batched and ordered by a decentralized sequencer.
  3. Execution: The Move Executor processes transactions, verifying signatures and executing bytecode.
  4. Validation and Settlement: Executed transactions are validated and finalized using the FFS module.
  5. State Commit: The resulting changes are committed to the blockchain state.

Gas and Resource Model

MVM uses a resource-based pricing model to compute transaction costs:

  • Computation Cost: Based on the number of instructions executed.
  • Storage Cost: Dependent on the size of stored data.
  • Bandwidth Cost: Determined by transaction size and data availability requirements.

Comparison to Other Virtual Machines

FeatureAptos / MoveVMSolana / SeaLevelEVMSui / MoveVM
Data StorageGlobal address & account-basedAccount-basedSmart contract-basedGlobal address-based
ParallelizationInfers parallelization at runtimeRequires explicit access specificationSerial executionRequires explicit access specification
Transaction SafetySequence number enforcementTransaction uniquenessNoncesTransaction uniqueness
Type SafetyModule structs and genericsProgram structsContract typesModule structs and generics
Function CallingStatic dispatchStatic dispatchDynamic dispatchStatic dispatch
Authenticated StorageYesNoYesNo
Object AccessibilityGlobally accessibleNot applicableNot applicableLimited to specific objects

Developer Tools and Support

MVM provides a comprehensive suite of developer tools, including:

  • Move CLI for compiling and deploying Move modules.
  • SDKs and APIs for interacting with smart contracts.
  • Blockchain Explorer for monitoring transactions and contract interactions.
  • Aptos Token and Fungible Asset Standards, enabling seamless token creation and interoperability.
  • Staking and Delegation Framework, allowing developers to integrate staking mechanisms into their applications.
  • Timestamp Service, ensuring accurate on-chain timekeeping for transaction sequencing.

MoveVM is how we are bringing users and traditional finance onchain to enjoy freedom in a safe, performant environment.