Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion pages/stack/protocol/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
"rollup": "Rollup",
"fault-proofs": "Fault Proofs",
"features": "Features",
"outages": "Sequencer Outages"
"outages": "Sequencer Outages",
"derivation-pipeline":"Derivation Pipeline"
}
30 changes: 30 additions & 0 deletions pages/stack/protocol/derivation-pipeline.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
+ ---
+ title: Derivation Pipeline
+ description: Overview of the derivation pipeline in the OP Stack protocol.
+ ---
# Derivation Pipeline
Comment thread
cpengilly marked this conversation as resolved.

The derivation pipeline is a fundamental component of the OP Stack protocol, responsible for processing and validating transactions in the Optimism network. It ensures the integrity and security of the blockchain by deriving a consistent state from the sequenced transactions and batches submitted by the sequencer.

## Key Functions of the Derivation Pipeline

- **Batch Submission and Sequencing**: Transactions are collected and sequenced into batches by the sequencer. These batches are then submitted to Layer 1 (L1) for finality and inclusion in the blockchain.
Comment thread
cpengilly marked this conversation as resolved.
Outdated

- **Safe Head and Unsafe Blocks**: The derivation pipeline maintains two types of heads: the Safe Head and the Unsafe Head. The Safe Head represents the most recent confirmed state on L1, while Unsafe Blocks are those that have been sequenced but not yet confirmed on L1.

- **Reorg and Recovery**: If the sequencing window (typically 12 hours) is exceeded without a valid batch being discovered on L1, the pipeline will revert all Unsafe Blocks from that period. The pipeline then progresses using a default block that is empty except for deposits, allowing the network to recover and continue processing new transactions.
Comment thread
cpengilly marked this conversation as resolved.
Outdated

## Sequencer Window

The sequencer window defines the maximum time allowed for batches to be submitted and confirmed on L1. If this window is exceeded, the derivation pipeline takes corrective actions to ensure the network's integrity and continued operation.

For example:

- In a 12-hour sequencing window, if no valid batch is discovered on L1, the pipeline reverts to Unsafe Blocks and uses a default block to move forward.
- Increasing the window to 24 hours allows nodes to wait longer before reorging out unsafe blocks, but it may introduce additional challenges such as increased resource constraints and difficulty in processing larger batches.
Comment thread
cpengilly marked this conversation as resolved.
Outdated

## Configuration and Adjustments

The `sequencerWindowSize` parameter is set during the deployment configurations and may be difficult to change once established. It is important for chain operators to carefully consider the appropriate window size to balance network performance and stability.

For more detailed information, refer to the [derivation pipeline specification](https://specs.optimism.io/protocol/derivation.html).