Sequencer

A sequencer is a specialized node responsible for ordering and processing transactions in a blockchain, particularly in layer-2 scaling solutions like rollups, to improve efficiency and reduce costs.

A sequencer plays a pivotal role in blockchain technology, especially within layer-2 scaling solutions. Its primary function is to gather transactions from users, order them, and then submit them to the underlying layer-1 blockchain. This process ensures transactions are processed in a specific sequence, which is crucial for the correct state of the blockchain.

The concept of a sequencer has gained prominence with the rise of rollups, such as optimistic and ZK-rollups. These solutions aim to improve the scalability of blockchains by executing transactions off-chain and then submitting the transaction data to the main chain. The sequencer is responsible for handling these off-chain transactions, bundling them, and proposing them to the layer-1.

The efficiency of a sequencer directly impacts the user experience. By ordering and processing transactions quickly, a sequencer can reduce transaction latency and provide faster confirmation times. The decentralization of sequencers is an ongoing area of development, with efforts to create more robust and secure systems to prevent single points of failure and censorship.

        graph LR
  Center["Sequencer"]:::main
  Pre_layer_2["layer-2"]:::pre --> Center
  click Pre_layer_2 "/terms/layer-2"
  Pre_transaction["transaction"]:::pre --> Center
  click Pre_transaction "/terms/transaction"
  Rel_optimistic_rollup["optimistic-rollup"]:::related -.-> Center
  click Rel_optimistic_rollup "/terms/optimistic-rollup"
  Rel_zk_rollup["zk-rollup"]:::related -.-> Center
  click Rel_zk_rollup "/terms/zk-rollup"
  Rel_mev["mev"]:::related -.-> Center
  click Rel_mev "/terms/mev"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explain Like I'm 5

Think of a sequencer like a traffic controller for a busy highway exit ([Layer 2](/en/terms/layer-2)). It gathers all the cars (transactions) trying to get on the highway, lines them up neatly, and sends them onto the main road ([Layer 1](/en/terms/layer-1)) all at once, making things faster and cheaper.

🤓 Expert Deep Dive

In the context of optimistic and zero-knowledge rollups, the sequencer acts as the central orchestrator responsible for [transaction ordering](/en/terms/transaction-ordering) and state transitions off-chain. It receives a stream of user-submitted transactions (often via an RPC endpoint), validates their basic format and signature, and enqueues them into a mempool. The sequencer then deterministically orders these transactions, typically based on arrival time or a fee-market mechanism (e.g., EIP-1559-like structures if applicable), and executes them against the current rollup state. The result of this execution is a new state root, which is then committed to the layer-1 blockchain. Crucially, the sequencer batches multiple transactions into a single state transition. This batching is what enables the significant gas cost savings and throughput increases characteristic of rollups. For optimistic rollups, the sequencer constructs a proposed state transition and submits a transaction to the L1 containing the compressed transaction data and the resulting state root. A challenge period follows, during which anyone can submit a fraud proof if they detect an invalid state transition. For ZK-rollups, the sequencer not only orders and executes transactions but also generates a validity proof (e.g., a ZK-SNARK or ZK-STARK) that mathematically guarantees the correctness of the state transition. This proof, along with the transaction data and the new state root, is submitted to the L1 verifier contract. Decentralization of the sequencer is a key research area, with proposed solutions including shared sequencers, sequencer pools, and randomized leader election to mitigate censorship and single points of failure. The sequencer's internal logic often involves managing state forks, handling reorgs, and ensuring atomicity of batches.

🔗 Related Terms

Prerequisites:

📚 Sources