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.