Author: 0XNATALIE

Introduction to Move

Solidity is the most popular smart contract programming language, running on the Ethereum Virtual Machine (EVM). However, its design is not perfect, and there are some security and efficiency issues. Solidity assets are usually regarded as changeable numbers, with potential security issues such as reentry attacks and double spending, and lack of built-in formal verification (using mathematical methods to prove), and security depends on the implementation of developers. In addition, transactions are usually executed sequentially, which limits performance and scalability. These problems prompted the development of the Move language.

Move is a new smart contract programming language developed by Facebook for the cryptocurrency project Diem (formerly Libra). Move emphasizes the unique ownership of digital assets and introduces a programming model centered on "resources", which treats digital assets as non-replicable and non-disposable resources that can only be processed through explicit transfers, thereby preventing reentry attacks and double-spending problems. Move provides a safer way to handle and manage on-chain assets through resource-oriented features and formal verification. And Move's design allows for parallel processing of transactions.

Move provides basic language support for parallel transaction processing. The efficiency and feasibility of parallel execution still depends on how the underlying blockchain implements the Move language specification. For example, Aptos Move can infer parallelization at runtime, which means that the system can automatically infer the dependencies between transactions or operations and decide which transactions can be performed simultaneously to maximize the use of available computing resources. When Sui Move performs parallel processing, developers need to indicate data dependencies in advance.

Movement Labs: Building the Move Infrastructure

Movement Labs is a technology company dedicated to advancing the development of its blockchain network by adopting and expanding the Move programming language. Last month, Movement Labs completed a $38 million Series A funding round, in addition to receiving investment support from Binance Labs, the specific amount of which has not been disclosed. The product M2 developed by Movement Labs aims to bring parallelization to Ethereum.

M2 is the first Move zk L2 on Ethereum, supported by the Movement SDK. M2 brings the advantages of the Move programming language to the Ethereum ecosystem, achieving higher security and performance, and it also supports seamless interoperability with other Move-based blockchain systems.

Movement SDK: Enabling Interoperability

The Movement SDK developed by Movement Labs is a comprehensive development toolkit that promotes the application of the Move language. And the Movement SDK combines the security architecture of MoveVM with the adaptability of Solidity to create a framework that can support a variety of blockchain technologies and applications. The core components of the SDK include:

  • MoveVM: The Move virtual machine (VM) is the core of the Movement SDK, providing a secure and efficient smart contract execution environment. It follows the resource-oriented computing paradigm and emphasizes the uniqueness and irreplaceability of assets in the blockchain ecosystem.

  • Fractal: Fractal acts as a bridge between Solidity and MoveVM. Its main function is to allow developers to deploy existing Solidity contracts on MoveVM and ensure the compatibility of these contracts in the Move ecosystem. Specifically, Fractal parses the Solidity contract and tokenizes it, converting the Solidity contract into an intermediate language representation suitable for MoveVM execution. Finally, the intermediate language representation is converted into bytecode executable by MoveVM.

  • Custom Adaptors: These adapters enable the Movement SDK to integrate seamlessly with sequencers and data availability layers to support a variety of different technology stacks and infrastructures for enhanced interoperability.

As blockchain expands towards high-throughput, low-latency Internet-level applications, parallel execution technology has become one of the important trends in blockchain technology development. The Move language improves the shortcomings of the Solidity language through its unique resource model and security mechanism. Movement Labs built M2 to bring the advantages of the Move language to the Ethereum ecosystem and achieve safer parallel transaction processing.