Rollup Transaction Lifecycle
Transactions settle down from layer 2 (the Mantis rollup) to layer 1 (the destination chain of the transaction):
- Transactions on the Mantis rollup are used to construct blocks by the Mantis rollup validator client (the sequencer). In this way, rollup validators also act as block builders.
- The blocks of Mantis rollup transactions are picked up by the relayer on Mantis.
- The relayer sends blocks to the Mantis bridge contract.
- The bridge contract subsequently sends transactions out over IBC using a light client that we have created between L1 and L2.
- Via the IBC relay (note: NOT the sequencer), blocks of transactions post to the final layer 1.
- The layer 1 validates the layer 2 blocks; if the L1 says a transaction/block is invalid, the layer 2 rolls back.
This transaction lifecycle is depicted in the following diagram:
This transaction lifecycle is depicted in the following diagram:
Finality of the L1
As mentioned, the layer 1 that a transaction is being settled to validates the L2 Mantis rollup blocks. If the L1 says the transaction is invalid (i.e. the L1 does not accept the transaction), the Mantis rollup rolls back the transaction. The rollback fork choice for the Mantis rollup is based on the L1.
Bridge Between L1 and L2
The IBC is used to settle transactions down from the Mantis rollup to the respective L1 destination chain. This is accomplished via the Picasso Network’s expansion of the IBC’s connections to not only the Cosmos Hub and Cosmos SDK chains that it originally linked, but also Polkadot and Kusama parachains, Ethereum, and Solana.
Data Posted to the L1
Data that is posted to the L1 includes:
- The block header
- The trie root commitment