What is Movement Sidechain
Learn about Movement Sidechain and its capabilities
Movement Sidechain is a Move-based sidechain secured by an L1. It provides a high-performance execution environment while benefiting from the security of the L1.
Why Movement Sidechain?
By leveraging Move technology through the Move programming language and MoveVM for secure, efficient smart contract development. Sidechains profit from L1 security through anchoring via the Fast Finality Settlement mechanism, while achieving high performance with high throughput through parallel execution. Additionally, it maintains compatibility with existing L1 applications.
Key Components
Fast Finality Settlement (FFS)
The Fast Finality Settlement (FFS) module is designed to provide fast confirmations and settlement for transactions. By utilizing a network of validators who stake assets and attest to the correctness of state transitions, this module ensures crypto-economic security and reduces latency. The validators combine the security benefits of staking with the efficiency of rapid transaction finality. The Fast Finality Settlement includes Postconfirmations for anchoring, see this blog (on-L1).
Comparison of security mechanisms
- L1 Settlement: Validators stake assets to provide economic security, ensuring significant financial interest in network integrity.
- ZK and Optimistic Rollups: ZK-rollups offer security through validity proofs, while optimistic rollups rely on challenge periods for dispute resolution.
- Fast Finality Settlement (FFS) Chains: Offers Fast Finality Settlement and high economic security without extensive proof generation or challenge periods, reducing latency and improving user experience compared to ZK and optimistic rollups.
Move Stack Framework
The Move Stack is a collection of tools, components, and adapters that enable the creation of customizable Move-based chains. It includes essential elements such as sequencing, data availability, and settlement mechanisms. The modular architecture of the Move Stack allows developers to select the most suitable components for their specific applications, ensuring optimal performance and security.
The Move Stack's configurable components include:
- Sequencer: Developers can opt for the default decentralized shared sequencing service or choose a self-reliant sequencing mechanism.
- Data Availability: Supports various DA solutions
- Settlement Mechanisms: Offers options for optimistic (fraud proof), ZK (validity proof) and staked (attestations) settlement mechanisms.
The Move Stack promotes standardization across critical infrastructure components, including wallet software, developer APIs, and block explorers. This standardization enhances interoperability and significantly improves the developer and user experience across the Movement Network ecosystem.
Move Stack Chain Framework
The Move Stack Chain framework provides a blueprint for creating Move-based chains. It is a modular architecture where components can be configured to meet the specific needs of different applications. The framework includes key components such as the Move Executor, bridge contracts and adaptors for sequencing, a data availability, and a settlement. This flexibility allows for the customization of chains to optimize performance, cost, and security.
Key Components of the Move Stack Chain framework
- Executor: Processes transactions and generates new L2 blocks.
- Bridge Contracts: Facilitates asset deposits and withdrawals between L1 and the chain.
- Sequencer: Orders transactions.
- Data Availability Service: Ensures transaction data accessibility to the settlement mechanism.
- Settlement Mechanism: Verifies transaction execution correctness through various methods (e.g., ZK-proofs, fraud proofs, fast finality settlement).
The modularity of the Move-based chain framework allows developers to select different data availability solutions, settlement mechanisms, and sequencing options, customizing their chains to best fit their application's needs.
Interoperability and Security
The Movement Network leverages mechanisms to ensure robust interoperability and high security across its ecosystem. Key components include the Interoperability Protocol, potential Multi-Asset Staking and delegation.
Interoperability Protocol
This component provides an interoperability layer, enhancing composability of transactions across the network. It supports cross-chain atomic transactions and pooled liquidity within the Movement Network ecosystem. This is a crucial component of the Movement Network, ensuring that the user experience is coherent across the ecosystem.
PoS, Multi-Asset Staking and Delegation
We utilize PoS to provide economic security. Multi-asset staking is considered to enable staking of both native and non-native tokens, boosting network security and promoting sovereignty among chains. Multi-asset staking allows the inclusion of various token types, enhancing the economic security and decentralization of the network. This also empowers chains by integrating their security contributions into the overall network. In addition Delegation allows for staking without operating a node, maximizing staked value and economic security.
Transaction Lifecycle
Understanding the transaction lifecycle is crucial for understanding how Move-based chains achieve efficient and secure transaction finality. This lifecycle outlines the steps from the initial submission of a transaction to its final settlement, ensuring that every transaction is processed correctly and securely.
The transaction lifecycle within a Move-based chain involves:
-
Submission: A user submits a transaction to the Movement Network. After basic validation, the transaction is placed into the mempool, awaiting inclusion.
-
Sequencing: An authorized sequencer node (Leader node) pulls transactions from the mempool and arranges them into transaction batches (ordering). From the ordering and the recorded batches, protoBlocks are formed, which will be executed during the execution step.
-
Data Publication: The sequencer records the data and makes it publicly available so that the Movement Network can retrieve it.
-
Execution: Once protoBlocks are retrieved, a node executes the transactions using the Move VM. This updates the Movement Network state. The node then packages the executed protoBlocks into finalized Movement Blocks, including the new state root and other metadata.
-
Settlement: Multiple Movement Blocks are periodically aggregated into a superBlock. The resulting state digest for the superBlock is written to an L1 contract as a Postconfirmation. Once settled, the Movement Network recognizes that state as finalized. Nodes read the settled confirmation from L1 to update their local state databases.