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.

Scroll Geliştirici haberlerini yakından takip edin
Güncellemeler, online ve yüz yüze etkinlikler, ekosistemdeki fırsatlar ve daha fazlası
Takip ettiğiniz için teşekkür ederiz!

Kaynaklar

Bizi Takip Edin