Skip to content

Commit 10a7e11

Browse files
authored
Darwinv2 changes (#332)
* darwinv2 changes * oops * note on reorgs and finality * formatting
1 parent 9243fe6 commit 10a7e11

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

src/content/docs/en/developers/ethereum-and-scroll-differences.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ Similarly to Ethereum, the Scroll sequencer aims to prioritize executable transa
9999

100100
However, just like in Ethereum, this ordering is not guaranteed by the protocol, and some blocks might diverge from it. In particular, during periods of low mempool congestion, the sequencer will process transactions on a first-come-first-served basis, so some transactions might precede others with higher tip in the same block.
101101

102+
## Reorgs and Finality
103+
104+
Starting from our [DarwinV2 upgrade](/technology/overview/scroll-upgrades#darwinv2-upgrade), the maximum reorg depth has been set to 17 blocks. Transaction ordering should be unchanged after this threshold, however the only absolute guarantee is for transactions to be finalized (proof submitted to L1).
105+
102106
## Future EIPs
103107

104108
We keep a close eye on all emerging EIPs adopted by Ethereum and adopt them when suitable. If you’re interested in more specifics, reach out in [our community forum](https://community.scroll.io) or on the [Scroll Discord](https://discord.gg/scroll).

src/content/docs/en/developers/guides/running-a-scroll-node.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ For most developers, using [our official RPC endpoint](/en/developers/developer-
1818

1919
We recommend using the latest release at https://github.com/scroll-tech/go-ethereum/releases. The required version for Scroll Mainnet is `scroll-v5.5.0` or higher, and for Scroll Sepolia it is `scroll-v5.4.2` or higher. If you'd like to keep up with new node releases, go to https://github.com/scroll-tech/go-ethereum, click on **Watch**, **Custom**, and make sure that **Releases** is selected.
2020

21-
For the remainder of this guide, `VERSION` will denote the version tag. For example, `scroll-v5.6.0`.
21+
For the remainder of this guide, `VERSION` will denote the version tag. For example, `scroll-v5.7.0`.
2222

2323
### Hardware Requirements
2424

src/content/docs/en/technology/overview/scroll-upgrades.mdx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,35 @@ The following contracts are used to initiate upgrades and execute upgrades after
1919

2020
You can join our [Telegram channel for technical updates](https://t.me/scroll_tech_updates), which includes future upgrade announcements and on-chain operation events.
2121

22+
## DarwinV2 Upgrade
23+
24+
### Overview
25+
26+
During internal testing, we identified that blocks may not always be compressible under certain conditions, which leads to unprovable chunks and batches.
27+
To fix this issue, a minor upgrade has been conducted so that uncompressed blobs will be enabled when this special case is detected.
28+
29+
### Timeline
30+
31+
As this is a security related patch, we bypassed the 7-day timelock mechanism.
32+
33+
- **Scroll Sepolia**: August 28th, 2024
34+
- **Scroll Mainnet**: September 2nd, 2024
35+
36+
### Compatibility
37+
38+
#### Sequencer and Follower Nodes (l2geth)
39+
40+
The new node version is `v5.7.0`. See the [release notes](https://github.com/scroll-tech/go-ethereum/releases/tag/scroll-v5.7.0) for more information.
41+
42+
This upgrade does not change Scroll's state transition function, so it is backward compatible. However, the format of the batch data committed to Ethereum changes. As a result, nodes that enabled rollup verification (`--rollup.verify`) must upgrade to be able to follow the chain.
43+
44+
#### Dapps and Indexers
45+
46+
A change has been implemented to Scroll Mainnet to enhance sequencer throughput, which adjusted the maximum reorg depth to 17 blocks. Previously, the system performed thorough capacity checks within the signer thread to determine whether transactions exceed the circuit limit. While this ensures that all transactions within a block are compliant, it also requires additional CPU resources.
47+
We introduced a new circuit capacity checking scheme on Mainnet. The sequencer thread now will continue to perform capacity checks, but in a more approximate manner. In parallel, 16 worker threads will accurately verify the capacity of previous blocks. As a result, a reorg could occur with a maximum depth of 17 blocks, although the likelihood of this is low.
48+
49+
For indexers, the `BatchHeader` version has been upgraded to 4. This is backward compatible (the only exception is for developers decoding the blob payload, which has changed slightly).
50+
2251
## Darwin Upgrade
2352

2453
### Overview

0 commit comments

Comments
 (0)