You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As the team continues to progress on Scroll's roadmap, we will be upgrading the Scroll network to include new features and improvements.
12
10
13
11
The following contracts are used to initiate upgrades and execute upgrades after the two-week timelock period:
@@ -23,10 +21,6 @@ You can join our [Telegram channel for technical updates](https://t.me/scroll_te
23
21
24
22
## Euclid Upgrade
25
23
26
-
<Asidetype="note"title="Note">
27
-
Detailed impacts and action items for partner can be found in this [Note for Partners](https://scrollzkp.notion.site/Euclid-Upgrade-5-Note-for-Partners-1ad7792d22af808cad5ac643a5ecdaf0)
28
-
</Aside>
29
-
30
24
### Overview
31
25
This upgrade contains five main changes:
32
26
- Migration to OpenVM Prover.
@@ -84,6 +78,47 @@ Both mechanisms force the Scroll sequencer to do its job. As such, they serve as
84
78
85
79
We have also recently transferred control to the [Security Council](https://scroll.io/blog/introducing-scroll-security-council), an independent body of 12 reputable members, forming a 9/12 multisig. The Euclid upgrade will be the first upgrade to be executed by the Security Council.
86
80
81
+
### Compatibility
82
+
83
+
#### Node Operators
84
+
85
+
##### Phase 1 Changes
86
+
* Node operators should migrate to the new MPT version of l2geth. This requires a full resync (from network or from snapshot). We will provide a node release and snapshots later.
87
+
Please refer to [Node Runner State Migration Guideline](https://www.notion.so/Node-Runner-State-Migration-Guideline-17b7792d22af80e4ab4bdc294f4f7541?pvs=21) for node runner state migration guide.
88
+
* Zktrie nodes will continue to operate, but they will stop verifying state roots on the received block headers. We encourage node operators to migrate to mpt nodes shortly before Euclid.
89
+
90
+
##### Phase 2 Changes
91
+
* Node operators need to be aware of stage-1 (permissionless batches). While this mechanism will most likely not be triggered in practice, if it is, it will require manual steps to recover the nodes. We will provide detailed documentation about this in our next node release notes.
92
+
93
+
#### Dapps and Indexers
94
+
95
+
##### Phase 1 Changes
96
+
* State commitment structure switches from zktrie to MPT
97
+
* Any dapp relying on zktrie proofs must migrate to MPT proofs
98
+
* Batch versions will use v5 and v6 (format identical to previous v4 batches)
99
+
100
+
##### Phase 2 Changes
101
+
* Batch headers and blob payload will use a new encoding. The batch versions used in phase-2 will be v7.
102
+
* Commit batch calldata will no longer contain block headers. Projects that need this information from L1 must fetch and decode the blob.
103
+
* Previously, one `CommitBatch` event would correspond to one commit transaction that carried a single blob. After Euclid phase-2, a single commit transaction can carry multiple batches. This means that indexers should be able to process multiple batches from the same L1 transaction. We maintain the 1 batch = 1 blob semantics and emit a `CommitBatch` event for each batch.
104
+
* In permissionless batch mode, the batch submitter commits and finalizes a single batch in a single atomic step through the newly added `commitAndFinalizeBatch` function. While this will be rare in practice, indexers should prepare to handle this case.
105
+
* Function signatures will change for commit, finalize, and revert batch. Projects that decode transaction calldata should add support for the new signatures. See the contract changes for the detailed function signatures.
* The `committedBatches` array in the `ScrollChain` will become sparse: Only the last batch hash from each commit batch transaction will be stored in the contract state.
112
+
* We will migrate to a new message queue contract (`L1MessageQueueV2`) that will store messages by a different (rolling) hash.
113
+
114
+
In addition, L2 unsafe blocks will no longer include a signature or vanity tag in the `ExtraData` field.
115
+
116
+
#### Resources
117
+
*[Contract changes on GitHub](https://github.com/scroll-tech/scroll-contracts/pull/79)
0 commit comments