Conflation
What is it?â
Conflation is the process of combining two or more blocksâ worth of transactions into one data set. It can then be used to produce a âbefore and afterâ map of the network state (a Merkle tree, in technical terms) as well as a zero-knowledge proof, which is published to Ethereum.
What does it do?â
Conflation is not normally seen in mainnet Ethereum environments, where transaction data must be published in discrete blocks, one by one in order, before the next block can be published. In a zkEVM environment, the âsource of truthâ from Ethereumâs perspective is the data submitted to it: the ZK proof, the list of transactions proved by it, and the Merkle tree. That means that itâs not a question of âhow many transactions fit in a blockâ, but âhow many transactions fit in a proofâ. By conflating multiple blocks into one, Linea's proving system becomes much more efficient.
How does it do it?â
Conflation occurs within the execution client, but through a process of communication with the coordinator:
- The conflator waits for a traces file to appear
- Marks that blocks' worth of traces as "merged"
- Waits a certain amount of time in case more block data comes in
- If it does, it checks to see if the number of lines in the block and the length of the data would exceed the limit
- If it's within the limit, the conflator marks it as merged as well
- If it does, it checks to see if the number of lines in the block and the length of the data would exceed the limit
The conflator continues this cycle until the time limit is reached, at which point it passes the conflated trace data back to the coordinator, for subsequent Merkle tree and proof generation.