Darwin Upgrade

Genel Bakış

Bu yükseltme, birden fazla batch için tek bir toplu zk-proof kullanarak gaz ücretlerini %34 oranında azaltacaktır; her batch’i ayrı ayrı finalize etmeye gerek kalmayacaktır.

  • Darwin, yeni bir Batch Codec V3 kullanır.

  • Daha önceki chunk ve batch kavramlarına ek olarak, yeni bir bundle kavramı tanıtıldı:

    • Chunk: L2 blokları listesi içeren zkEVM kanıt birimi.
    • Batch: Chunk’ların EIP-4844 blob’larında kodlandığı veri kullanılabilirliği birimi.
    • Bundle: Birden fazla batch içeren ve finalize edilen birim.

    Curie ile fark: Scroll artık tek bir toplu zk-proof ile birden fazla batch’i finalize ediyor.

  • Zincirdeki yeni bundle verifier, yeni bir public input formatı kullanıyor.

Zaman Çizelgesi

  • Scroll Sepolia
    • Ağ yükseltmesi: 14 Ağustos 2024
  • Scroll Ana Ağı
    • Yükseltme başlangıcı: 5 Ağustos 2024
    • Timelock süresi bitişi ve yükseltme: 21 Ağustos 2024

Teknik Ayrıntılar

Akıllı Sözleşme Değişiklikleri

Not: Curie sonrası, Scroll akıllı sözleşmeleri scroll-contracts deposuna taşındı.

Bu yükseltmeye ait kod değişiklikleri bu PR’de bulunabilir. Ana değişiklikler:

  • BatchHeaderV3Codec tanıtıldı.
  • L1MessageQueue içinde mesaj işleme finalize adımından commit adımına taşındı.
  • Yeni bundle public input formatı için IZkEvmVerifierV2 ve MultipleVersionRollupVerifier eklendi.
  • ScrollChain içinde commitBatchWithBlobProof ve finalizeBundleWithProof adlı yeni fonksiyonlar tanıtıldı.

Tüm detaylar için sürüm notları’na göz atabilirsiniz.

Node Değişiklikleri

Yeni node sürümü: v5.6.0. Ayrıntılar için sürüm notlarına bakınız.

  • Timestamp tabanlı hard fork desteği eklendi.
  • V3 batch codec işleme desteği getirildi.

zkEVM Devre Değişiklikleri

Yeni devre sürümü: v0.12.0 (link).

  • RecursionCircuit tanıtıldı; birden fazla ardışık batch’in SNARK’larını recursive olarak toplar.
  • Yeni katmanlar eklendi: 6. katman (RecursionCircuit), 7. katman (CompressionCircuit).

Public input’lar artık bir önceki batch bilgisiyle bağlamsal, bu da recursive kanıt sistemine olanak sağlar (daha fazla bilgi için Notion dokümantasyonu).

Denetimler

  • TrailofBits: yakında açıklanacak!

Uyumluluk

Sequencer ve Follower Nodelar

Geçiş durumu değişmediği için geriye dönük uyumludur. Ancak v5.6.0 sürümüne yükseltme önerilir.

Dapp ve İndeksleyiciler

Batch işlemede önemli değişiklikler var:

  • Yeni V3 codec kullanılıyor. Yeni alanlar:
    • lastBlockTimestamp
    • blobDataProof
  • commitBatchWithBlobProof fonksiyonu ile batch’ler gönderilecek.
  • finalizeBundleWithProof ile birden fazla batch finalize edilecek.
  • FinalizeBatch eventi artık çoklu batch finalize anlamına gelecek.

İndeksleyiciler için öneriler:

  • V3 codec’e geçiş.
  • Yeni commit/finalize fonksiyonlarını destekleme.
  • Yeni FinalizeBatch semantiğine göre stateRoot takip etme.

Detaylı teknik bilgi için Darwin dokümantasyonu.

Kaynaklar

Bizi Takip Edin