ZK-EVM: ZK-Rollup'un Kutsal Kâsesi
- ZEC0%
- ETH0%
- ZK0%
- DYDX0%
- GTC0%
Ethereum ölçeklendirmesi, birçok kullanıcı tarafından heyecanla beklenen sıcak bir konu olmuştur. Yaygın bir yanılgı, Ethereum'un konsensüs mekanizmasını PoW'dan PoS'a geçiren Eylül 2022 Ethereum Birleşmesi'nin, Ethereum'un performansını iyileştireceğiydi. Gerçekte, Birleşme blok boyutunu değiştirmedi ve blok süresi ortalama 13 saniyeden sadece 12 saniyeye düştü, bu da performans kazanımlarının sınırlı olacağı anlamına geliyordu. Ethereum'un kısa vadeli ölçeklendirme umudu hala katman-2 ağlarına (Rollups) dayanmaktadır. İki ana Rollup yaklaşımı—Optimistic Rollup ve ZK-Rollup—arasında, birçok kişi ikincisini tercih etmektedir. ZK-Rollup, sadece birden fazla zincir dışı işlemi gruplandırarak ağ ücretlerini düşürmekle kalmaz, aynı zamanda sıfır bilgi ispatı yoluyla Ethereum'un güvenliğini devralır ve Optimistic Rollup'taki gibi bir itiraz süresine ihtiyaç duymaz.
Sadece Ödeme Yapabilen ZK-Rolluplar
İlk ZK-Rolluplar, EVM uyumluluğunun olmaması ve dolayısıyla akıllı sözleşme işlevselliğini desteklememesi nedeniyle eleştirildi. Örneğin, Gitcoin'in birincil bağış ödeme yöntemi olan zkSync 1.0, yalnızca temel transferleri destekleyebiliyordu. dYdX gibi mevcut ZK uygulamaları özel olarak oluşturulmuş ve birlikte çalışabilir değildir, bu da geliştirmeyi zorlaştırmaktadır. Ayrıca, farklı ZK uygulamaları farklı özel devreler kullanır, bu da birleştirilebilirliği sınırlar. Bu nedenle, piyasa acilen Ethereum akıllı sözleşmeleriyle uyumlu bir ZK-Rollup'a ihtiyaç duymaktadır; bunun için temel engel, sıfır bilgi ispatı uyumlu bir sanal makine elde etmektir. Bu makale, EVM, ZK-EVM ve ana ZK-EVM projelerini ve aralarındaki farkları tanıtacaktır.
EVM Nedir?
Ethereum Sanal Makinesi (EVM), Ethereum'un yürütme motoru olarak hizmet eder ve akıllı sözleşmeler için çalışma zamanı ortamı olarak işlev görür. Geliştiriciler, iş mantığını Solidity gibi üst düzey dillerde yazarlar ve bu daha sonra bayt koduna derlenir. EVM, bu bayt kodunu makine tarafından okunabilir opkodlara yorumlar ve sistem durumunu güncellemek için ilgili talimatları yürütür. EVM, yığın, bellek ve depolama ile etkileşime giren yığın tabanlı bir sanal makinedir. Ethereum ve çeşitli ölçeklendirme çözümleri veya rakip zincirler için EVM, geliştiricilerini, uygulamalarını ve araçlarını temsil eden Ethereum ekosistemiyle eş anlamlı hale gelmiştir. EVM uyumlu olmayan blok zincirleri kendi ekosistemlerini oluşturmalı, geliştiricilerin uygulamaları ve araçları yeniden oluşturmasını gerektirmektedir. EVM ile uyumluluk, geliştiricilerin mevcut Ethereum sözleşmelerini sorunsuz bir şekilde taşımalarına ve Ethereum'un araçlarına erişmelerine olanak tanır.
Yükselen ZK-EVM
EVM, Ethereum'un ekosisteminde çok önemli bir rol oynamasına rağmen, bir ZK-EVM geliştirmek zorludur. ZK-EVM, EVM uyumlu olurken sıfır bilgi ispatları üretir, böylece Ethereum akıllı sözleşmelerinin değişiklik yapılmadan dağıtılmasına ve hesaplamaların sıfır bilgi ispatı yoluyla doğrulanmasına olanak tanır. EVM, zk-SNARKs gibi sıfır bilgi ispatı algoritmaları 2016'da Zcash tarafından yaygın olarak benimsenmeden önce ZK uyumluluğu düşünülerek tasarlanmamıştı. Bazı EVM işlemleri ZK dostu değildir, bu da ispat üretimini zor, yavaş veya büyük hale getirir.
ZK geliştirmek, kriptografi, matematik ve donanım uzmanlığı gerektirdiği için oldukça karmaşıktır. Bir ZK-EVM oluşturmak, hem EVM uyumluluğu hem de ZK dostluğu gerektirdiği için bu zorluğa katkıda bulunur. Neyse ki, son yıllarda ZK teknolojisinde önemli atılımlar yapıldı. Starkware, zkSync 2.0, Polygon ve Scroll dahil olmak üzere ZK-EVM alanındaki oyuncular, ZK-EVM geliştirmesini hızlandırıyor ve çoğu 2023'ten itibaren ana ağ lansmanlarını duyuruyor.
ZK-EVM Proje Karşılaştırması
ZK-EVM'ler birleşik bir tasarım veya standart izlemez ve her proje EVM uyumluluğu ile ZK desteği arasında kendi dengesini kurar. İki ana yaklaşım vardır:
1. Programlama Dili Düzeyinde Destek: ZK için optimize etmek üzere EVM opkodlarını özelleştirmek, ZK dostu işlemleri desteklemek için sanal makineyi yeniden yapılandırmak ve Solidity'yi yeni bir VM opkoduna derlemek.
2. Bayt Kodu Düzeyinde Destek: Yerel EVM opkodları uyumluluğunu korumak.
Birinci kategorideki projeler arasında Starkware'in StarkNet'i ve zkSync 2.0 bulunmaktadır. StarkNet, Solidity'yi StarkNet'in dili olan Cairo'ya derleyerek ve ZK dostu VM'sinde çalıştırarak herhangi bir Ethereum dApp'ini çalıştırabilir. Benzer şekilde, zkSync 2.0, Yul ve Zinc derleyicileri aracılığıyla ZK-EVM işlevselliğine ulaşır; burada Yul bir ara Solidity temsili, Zinc ise Rust tabanlı bir dil olarak akıllı sözleşmeler ve genel ZK devreleri için kullanılır. Her ikisi de yüksek verimli ZK-EVM bayt kodu sağlamak için LLVM çerçevesi üzerine inşa edilmiştir.
Bu projeler, dil seviyesinde Solidity uyumluluğu sunar ve geliştiricilerin Solidity sözleşmelerini taşımalarına olanak tanır, ancak alttaki VM mimarisi EVM'den farklıdır ve teknik olarak bir zkVM'dir. Farklı VM komut setleri nedeniyle bazı mevcut geliştirici araçları doğrudan çalışmayabilir, ancak bu yaklaşım daha ZK dostudur ve kanıtları daha verimli üretebilir.
İkinci yaklaşımda, Polygon ZK-EVM ve Scroll gibi projeler yerel EVM opcode uyumluluğunu korur. Polygon'un ZK optimize edilmiş VM'si olan uVM, EVM bayt kodunu mikro-opcode'lara derleyerek yürütmek için özel opcode'lar kullanarak EVM işlemlerini geliştirir. Polygon ZK-EVM tam EVM uyumludur ve mevcut akıllı sözleşmelerin, geliştirici araçlarının ve cüzdanların sorunsuz çalışmasını sağlar. Scroll da benzer şekilde her bayt kodu için devreler tasarlar ve bayt kodunun yüklenmesi, opcode'ların yürütülmesi ve depolamanın güncellenmesi dahil olmak üzere her EVM yürütme adımını doğrular.
Vitalik'in blogunda, ZK-EVM'leri türlere göre sınıflandırır. Tip 1, doğrudan Ethereum üzerinde geliştirilen ZK-EVM'leri ifade eder ki bu karmaşık ve verimsizdir ve Ethereum Vakfı tarafından araştırılmaya devam edilmektedir. Tip 2, 2.5 ve 3, EVM-eşdeğeri ZK-EVM'lerdir; Scroll ve Polygon Hermez şu anda Tip 3'te olup Tip 2.5 veya hatta Tip 2'ye doğru ilerlemektedir. Tip 4, Starkware ve zkSync gibi üst düzey dillerle uyumlu ZK-EVM'leri içerir. Standartlaştırılmış bir ZK-EVM modeli olmadığından, bu türlerin doğal bir avantajı veya dezavantajı yoktur. Vitalik'in belirttiği gibi, "Teorik olarak, Ethereum'un L1 kullanımı için tek bir ZK-EVM uygulamasında standartlaşmasına gerek yoktur; farklı istemciler farklı kanıtlar kullanabilir, böylece kod yedekliliğinden faydalanmaya devam ederiz."
Sonuç
Her ZK-EVM çözümünün kendine özgü güçlü yanları vardır ve çoğu proje henüz kodlarını açık kaynak haline getirmediğinden, verimlilik karşılaştırmaları mevcut değildir. En büyük akıllı sözleşme platformu olarak Ethereum'un ekosistemi ve ağ etkileri güçlüdür. ZK-Rollup'ların kutsal kâsesi olan ZK-EVM, Ethereum'un ekosistemini ve ağ etkilerini kullanarak güvenliğini miras alır, ücretleri düşürür ve canlı bir geliştirici ekosistemi oluşturur. Vitalik, 2021'in başlarında blogunda, Optimistic Rollup'ın kısa vadede genel EVM hesaplamasında daha iyi performans gösterebileceğini, ZK-Rollup'ın ise daha basit ödemeler, işlemler ve uygulamaya özel kullanım durumlarında öne çıkabileceğini öne sürdü. Ancak, zk-SNARK teknolojisindeki ilerlemelerle, ZK-Rollup orta ve uzun vadede tüm kullanım durumlarında üstün gelebilir. Birden fazla ZK-EVM projesinin ana ağlarını başlatmasıyla, Ethereum'un katman-2 ölçeklendirme ortamının yakın gelecekte heyecan verici olacağı vaat ediliyor.