The Four Components of RollupX
LIVE PATH · SEQUENCER → COMPOSER
sequencer.rs:1068
pub struct Sequencer<T, ChainSpec>
builds L2 blocks
→
composer.rs:1339
pub struct Composer<L2: BlockReader>
composes cross-chain calls and posts the batch to L1
Ordinary blocks are the sequencer alone. A Sync block adds the composer — and its batch cannot be posted to L1 until the proof-signer returns an attestation (composer.rs:7112). Without one, the composer commits an empty Sync block instead (composer.rs:5239).
PINNED
PROTOCOL RESEARCHERS
How the four components divide the work
RollupX 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 its batch cannot be posted to L1 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 its L1 batch waits on the proof-signer’s attestation.
- 02 · ATTESTATIONThe proof-signer re-executes the batch and validates its settlement effects; only then does its Attester sign the recomputed public-inputs hash.
- 03 · THE INDEPENDENT BACKSTOPDeriver re-derives the same state from L1 alone, trusting none of the three.
Verified against eez-rollupX Git commit 2c19e36; interfaces may move.