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 ZK proofZero-knowledge proof A cryptographic method that allows an individual to prove that a statement is true without conveying any additional information. This is useful for scaling blockchain networks through rollups, because it reduces the amount of information you have to provide to lower layers., 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 zkEVMzkEVM A virtual machine that executes smart contracts and proves the correctness of execution using zero-knowledge proofs. zkEVMs recreate aspects of Ethereum's design, which provides an "Ethereum-like" experience for developers and users. 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.