Movement Labs LogoMovement Docs
What is the Movement Mainnet?

High-level architecture

Overall architecture of the Movement Mainnet

High-level architecture

architecture_movement.png

Integration with Celestia is currently in progress and will be coming soon.

Data Availability

The DA service is used to store transaction data and make it available to the network. The service is accessed via DA light nodes. The DA service is currently responsible for the following actions:

  • Forming transaction batches
  • Signing the transaction batches
  • Ordering the transactions batches
  • Using the ordered transaction protoBlocks
  • Construct a protoBlock stream

Sequencing

In order to protect the DA layer from spam, only certain sequencer nodes receive authorization to sequence transactions into ordered transaction batches. These sequencer nodes provide basic sequencing for transactions ingressed from the users. The sequencer node sends the transaction batch digest to the DA service using the DA light node. Initially, there will be a leader node that is responsible for sequencing transactions. Sequenced transactions then result in contstrction of protoBlocks, where each protoBlock may contain several transaction batches.

The protoBlock is the final ordering step of transactions. Next stop: execution.

Execution

A node receives protoBlocks via the DA light node and executes the transactions in the protoBlocks. The node then creates Movement blocks from the protoBlocks, which contain additional information such as the new state root after applying the transactions.

Fees

Transaction fees are paid in the token of the Movement Network. They are used to pay for the data availability, sequencing, execution, and settlement services:

fee = data_availability_fee + sequencing_fee + execution_fee + settlement_fee

For more information on fees, see this MIP.