Skip to content

Commit eafc48e

Browse files
authored
Merge pull request #805 from richardgreg/derivative-pipeline
docs: add information about the derivation pipeline
2 parents c71bd37 + 0716011 commit eafc48e

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

pages/stack/protocol/_meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
"rollup": "Rollup",
33
"fault-proofs": "Fault Proofs",
44
"features": "Features",
5-
"outages": "Sequencer Outages"
5+
"outages": "Sequencer Outages",
6+
"derivation-pipeline":"Derivation Pipeline"
67
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Derivation Pipeline
3+
lang: en-US
4+
description: Overview of the derivation pipeline in the OP Stack protocol.
5+
---
6+
7+
# Derivation Pipeline
8+
9+
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.
10+
11+
## Key Functions of the Derivation Pipeline
12+
13+
The following are key functions of the derivation pipeline:
14+
15+
* **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.
16+
* **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.
17+
* **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.
18+
19+
## Sequencer Window
20+
21+
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.
22+
23+
For example:
24+
25+
* 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.
26+
* 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.
27+
28+
## Configuration and Adjustments
29+
30+
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.
31+
32+
## Next Steps
33+
34+
* For more detailed information, refer to the [derivation pipeline specification](https://specs.optimism.io/protocol/derivation.html).
35+
* Have questions? You can ask a question in the [developer support forum](https://github.com/ethereum-optimism/developers/discussions).

0 commit comments

Comments
 (0)