STEP 1 OF 3
NEXT: How L1 stays the source of truth →
LIVE PATH · SEQUENCER → COMPOSER
sequencer.rs:159
pub struct Sequencer<T, ChainSpec>
builds L2 blocks
→
composer.rs:515
pub struct Composer<L2: BlockReader>
settles cross-chain calls in that block
Ordinary blocks are the sequencer alone. A Sync block adds the composer — and it cannot be emitted until the proof-signer returns an attestation (composer.rs:2864).
PINNED
PROTOCOL RESEARCHERS
How the four components divide the work
Rollup0 divides its work across four components — sequencer, composer, proof-signer and deriver. Ordinary blocks are the sequencer alone; a Sync block adds the composer, and cannot be emitted until the proof-signer returns an attestation.
The deriver never trusts the other three; it independently re-derives the same state from L1 alone.
WHAT YOU'LL LEARN
- 01 · THE LIVE PATHOrdinary blocks are the sequencer alone. One Sync block per L1 block adds the composer — and waits on the proof-signer’s attestation.
- 02 · ATTESTATIONThe proof-signer's Attester signs a hash of the result so the block can be trusted downstream.
- 03 · THE INDEPENDENT BACKSTOPDeriver re-derives the same state from L1 alone, trusting none of the three.
Verified against eez-rollup0 @ a4b9b2f — pre-mainnet; interfaces may move.