Optimistic Rollup Integration
In this section, we will outline how an optimistic rollup can be adapted to use fast and secure confirmations from the Espresso Network.
High-level Optimistic Rollup Architecture
In an optimistic rollup, user transactions are first received by the sequencer, which orders them and produces blocks. These blocks are then sent to the batch poster, which compresses them and posts the batches to the parent chain. The batches are subsequently verified by validators, resulting in a new finalized rollup state.
High Level Integration Flow
In our integration, the sequencer/batch poster sends blocks to the Espresso network. Once the network confirms them, the batch poster retrieves those blocks, assembles them into batches, and submits the batches to the parent chain. To ensure the data posted to the parent chain matches what the Espresso network confirmed, we run the batch poster inside a Trusted Execution Environment (TEE). With each batch, the poster includes a TEE attestation (proof), which a contract on the parent chain verifies to confirm that the batcher is indeed running inside a TEE.

Reading Espresso Confirmations
We’ve also built Caff Nodes, which are rollup full nodes that get data from the Espresso Network. Bridges and apps can use them to read the rollup state.

Last updated

