Skip to main content

Sequencer

What is it?​

The sequencer is the heart of Linea's execution client, responsible for ordering, building, and executing blocks in a way that allows the subsequent zero-knowledge proof to be made.

What does it do?​

The sequencer does a number of things:

  • Determines the order—the sequence—in which transactions will be executed
  • Builds blocks from them
  • Executes those blocks
  • Prepares certain data relating to the traces of that execution for the zero-knowledge prover.

How does it do it?​

Linea's execution client is Linea Besu, an implementation of the Besu execution client extended with additional functionality to support Linea and its requirements as a zero-knowledge rollup. You can run your own Linea Besu node.

Linea's sequencer takes transactions from the Linea memory pool, and builds them into blocks. However, on Linea, it also does a bit of extra work, and communication, with the coordinator, to ensure that blocks are made in such a way that they can be proven by the zero-knowledge prover, and that they are as compact as possible-doubly important in a situation where all data has to be written in tiny, costly pieces on Ethereum Mainnet. This is done specifically by subsystems within the sequencer: the traces generator and conflator.