Sequencer

The Citrea sequencer is a specialized full node responsible for ordering user transactions and constructing rollup blocks.

Process of Block Production

Sequencer carries the following operations to build a block, in detail:

  • It continuously monitors the mempool, a dedicated area for pending transactions.

  • Every two seconds, the sequencer assembles a new block from the transactions in the mempool. The subset of transactions selected from the mempool are stated under the mempool section. The ordering of these transactions are based on their priority fees.

  • Along with user transactions, sequencer is also responsible for including system transactions, such as updating the L1BlockHash in the BitcoinLightClient or handling Deposit transacations.

  • The sequencer executes the assembled transactions against the current state of the rollup, updates the balances, storage values, and state. Gas usages and state changes are recorded in transaction receipts.

  • Once the transactions are executed, the sequencer also generates a signed soft confirmation. This provides a soft-finality to the transactions.

  • The signed soft confirmation with block data is broadcasted to the network for full nodes to update their local chain state.

Sequencer also publishes commitments in addition to soft confirmations. You can refer to Sequencer Commitments for more information.

Trust Assumptions

Regarding the trust assumptions that come with sequencer's role, it's important to recall that ZK Proofs are used to ensure the validity of the transactions and the block. Combined with force transaction mechanism and on-chain data availability, the sequencer may cause liveness failures, but it cannot act maliciously and damage users' funds or freeze them voluntarily.

Last updated

Was this helpful?