ZkEVM Nedir?
Temeller
Sıfır bilgi kanıtı (ZKP) teknolojisiyle uyumluluğu mümkün kılan sıfır-bilgi Ethereum Sanal Makinesi (zkEVM), Ethereum durum makinesi olarak işlev görür ve akıllı sözleşmelerin yürütülmesini kolaylaştırır. zkEVM'lerin entegrasyonu, Ethereum ağındaki sıfır-bilgi rollup'larının (zk-rollup) kapsamını merkeziyetsiz uygulamalara (DApp'ler) genişletir. Bu ilerleme, mevcut veya yeni Ethereum projelerinin dağıtımını ZKP'leri kullanarak kolaylaştırır ve Ethereum ekosisteminin yeteneklerini artırır.
Ethereum ağı ilk kez 2014'te önerildiğinde, sıfır-bilgi kanıtı teknolojisi orijinal geliştiriciler tarafından dikkate alınmamıştı. Bununla birlikte, son yıllarda ZKP önemli bir ilgi kazanmış olup, blokzinciri alanında daha büyük bir rol üstlenmesi beklenmektedir. Sonuç olarak, ZKP teknolojisini Ethereum'un sanal makinesiyle entegre etme çabaları artmıştır.
Bir zkEVM'in özünü kavramak için, onun iki temel ilkesine: zk-rollup'lara ve EVM'ye kısa bir genel bakış sunmak gerekir.
Zk-Rollup'lar Nedir?
Ana zincir dışında birden fazla işlem yürütmesini derleyip verileri ana ağa tek bir işlem olarak gönderen rollup'lar, işlem hacmini artıran ve işlem maliyetlerini azaltan bir ölçeklendirme çözümüdür.
Ethereum ekosisteminde rollup işlemleri sıkıştırılır ve doğrulama için tek bir işlem maliyeti karşılığında Ethereum ana ağına iletilir. Ethereum ana ağı mutabakat ve uzlaşma işlevini görür ve rollup içinde yer alan işlem verilerini doğrular.
Rollup'ların özel bir türü olan zk-rollup'lar, sıfır-bilgi kanıtı teknolojisinden faydalanır. ZKP, verinin kendisini ifşa etmeden doğruluğunu kanıtlamaya imkân tanır. zk-rollup'larda tüm işlem verilerinin Ethereum ana ağına yayınlanması gerekmez; bunun yerine kullanıcı hesap durumundaki değişiklikler gibi durum farkları ve geçerlilik kanıtları yeterlidir. Bu yaklaşım, gas ücretlerini önemli ölçüde düşürür.
zk-rollup'ların güvenliği, kanıtları doğrulamak ve güvenilmezliği sağlamak için kriptografik mekanizmalar kullanan ZKP kriptografisine dayanır. Bu, güvenlik için ekonomik oyun teorisine dayanan optimistic rollup'lar gibi diğer rollup uygulamalarından farklıdır. Optimistic rollup'larda kötü niyetli aktörler potansiyel kayıplar nedeniyle caydırılırken, itirazcılar teşviklerle motive edilir.
EVM Nedir?
Ethereum içinde, Ethereum Sanal Makinesi (EVM), Ethereum hesap sisteminin çalışmasını ve akıllı sözleşmelerin yürütülmesini kolaylaştıran bir durum makinesi olarak işlev görür. Bir akıllı sözleşmenin her yürütülmesi, EVM'nin eski bir durumdan yeni bir duruma geçiş yapmasına neden olur ve bloklar arasındaki geçerli durumları hesaplama için önceden tanımlanmış kuralları takip eder.
Durum kavramı, Ethereum ekosisteminde büyük önem taşır. Bu kavram, mevcut Ethereum durumunun anlık görüntüsü olarak hizmet eden bir Merkle Patricia Trie veri yapısıyla temsil edilir. Bu yapı, işlem detaylarının mevcut bloktan genesis bloğuna kadar izlenmesine imkân verir.
Tüm katılımcı düğümlerin Ethereum'u sürdürmek için yaptıkları kolektif çaba, süreklilik ve mutabakatı sağlar ve her düğüme kesin mevcut durumun görünürlüğünü verir. EVM, bu tutarlılığı sürdürmede merkezi bir rol üstlenir ve Ethereum ağının bütünlüğünü korur.
zkEVM Nasıl Çalışır?
Ethereum durum sürekliliğini sağlarken doğrulanabilir doğruluğu temin eden zkEVM, EVM'de varsayılan olarak sıfır-bilgi kanıtları desteğinin olmamasına bir çözüm olarak ortaya çıkar. Bu yaklaşım, tüm ilgili hesaplama faktörlerinin doğrulanmasını garanti ederek güvenliği ve gizliliği aynı anda korur.
zkEVM bağlamında Ethereum ortamı zk-rollup'lara benzer şekilde çoğaltılır. Başlangıç durumundan itibaren tüm işlemler işlenir ve ilişkilendirilmiş bir ZKP ile güncellenmiş bir durum elde edilir. Bu kanıt daha sonra başlangıç ve güncellenmiş durumların çıktılarının doğruluğunu onaylamakla sorumlu doğrulayıcı akıllı sözleşmeye sunulur; böylece bireysel işlem doğrulamasına gerek kalmaz.
EVM temelli zkEVM'ler, geliştiricilere mevcut EVM araçlarını ve Solidity programlama dilini kullanarak Ethereum DApp'lerini ve akıllı sözleşmeleri zkEVM'lere sorunsuzca taşıma kolaylığı sağlar; ZKP geliştirme görevleri üstlenmeyi gerektirmez. Özünde, zkEVM'ler zk-rollup'ların işlevselliğini, daha önce zkEVM entegrasyonu olmadan desteklenen token takasları ve ödemelere ek olarak akıllı sözleşme yürütmesini kapsayacak şekilde genişletir.
EVM'den miras kalan uyumluluk özelliği sayesinde geliştiriciler mevcut EVM araçlarını ve Solidity'i kullanarak yeni ürünler inşa edebilirken, zkEVM'in sağladığı artırılmış güvenlikten faydalanır. Kullanıcılar da aşina oldukları DApp'leri ve araçları kullanmaya devam ederken geliştirilmiş güvenlik ve gizlilik avantajlarını deneyimler.
EVM Uyumluluğu ile EVM Eşdeğerliğini Ayırt Etmek
Bir blokzinciri EVM-uyumlu olarak etiketlendiğinde, bu, Solidity programlama diliyle yazılmış DApp'leri barındırabilecek bir ortam sunduğu anlamına gelir; bu dil özellikle Ethereum akıllı sözleşme geliştirme için tasarlanmıştır.
Aslında Ethereum geliştiricileri, mevcut DApp kodunu minimal değişikliklerle Ethereum'dan diğer EVM-uyumlu zincirlere sorunsuzca taşıyabilir. Kullanıcılar için bir EVM-uyumlu zincirin adresi, Ethereum adreslerinden ayırt edilemez.
Sonuç olarak, bu adresler Metamask ve Trust Wallet gibi popüler cüzdanlarla uyumludur. Günümüzde dikkat çeken EVM-uyumlu zincirler arasında BNB Chain, Avalanche C-Chain ve Polygon bulunur.
EVM uyumluluğunu EVM eşdeğerliğiyle karıştırmamak önemlidir. EVM eşdeğerliği, bir DApp geliştiricisi perspektifinden Layer 2 rollup'ların Layer 1 Ethereum'a çok yakın olduğunu belirtir. İşletim sistemi benzetmesiyle açıklamak gerekirse, EVM eşdeğerliği, eski bir bilgisayardan Apple'ın sistemini kullanan yeni bir bilgisayara geçerken Apple Cloud aracılığıyla dosyaları ve ayarları geri yüklemeye benzer.
Buna karşılık, EVM uyumluluğu, yeni bir bilgisayarda Windows sistemine geçildiğinde, orijinal dosyaların bulut depolamadan alınması ve tercih edilen ayarlar ile eski dosyaları geri yüklemek için dönüştürülmesi gerektiği anlamına gelir.
zkEVM'leri Sınıflandırmak: Verimlilik ve Uyumluluk Dengesi
EVM'in sıfır-bilgi teknolojisi için yerel desteğinin olmaması nedeniyle EVM kullanarak ZKP'lerin etkin bir şekilde oluşturulması ve doğrulanması zordur. Süreç son derece yavaş olabilir ve saatler sürebilir. Yine de EVM uyumluluğu ile ZKP verimliliği arasında bir denge bulmak kritik önemdedir.
Ethereum'un kurucusu Vitalik Buterin, zkEVM'leri ZKP performans verimliliği ve EVM uyumluluğu açısından benzersiz ödünleşimler barındıran dört farklı türe ayırmıştır. Bu sınıflandırmalar, merkezileşme, güvenlik ve ölçeklenebilirlik arasında doğal ödünleşimleri vurgulayan blokzinciri üçlemesine paraleldir.
Tip 1: Mutabakat Düzeyinde Eşdeğerlik
Tip 1 zkEVM, diğer adıyla enshrined rollup, mutabakat düzeyinde Ethereum ile tam eşdeğerlik sağlar. zkEVM zinciri durumu ve işlemleri Ethereum'unkilerle aynıdır; bu, karşılıklı blok doğrulamasına ve Ethereum yürütme istemcileriyle doğrudan entegrasyona olanak tanır. Bu tür Ethereum'un ölçeklenebilirliğini artırsa da, ZKP verimliliği önemli bir dezavantajdır ve doğrulama için büyük hesaplama kaynakları gerektirir. Olası çözümler arasında geniş ölçekte paralel doğrulayıcılar kullanmak veya zk-SNARK'ler için özel entegre devreler kullanmak yer alır.
Tip 2: Bayt Kodu Düzeyinde Eşdeğerlik
Tip 2 zkEVM'ler EVM ile tam eşdeğerliğe sahiptir, ancak Ethereum ile tam eşdeğer değildir. Mevcut Ethereum DApp'leri, hata ayıklama araçları ve geliştirici altyapısıyla uyumluluğu korurken, Tip 2 zkEVM'ler doğrulayıcı sürelerini bir dereceye kadar optimize eder. Ancak verimlilikleri hâlâ sınırlı ve maliyetlidir; ZK metodolojileriyle tam bir sinerjiye sahip değillerdir.
Tip 2.5: Değiştirilmiş Gas Ücretleri
Tip 2.5 zkEVM'ler Tip 2'nin avantaj ve dezavantajlarını paylaşır, ancak biraz daha düşük gas ücretleri sunar.
Tip 3: Verimliliği İyileştirilmiş Bayt Kodu Eşdeğerliği
Tip 3 zkEVM'ler, Tip 2 üzerine inşa edilerek tam uyumluktan ziyade geliştirilmiş ZK verimliliğine öncelik verir. Bunu başarmak için precompile'lar gibi bazı işlevler çıkarılabilir ve bu işlevlere bağımlı DApp'lerin yeniden yazılmasını gerektirebilir.
Tip 4: Geliştirme Dili Düzeyinde Eşdeğerlik
Tip 4 zkEVM'ler en iyi ZK performansını sunar, ancak üst düzey programlama dili düzeyinde uyumluluktan feragat eder. Üstün verimlilik sağlarken mevcut sistemlerle uyumlulukları zayıf olabilir.
Sonuç
zkEVM uygulanmasının temel amacı, akıllı sözleşme yürütmesi için ZKP hesaplama desteği sağlamak ve böylece DApp'leri tüm EVM-uyumlu protokollere genişletmektir. Ancak ZKP teknolojisinin uygulama alanları bununla sınırlı değildir.
ZKP teknolojisi Web2 kullanım senaryolarıyla da uyumlu hale getirilebilir. ZKP'yi çeşitli Web2 uygulamalarıyla birleştirerek Web3 uygulamalarının entegrasyonu sorunsuzlaştırılabilir ve kullanıcılara daha akıcı, kullanıcı dostu deneyimler sunulabilir. Bu yaklaşım, geleneksel internet tarayıcılarına aşina olan kişilerin Web3'ün avantajlarına erişmesini kolaylaştırarak Web3 paradigmalarının yaygın benimsenmesini hızlandırabilir.