ZkEVM Nedir ve Ethereum Ekosistemini Nasıl Geliştirebilir?

6a4C...naKd
6 Feb 2024
23

Kısa Özet

  • Sıfır bilgi Ethereum Sanal Makinesi (zkEVM), akıllı sözleşmeleri sıfır bilgi ispatı (ZKP) teknolojisi ile uyumlu bir şekilde yürütebilen bir Ethereum durum makinesidir. 
  • zkEVM'ler, Ethereum üzerindeki sıfır bilgi rollup'larının (zk-rollup) sunduğu imkanları artırarak merkeziyetsiz uygulamaları (DApp) destekleyebilecek bir hale getirir. 
  • zkEVM'ler, Ethereum ekosistemini geliştirmek amacıyla ZKP'leri kullanan hem mevcut hem de yeni Ethereum projelerini konuşlandırmayı kolaylaştırır.

Giriş 

Ethereum'un geliştiricileri, 2014 yılında ağı geliştirmeye başladıklarında ZKP teknolojisini kullanmayı düşünmemiştir. Fakat son yıllarda daha fazla ilgi çekmeye başlayan ZKP'nin blockchain dünyasında çok daha önemli bir rol oynaması beklenmektedir. Bu nedenle, ZKP teknolojisi ile Ethereum'un sanal makinesini birleştirmeye yönelik çalışmalar artmıştır. 
zkEVM'nin ne olduğunu anlamak için önce dayandığı iki temel kavrama kısaca değinelim: zk-rollup ve EVM. 

Zk-Rollup Nedir? 

Rollup, yürütülen çok sayıda işlemi ana zincirin dışında derleyen ve verileri tek bir işlem olarak ana ağa geri gönderen bir ölçeklendirme çözümüdür. Bu süreç, işlem oranını artırırken bir yandan da bu işlemleri yürütmenin maliyetini azaltır.
Ethereum'da bir rollup'ın içindeki işlemler sıkıştırılır ve tek bir işlemi doğrulama maliyeti karşılığında Ethereum ana ağına gönderilir. Ethereum ana ağı uzlaşmayı sağlar ve rollup'ta yer alan işlem verilerini doğrular.
Zk-rollup, bir bilgi parçasının geçerliliğinin, bilginin kendisi paylaşılmaksızın teyit edilmesine imkan tanıyan bir kriptografik teknoloji olan ZKP teknolojisini kullanan bir rollup türüdür. Zk-rollup'ların tüm işlem verilerini Ethereum ana ağına yayınlaması gerekmez. Yalnızca kullanıcı hesabı durumundaki değişiklikler gibi durum farklılıklarına ve geçerlilik ispatına ihtiyaçları vardır. Bu sayede de gas ücretleri düşer.
Zk-rollup'ların güvenliği, ispatı doğrulamak ve güvene dayalı olmama durumunu sağlamak için kriptografik araçların kullanıldığı ZKP kriptografisinden gelir. Bu da güvenliğini, kötü niyetli kişilerin potansiyel kayıplarla caydırıldığı ve meydan okuyanların teşviklerle motive edildiği ekonomik oyun teorisinden alan optimistik rollup'lar gibi diğer rollup'lardan farklıdır.

EVM Nedir?

EVM, Ethereum hesap sisteminin ve akıllı sözleşmelerin üzerinde çalıştığı bir durum makinesidir. Bir akıllı sözleşmenin yürütüldüğü her sefer EVM eski durumdan yeni duruma geçmesi için tetiklenir. Bir bloktan diğerine geçerken yeni ve geçerli durumları hesaplama kuralı EVM tarafından belirlenir.
Durum, Ethereum için önemli bir kavramdır. Ethereum'un güncel durumunu temsil eden ve herkesin güncel bloktan genesis blokuna kadar işlem bilgilerini izlemesine imkan tanıyan bir Merkle Patricia Trie veri yapısıdır.
Ethereum'un çalışmasında katılımcı olan tüm düğümlerin amacı sürekliliği ve mutabakatı sağlamaktır. Bu da tüm düğümlerin, güncel durumun tam olarak ne olduğunu görmelerini sağlar. EVM, bu tutarlılığın korunmasında çok önemli bir rol oynar.

ZkEVM Nasıl Çalışır? 

EVM, varsayılan olarak ZKP'leri desteklemez. zkEVM, Ethereum durumunun sürekliliğini sağlamanın yanında tüm bilgilerin doğru olduğuna dair bir ispat sunmayı da amaçlar. Bu sayede hem bu süreçlerin hesaplanmasında yer alan çeşitli etmenler doğrulanır hem de güvenlik ve gizlilik korunur. 
zkEVM bunu Ethereum ortamını zk-rollup'lar şeklinde çoğaltarak yapar. İlk durumu alır, tüm işlemleri hesaplar ve ardından yeni, güncellenmiş bir durumu ZKP ile birlikte çıktı olarak verir. Bu ispat, tüm işlemleri ayrı ayrı doğrulamak zorunda kalmadan hem ilk hem de yeni durumun çıktısının doğruluğunu kontrol eden bir doğrulayıcı akıllı sözleşmeye gönderilir. 
Geliştiriciler, zkEVM'lerin EVM'ye dayalı olması sayesinde Ethereum DApp'lerini ve akıllı sözleşmelerini ZKP geliştirme çalışması yapmak zorunda kalmadan zkEVM'lere kolayca bağlayabilir. Diğer bir deyişle zkEVM'ler, eskiden zkEVM'ler olmadan desteklenen token takasları ve ödemelerin yanı sıra akıllı sözleşmeleri de zk-rollup'ların yürütmesine imkan tanır.   
Geliştiriciler, EVM'nin uyumluluk özelliği sayesinde mevcut EVM araçlarını ve programlama dili Solidity'yi kullanarak yeni ürünler oluşturabilmenin yanında zkEVM'lerin sunduğu yüksek güvenlikten de faydalanabilir. Aynı avantajlar kullanıcılar için de geçerlidir. Aynı dApp'leri ve aşina oldukları araçları daha yüksek bir güvenlik ve gizlilikle kullanmaya devam edebilirler.

EVM Uyumluluğu ve EVM Denkliğinin Farkı 

Bir blockchain'den EVM uyumlu olarak bahsedilmesi, bu zincirin Solidity programlama dilinde yazılmış DApp'leri konuşlandırabilen bir ortam sunduğu anlamına gelir. Solidity, Ethereum ağında çalışan akıllı sözleşmeler geliştirmek için tasarlanmıştır. 
Aslına bakarsanız, Ethereum geliştiricileri mevcut DApp'lerin kodunu Ethereum'dan kopyalayıp yapıştırabilir ve minimum değişiklikle diğer EVM uyumlu zincirlerde konuşlandırabilir. Kullanıcılar için, EVM uyumlu herhangi bir zincir adresi kendi Ethereum adresleri ile aynıdır. 
Bu da adreslerin Metamask ve Trust Wallet gibi kullanımı yaygın cüzdanlarla uyumlu olduğu anlamına gelir. Günümüzde başlıca EVM uyumlu zincirler arasında BNB Chain, Avalanche C-Chain ve Polygon yer almaktadır. 
EVM uyumluluğu, EVM denkliği ile karıştırılmamalıdır. Denklik, DApp geliştiricilerin bakış açısına göre Katman 2 rollup'ların, Katman 1 Ethereum ile neredeyse bire bir aynı olduğu anlamına gelir. 
Bir işletim sistemi benzetmesi yapacak olursak, EVM denkliği bir kullanıcının hem eski bilgisayarının hem de yeni bilgisayarının Apple'ın işletim sisteminde çalışması durumunda dosya ve ayarlarını Apple Cloud aracılığıyla geri yüklemesine benzer.
Buna karşılık, EVM uyumluluğu ise yeni bilgisayarda Windows sistemine geçilmesi durumunda, tercih edilen ayarları ve eski dosyaları kurtarmak için orijinal dosyaların bulut depolamadan indirilmesi ve dönüştürülmesi gerektiği anlamına gelir. 

Farklı ZkEVM Tipleri 

ZKP'leri doğrudan EVM kullanarak oluşturmak ve doğrulamak son derece yavaştır, çünkü Ethereum en başta ZKP teknolojisini destekleyecek şekilde tasarlanmamıştır. Bazı durumlarda, bu süreç birkaç saat bile alabilir. Fakat EVM uyumluluğu ile ZKP verimliliği arasında bir denge kurmak şarttır.
Ethereum kurucusu Vitalik Buterin, zkEVM'leri aşağıdaki dört tip altında gruplandırmıştır. Blockchain çıkmazına benzer şekilde tiplerden her birinin ZKP performans verimliliği ve EVM uyumluluğu arasında farklı bir denge kurması gerekir.    

Tip 1: Mutabakat seviyesinde denklik: Ethereum'a tamamen denk bir zkEVM

Enshrined rollup olarak da adlandırılan bir Tip 1 zkEVM, mutabakat seviyesinde Ethereum'a denktir ve zkEVM zincir durumu ve işlemleri Ethereum'dakilerle aynıdır. Blokları ortaklaşa doğrulayabilir ve Ethereum yürütme istemcileriyle doğrudan kullanılabilirler.
Tip 1 zkEVM'ler, Ethereum'u daha ölçeklenebilir hale getirir ve doğrudan Ethereum ana ağına eklenebilir. Dezavantajı ise ZKP verimliliğinin son derece zayıf olması ve doğrulama için çok miktarda hesaplama gerektirmesidir. Çözüm, gelecekte zk-SNARK'lar için özel entegre devreler veya büyük ölçekli paralel doğrulayıcılar kullanmaktır.
Yüksek ZK verimliliğine sahip Tip 1 zkEVM'ler, zkEVM'nin en ideal şekli olacaktır. Günümüzde birçok proje, bu zkEVM tipini geliştirmekte veya araştırmaktadır.

Tip 2: Bayt kodu seviyesinde denklik: EVM'ye tamamen denk

Tip 2, EVM'ye tamamen denktir, fakat Ethereum'a denk değildir. Ethereum'dan veri yapıları (blok yapısı ve durum ağacı gibi) açısından farklıdır ve ZK dostu olmayan bazı yığın işlemlerini siler. 
Ethereum'un mevcut DApp'leri, hata ayıklama araçları ve geliştirici altyapısı ile tamamen uyumludur. Bayt kodu seviyesinde denklik, kanıtlayıcı sürelerini çok az da olsa kısaltabilir. Tip 2'nin en belirgin dezavantajları pahalı olması, ZK ile sinerjik olmaması ve verimliliğin düşük olmasıdır. 

Type 2,5: Tip 2'ye benzer, fakat gas ücretlerinde değişiklik yapılmıştır

Tip 2,5, Tip 2 ile aynı avantaj ve dezavantajlara sahiptir, fakat gas ücretleri biraz daha düşüktür.

Tip 3: Bayt kodu seviyesinde denklik: EVM ile neredeyse denk

Tip 2'ye dayalı olan Tip 3, ZK verimliliğini artırmak için uyumluluktan daha fazla ödün verir. Ön derlemeler gibi zkEVM'de uygulanması zor işlevleri siler. Bu nedenle, bu işlevi gerektiren DApp'lerde kullanılan bazı kodların yeniden yazılması gerekir.

Tip 4: Geliştirme dili seviyesinde denklik: EVM ile denk yüksek seviye dil

Tip 4 EVM'ler en yüksek ZK performansına sahiptir, fakat uyumluluğu nispeten ortalamanın altındadır.

Son Söz 

zkEVM uygulamasının başlıca amacı, ZKP hesaplama desteğini akıllı sözleşme yürütmelerini de kapsayacak şekilde genişletmek ve bu sayede DApp'leri EVM uyumlu tüm protokollere yaymaktır. Fakat ZKP'lerin uygulamaları bunlarla sınırlı değildir. 
ZKP teknolojisi, potansiyel olarak Web2 kullanım alanları ile uyumlu olabilir. Çeşitli Web2 kullanım alanlarını ZKP ile birleştirmek, Web3 uygulamalarını daha sorunsuz ve daha kullanıcı dostu bir hale getirebilir. Geleneksel internet tarayıcılarına halihazırda alışkın olan kullanıcıların Web3'e erişmesine imkan tanıyarak Web3'ün benimsenmesini de destekleyebilir.

Buraya kadar okuduysanız lütfen tepki vererek ve yorum yaparak destek olun. Teşekkür ederim.

Get fast shipping, movies & more with Amazon Prime

Start free trial

Enjoy this blog? Subscribe to mehmedbesir

9 Comments