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
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)
13
-
</Aside>
14
-
15
9
### Overview
16
10
This upgrade contains five main changes:
17
11
- Migration to OpenVM Prover.
@@ -67,4 +61,45 @@ Enforced transaction inclusion is a censorship resistance mechanism. It allows u
67
61
Permissionless batch submission is a mechanism to prevent liveness failure. In the unlikely scenario that the Scroll sequencer stops posting or finalizing batches for an extended period of time, this mechanism allows anyone to step up and start posting and finalizing batches.
68
62
Both mechanisms force the Scroll sequencer to do its job. As such, they serve as deterrents, and they offer important safety guarantees to the users.
69
63
70
-
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.
64
+
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.
65
+
66
+
### Compatibility
67
+
68
+
#### Node Operators
69
+
70
+
##### Phase 1 Changes
71
+
* 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.
72
+
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.
73
+
* 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.
74
+
75
+
##### Phase 2 Changes
76
+
* 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.
77
+
78
+
#### Dapps and Indexers
79
+
80
+
##### Phase 1 Changes
81
+
* State commitment structure switches from zktrie to MPT
82
+
* Any dapp relying on zktrie proofs must migrate to MPT proofs
83
+
* Batch versions will use v5 and v6 (format identical to previous v4 batches)
84
+
85
+
##### Phase 2 Changes
86
+
* Batch headers and blob payload will use a new encoding. The batch versions used in phase-2 will be v7.
87
+
* Commit batch calldata will no longer contain block headers. Projects that need this information from L1 must fetch and decode the blob.
88
+
* 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.
89
+
* 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.
90
+
* 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.
97
+
* We will migrate to a new message queue contract (`L1MessageQueueV2`) that will store messages by a different (rolling) hash.
98
+
99
+
In addition, L2 unsafe blocks will no longer include a signature or vanity tag in the `ExtraData` field.
100
+
101
+
#### Resources
102
+
*[Contract changes on GitHub](https://github.com/scroll-tech/scroll-contracts/pull/79)
Los impactos detallados y las acciones para los socios se pueden encontrar en esta [Nota para Socios](https://scrollzkp.notion.site/Euclid-Upgrade-5-Note-for-Partners-1ad7792d22af808cad5ac643a5ecdaf0).
13
-
</Aside>
14
-
15
9
### Resumen
16
10
17
11
Esta actualización incluye cinco cambios principales:
@@ -76,4 +70,44 @@ La presentación de lotes sin permiso es un mecanismo para prevenir fallas de di
76
70
77
71
Ambos mecanismos obligan al secuenciador de Scroll a hacer su trabajo. Como tal, sirven como elementos disuasorios y ofrecen garantías de seguridad importantes a los usuarios.
78
72
79
-
También hemos transferido recientemente el control al [Consejo de Seguridad](https://scroll.io/blog/introducing-scroll-security-council), un organismo independiente de 12 miembros reputados, formando una multisig de 9/12. La actualización Euclid será la primera actualización ejecutada por el Consejo de Seguridad.
73
+
También hemos transferido recientemente el control al [Consejo de Seguridad](https://scroll.io/blog/introducing-scroll-security-council), un organismo independiente de 12 miembros reputados, formando una multisig de 9/12. La actualización Euclid será la primera actualización ejecutada por el Consejo de Seguridad.
74
+
75
+
### Compatibilidad
76
+
77
+
#### Operadores de Nodo
78
+
79
+
##### Cambios de la Fase 1
80
+
81
+
- Los operadores de nodo deben migrar a la nueva versión MPT de l2geth. Esto requiere una resincronización completa (desde la red o desde una instantánea). Proporcionaremos una versión del nodo y instantáneas más adelante. Consulte la [Guía de Migración del Estado del Nodo](https://www.notion.so/Node-Runner-State-Migration-Guideline-17b7792d22af80e4ab4bdc294f4f7541?pvs=21) para obtener instrucciones detalladas.
82
+
- Los nodos zktrie seguirán operando, pero dejarán de verificar las raíces de estado en los encabezados de bloque recibidos. Recomendamos a los operadores de nodo migrar a nodos MPT poco antes de Euclid.
83
+
84
+
##### Cambios de la Fase 2
85
+
86
+
- Los operadores de nodo deben estar al tanto de la etapa 1 (lotes sin permisos). Aunque es poco probable que este mecanismo se active en la práctica, si lo hace, requerirá pasos manuales para recuperar los nodos. Proporcionaremos documentación detallada sobre esto en nuestras próximas notas de lanzamiento del nodo.
87
+
88
+
#### Dapps e Indexadores
89
+
90
+
##### Cambios de la Fase 1
91
+
92
+
- La estructura de compromiso de estado cambia de zktrie a MPT.
93
+
- Cualquier dapp que dependa de pruebas zktrie debe migrar a pruebas MPT.
94
+
- Las versiones de lote utilizarán v5 y v6 (formato idéntico a los lotes v4 anteriores).
95
+
96
+
##### Cambios de la Fase 2
97
+
98
+
- Los encabezados de lote y la carga útil del blob utilizarán una nueva codificación. Las versiones de lote utilizadas en la fase 2 serán v7.
99
+
- El calldata de compromiso de lote ya no contendrá encabezados de bloque. Los proyectos que necesiten esta información desde L1 deben obtener y decodificar el blob.
100
+
- Una sola transacción de compromiso puede transportar múltiples lotes. Los indexadores deben poder procesar múltiples lotes desde una misma transacción L1.
101
+
- En el modo de lote sin permisos, el remitente compromete y finaliza un solo lote atómicamente con `commitAndFinalizeBatch`.
102
+
- Las firmas de funciones cambiarán. Los proyectos deben agregar soporte para las nuevas funciones:
103
+
- Antes de Euclid fase 2: `commitBatchWithBlobProof`, `finalizeBundleWithProof`, `revertBatch`
Euclid ile Scroll, [L2BEAT tarafından tanımlanan standarda](https://medium.com/l2beat/introducing-stages-a-framework-to-evaluate-rollups-maturity-d290bb22befe) göre Aşama-1'e ulaşmayı sağlayacak önemli güvenlik garantileri sunmaktadır.
72
66
73
-
Zorunlu işlem dahil etme, sansür direncine yönelik bir mekanizmadır. Kullanıcılar, Ethereum üzerinden doğrudan bir işlem gönderebilir ve sequencer’ı bunu dahil etmeye zorlayabilir.
67
+
Zorunlu işlem dahil etme, sansür direncine yönelik bir mekanizmadır. Kullanıcılar, Ethereum üzerinden doğrudan bir işlem gönderebilir ve sequencer’ı bunu dahil etmeye zorlayabilir.
68
+
69
+
#### Düğüm Operatörleri
70
+
71
+
##### 1. Aşama Değişiklikleri
72
+
73
+
- Düğüm operatörleri l2geth'in MPT sürümüne geçmelidir. Bu, tam yeniden senkronizasyon gerektirir. Yakında bir sürüm ve anlık görüntüler paylaşılacak. [Geçiş Rehberini](https://www.notion.so/Node-Runner-State-Migration-Guideline-17b7792d22af80e4ab4bdc294f4f7541?pvs=21) inceleyin.
74
+
- zktrie düğümleri çalışmaya devam edecek ancak blok başlıklarındaki state root’ları doğrulamayacaktır. Euclid'den önce MPT düğümlerine geçmeniz önerilir.
0 commit comments