Move Introduction
Solidity is currently the most popular smart contract programming language running on the Ethereum Virtual Machine (EVM). However, its design is not perfect and it has some security and efficiency issues. Solidity assets are typically seen as mutable digits, which can lead to security issues such as re-entry attacks and double spending. Furthermore, it lacks built-in formal verification and security relies on the developer’s implementation. In addition, transactions are usually executed sequentially, limiting performance and scalability. These issues have 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 “resource”-centric programming model, treating digital assets as non-duplicable and non-discarded resources that can only be handled through explicit transfer to prevent re-entry attacks and double spending issues. Move, through its resource-oriented features and formal verification, provides a more secure way to handle and manage on-chain assets. Additionally, Move’s design allows for parallel transaction processing.
Move provides foundational language support for parallel transaction processing, and the efficiency and feasibility of parallel execution depend on how the underlying blockchain implements the Move language specification. For example, Aptos Move can infer parallelism at runtime, meaning the system can automatically infer dependencies between transactions or operations and decide which transactions can occur simultaneously to maximize the use of available computational resources. On the other hand, Sui Move requires developers to specify data dependencies in advance when processing in parallel.
Movement Labs: Building Move Infrastructure
Movement Labs is a technology company dedicated to advancing its blockchain network by adopting and expanding the Move programming language. Last month, Movement Labs completed a $38 million Series A financing round, and also received investment support from Binance Labs, with the specific amount undisclosed. The product developed by Movement Labs, M2, aims to bring parallelism to Ethereum.
M2, the first Move zk L2 on Ethereum, is supported by the Movement SDK. By bringing the advantages of the Move programming language to the Ethereum ecosystem, M2 achieves higher security and performance, and also supports seamless interoperability with other Move-based blockchain systems.
Movement SDK: Achieving Interoperability
The Movement SDK developed by Movement Labs is a comprehensive development toolkit that promotes the application of the Move language. The Movement SDK combines MoveVM’s secure architecture with Solidity’s adaptability to create a framework that supports various 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 environment for smart contract execution. It follows a resource-oriented computational paradigm, emphasizing the uniqueness and non-replaceability 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, ensuring compatibility of these contracts in the Move ecosystem. Specifically, Fractal parses Solidity contracts and tokenizes them, converting Solidity contracts into an intermediate language representation suitable for execution on MoveVM, and finally transforming the intermediate language representation into MoveVM executable bytecode.
Custom Adaptors: These adaptors enable the Movement SDK to seamlessly integrate with sequencers and data availability layers to support a variety of different technology stacks and infrastructures, enhancing interoperability.
As blockchain moves towards high-throughput, low-latency internet-scale applications, parallel execution technology has become one of the important trends in blockchain technology development. The Move language improves on the shortcomings of the Solidity language through its unique resource model and security mechanisms. Movement Labs’ construction of M2 brings the advantages of the Move language to the Ethereum ecosystem, enabling more secure parallel transaction processing.