Hangi zkEVM en iyi performansa sahiptir? Ethereum L2 Sözleşme Dağıtım Testi

Yazar: Jarrod Watts; Derleme: Block Beats

Ethereum genişleme savaşında, Optimistic toplamaları EVM ile son derece uyumludur veya hatta tamamen eşdeğerdir, bu da Arbitrum ve Optimism'in doğasında var olan avantajların geliştiricilerin benimsemesine yol açar.L1'den L2'ye sorunsuz kod taşıma ve zengin geliştirme araçları, geliştiricilerin platforma yerleşmeleri ve uygulamaları dağıtmaları ve oluşturmaları için hızla çekebilir.

Buna karşılık, ZK serisi daha zordur. Doğasında bulunan teknik özellikleri, ZK toparlamalarının kendi sanal makinelerini özelleştirmesine neden olur; bu, proje tarafının EVM'den gelen kodu "yorumlamak" veya hatta sıfırdan yeni kod geliştirmek ve yazmak için daha fazla iş yapması gerektiği anlamına gelir. Ancak Taiko, Polygon, Linea, Scroll ve ZkSync Era dahil olmak üzere birçok ZK toplama izleme projesi kendi zkEVM uygulamalarını başlattı.

Genişletmenin kutsal kâsesi olan zkEVM, geliştiricinin sözleşme dağıtım deneyimi üzerinde çok önemli bir etkiye sahiptir.Çeşitli ZK toplama projeleri ile karşı karşıya kalan geliştiriciler nasıl seçim yapmalı?

Bu makale, Polygon'da geliştirici ilişkileri mühendisi olan Jarrod Watts'ın tweet'lerinin bir özetini derliyor. Mevcut popüler ZK toplama projesinde akıllı sözleşmeler (1 Solidity akıllı sözleşmesi ve bir NFT sözleşmesi) uygulayarak Taiko, Polygon, Linea, Scroll ve ZkSync Era gibi projelerin zkEVM performansını ölçtü ve bunların avantajlarını ve dezavantajlarını ve L2 ila L1 kredilerini karşılaştırdı.

Aşağıdakiler, BlockBeats'in orijinal metninin bir derlemesidir:

**ZK-EVM nedir ve buna neden ihtiyacımız var? ****ZK-EVM'nin ne olduğunu yorumlamadan önce ZK-EVM'ye neden ihtiyaç duyulduğuna bir bakalım. **

ZK Rollups, Ethereum'a ölçeklenebilirlik ve yüksek performans getiriyor.Madalyonun diğer tarafında, ZK Rollups çözümü EVM (Ethereum Virtual Machine) ile uyumlu değil, bu da ZK Rollups çözümünün aktarım, basım veya yazma gibi yalnızca sınırlı işlemleri destekleyebileceği ve kullanıcılar için cüzdan gibi araçların geliştirilmesi gerektiği anlamına geliyor.

Bu nedenle EVM ile uyumlu ZK Rollup'lara ihtiyacımız var ve bunun için çeşitli firmalar kendi ZK-EVM'lerini geliştirdiler.

ZK-EVM veya Zero-Knowledge EVM, Zero-Knowledge Proofs ile uyumlu bir Ethereum Sanal Makine uygulamasıdır.

ZK-EVM'nin ana işlevi, işlemleri Ethereum L2'de (katman 2) toplu olarak işlemek ve toplu işlemlerin "geçerlilik kanıtını" Ethereum L1'e geri göndermektir. Genel olarak zkEVM, Ethereum ana ağı için her şeyi yapabilir. Solidity veya Vyper'da insan tarafından okunabilen kodu bayt kodunda derler, akıllı sözleşmeler yürütür ve blok zinciri durumunu günceller.

EVM uyumlu ZK Toplamaları oluşturmanın zorluğu, Ethereum'un başlangıçta ZK dostu düşünülerek tasarlanmamasıdır. Bu, sıfır bilgi kanıtlarının hesaplanması için çok fazla kaynak gerektirdiği anlamına gelir.

Bunlar arasında, bazı EVM işlem kodu işlem kodları özellikle "ZK dostu değildir", bu da ZK-EVM ürünlerinin sonunda farklı EVM uyumluluğuna sahip çeşitli şirketler tarafından tasarlanmasına yol açar.

** İşlem kodları, bayt kodu ve EVM nedir? **

Popüler bilim zamanı, işlem kodları, bayt kodları ve EVM nedir?

Her şeyden önce EVM, Ethereum üzerindeki akıllı sözleşmeler için işletim ortamıdır. Ethereum, sözde "makine durumunu", bir bloktaki her işlemden sonra değişen bir trie ağacı veri yapısında saklar.

EVM deterministiktir, yani herhangi bir belirli durumda bir dizi talimatın yürütülmesi aynı yeni durumla sonuçlanacaktır.

Ethereum geliştirici belgelerine göre, eski bir geçerli durum (S) + yeni bir dizi geçerli işlem (T), Ethereum yeni bir geçerli çıkış durumu S' üretecektir.

Bunu satranç gibi bir oyun olarak düşünebilirsiniz. Ethereum, farklı oyun durumlarının olduğu bir satranç tahtası gibidir ve Ethereum'da bu durumun olasılıkları sonsuzdur. Masa oyunlarının kendi özel hareket kuralları vardır (Ethereum'daki işlemleri karşılaştırın) ve hangi taşlar üzerinde hangi eylemlerin gerçekleştirilebileceği konusunda belirli kısıtlamalar vardır. Oyuncular harekete geçer (Ethereum'da işlem gönderen kullanıcılara kıyasla) ve oyun (Ethereum) kuralları formüle eder ve uygular, bu da her turdan sonra (blok süresine karşılık gelir) yeni bir yönetim kurulu (Ethereum global) durumuyla sonuçlanır.

Ethereum veya herhangi bir EVM uyumlu blockchain geliştirmesi için akıllı sözleşmelerin Solidity'de yazılması gerekir. Solidity, geliştiricilerin yazmaçlar, bellek adresleri, çağrı yığınları ve diğer soyutlamalar yerine kod yazmaya odaklanabilmesi için insanlar tarafından okunabilecek şekilde tasarlanmış üst düzey bir dildir.

Ancak EVM, Solidity'yi okuyamaz. Bunun yerine, yalnızca ikili, makine tarafından okunabilen düşük düzeyli kod olan "bayt kodunu" anlar.

EVM'de, "bayt kodu" (bayt kodu), bir dizi EVM "işlem kodunu" (işlem kodları) temsil eder, işlem kodları, EVM'de gerçekleştirilebilecek belirli işlemleri temsil eden programın düşük seviyeli okunabilir talimatlarıdır.

Solidity gibi üst düzey bir dil doğrudan EVM'de çalıştırılamayacağından, akıllı sözleşme kodunu, derleyicinin işi olan EVM tarafından yürütülecek, insan tarafından okunabilen Solidity dili işlem kodu bayt kodundan dönüştürmenin bir yoluna ihtiyacımız var.

Solidity kodunu Remix IDE derleyicisi ile derledikten sonra, akıllı sözleşmenin dönüştürüldüğü belirli işlem kodunu görebilir ve işlem kodundan oluşturulan bayt kodunu görüntüleyebilirsiniz.

İşte işlem kodları:

Aşağıdaki, yukarıdaki işlem koduna karşılık gelen bayt kodudur.

Bayt kodlarını işlem kodlarına çevirerek, bayt kodlarında hangi yürütme talimatlarının bulunduğunu bilmek mümkündür.

EVM'deki bazı belirli işlem kodları için ZK ispatının yüksek zorluğu nedeniyle, farklı uyumluluk derecelerine sahip ZK-EVM'ler piyasaya çıktı.Bunların arasında, bazı ZK-EVM ve EVM işlem kodu setleri tamamen eşdeğerdir, bazıları bazı EVM işlem kodlarını kısmen değiştirmiştir ve biri tamamen farklı bayt kodlarına sahiptir.

Farklı ZK-EVM türleri

Ethereum tasarımı başlangıçta ZK dostluğunu dikkate almadığından, teoride Ethereum tasarımına ne kadar yakınsa, ZK kanıtları oluşturmak o kadar zor ve zaman alıcıdır. Ağustos 2022'de Ethereum'un kurucusu Vitalik, farklı ZK-EVM'leri sınıflandıran "Vitalik'in farklı ZK-EVM türlerinin geleceği hakkındaki yorumunu dinleyin" adlı bir blog yazısı yayınladı.

Bu yazıda Vitalik, çeşitli ZK-EVM'leri EVM uyumluluğu ve ZK kanıt oluşturma süresi (performans) olmak üzere iki boyuta göre sınıflandırmıştır.Vitalik bu çizelgede dört (yarı) tip listelemiştir ve şu anda piyasada bulunan tüm ZK-EVM ürünleri dahil edilebilir.

1, ZK-EVM'nin ilk türü tamamen Ethereum'a eşdeğerdir, Ethereum sisteminin herhangi bir bölümünü değiştirmezler ve kanıt oluşturmaları daha kolaydır. Bu tür sistemlerde, ZK provalarının oluşturulması uzun zaman alır (birkaç saat). Taiko, bu tip ZK-EVM'ye aittir.

  1. İkinci tür, EVM'ye tamamen eşdeğerdir, ancak ZK kanıtlarının üretim süresini hızlandırmak için zincir durumunun depolama yöntemi gibi bazı farklı dahili temsilleri değiştirir. Şu anda piyasada bu tip ZK-EVM yok, ancak Polygon, Linea ve Scroll bu yönde çalışıyor.

2.5, tip 2 ile tip 3 arasında bir de tip 2.5 vardır. Bu tür, EVM'ye tam olarak eşdeğerdir, ancak belirli işlem türlerinin gaz maliyetinin "en kötü duruma dayanıklılık süresini önemli ölçüde azaltmak" için artırılması dışında. Şu anda piyasada bu tip bir ZK-EVM yok, ancak Kakarot adında yeni bir ZK-EVM projesi üzerinde çalışıyor.

  1. Tip 3, EVM'ye neredeyse eşdeğerdir, ancak kanıt süresini daha da azaltmak ve EVM geliştirmeyi basitleştirmek için eşdeğer doğruluktan bazı tavizler verilir. Şu anda Polygon, Linea ve Scroll bu türdendir.

  2. Tip 4, ZK-EVM'nin üst düzey diline eşdeğerdir. Bu tür ZK-EVM, akıllı sözleşmenin kaynak kodunu ZK-SNARK dostu bir dilde derler, bu da daha hızlı prova süresi ve buna karşılık gelen uyumsuzluk ve sınırlamalar gibi dezavantajlar getirir. Şu anda, zkSync Era bu kategoriye giriyor.

Geçerlilik kanıtını Ethereum L1'e geri göndermek için gereken sürenin, kullanıcının parayı L1'e geri transfer etmesi için geçen süre olduğunu belirtmekte fayda var. Kanıt oluşturmanın saatler sürmesi durumunda, söz konusu kullanıcı bu saatler içinde fonları L1'e geri döndüremez.

Pratik dövüş: Taiko, Polygon, Linea, Scroll ve ZkSync Era geliştirme değerlendirmesi

Teorik bilgileri gözden geçirdikten sonra asıl savaş kısmına geçelim.

Sırasıyla Taiko, Polygon, Linea, Scroll ve ZkSync Era'da Solidity akıllı sözleşmeleri ve NFT sözleşmeleri dağıtılarak, her bir ZK-EVM'nin performansı ve ilgili kusurları test edilir.Yazar ayrıca mevcut geliştirici kaynaklarını verir ve değerlendirme esas olarak geliştirici deneyiminin iki boyutu ve L2'den L1'e köprü kurma süresi üzerinden gerçekleştirilir.

Taiko ZK-EVM

Taiko, bir tip 1 ZK-EVM'dir ve şu anda test ağı aşamasındadır. Taiko tam olarak Ethereum'un yaptığını yapar; aynı hash fonksiyonlarını, gaz fiyatlarını, şifreleme algoritmalarını vb. kullanarak.

Operasyon süreci: ThirdWeb proxy'sini kullanarak basit bir Solidity akıllı sözleşmesi dağıttı ve basit bir NFT koleksiyonu dağıttı.

Type 1 ZK-EVM'nin dezavantajı, her şey Ethereum'dakiyle tamamen aynı olduğunda (dahili olarak bile) kanıt üretmenin uzun zaman almasıdır. Bu, bir kullanıcının ETH'yi Taiko L2'den Ethereum L1'e (aşağıda gösterildiği gibi) bağlamasının birkaç saat sürdüğü anlamına gelir.

ZK-EVM Serisi

Linea, tip 3 ZK-EVM'ye aittir ve Linea henüz tüm işlem kodlarını veya ön derlemeyi kanıtlayamaz; farklı bir hash işlevi kullanmak gibi Ethereum'dan farklı bir zincir iç durumunu temsil eder.

Dağıtılan bayt kodu, Ethereum ile aynıdır.

Dağıtım süreci neredeyse sorunsuzdu, bu da her iki akıllı sözleşmeyi dağıtmayı ve bunlarla etkileşim kurmayı kolaylaştırdı. Bu, Ethereum ile aynı davranıştır; mevcut araçlar ve cüzdanlar, akıllı sözleşmeleri dağıtmak, onlarla etkileşimde bulunmak, NFT'ler oluşturmak vb. için kullanılabilir.

Bu makalenin yazıldığı sırada Linea, köprü ön uç arayüzünü henüz başlatmamıştı. Bu nedenle, yalnızca köprülü akıllı sözleşme işlevleri doğrudan çağrılabilir.

Linea belgelerine göre, ETH'nin L2'den L1'e köprüsü genellikle yaklaşık 15 dakika sürer, ancak bu durumda yaklaşık birkaç saat sürdü.

Poligon ZK-EVM

Poligon ZK-EVM, Tip 3 ZK-EVM'ye aittir ve bu yılın Mart ayının sonundan beri ana ağı başlatmıştır.

Polygon zkEVM resmi belgeleri, EVM ve zkEVM arasındaki tüm güncel farklılıkları listeler.

Bytecode'u Polygon zkEVM üzerinde dağıtmak, akıllı sözleşmeleri dağıtmayı ve bunlarla etkileşimi çok basit hale getiren Ethereum ile aynıdır. Vitalik bir keresinde "Polygon zkEVM'nin benzersiz bir tasarımı var ve zkASM adlı kendi dahili dillerini doğrulamak için ZK kullanıyorlar" demişti.

Polygon mühendislik ekibi, kanıt oluşturma ve geri çekme süresinin iyileştirilmesine ek olarak, Vitalik diyagramında Tip 2 olma hedefiyle kalan ön derlemenin gelecekte mümkün olan en kısa sürede tamamlanacağını belirtti.

Bu konuşlandırma durumunda, zkEVM ana ağ köprülemesi sorunsuz gerçekleşti; L2 -> L1 köprüleme işlemi yaklaşık 1 saat sürer.

Taslak

Scroll, Type 3 ZK-EVM'ye aittir ve şu anda testnet aşamasındadır. Scroll ayrıca resmi belgelerde ZK-EVM ve Ethereum EVM arasındaki farkları listeler.

Diğer Type 3 ZK-EVM'ler gibi, dağıtım süreci neredeyse sorunsuzdur ve Solidity akıllı sözleşmeleri ve NFT koleksiyonları kolayca dağıtılır ve bunlarla etkileşim kurulur. Fonların L2'den L1'e köprülenmesinin "10 dakika ila birkaç saat" sürmesi bekleniyor.

ZkSync Dönemi

ZkSync Era, Type 4 ZK-EVM'ye aittir. Diğer ZK-EVM'lerden tamamen farklı olan ZkSync Era'nın zkEVM'sinde dağıtılan akıllı sözleşme bayt kodu, Ethereum'dan farklıdır.

Bu, ZkSync Era'nın farklı bir geliştirici deneyimi getirecek benzersiz bir özellik, Hesap soyutlama için yerel destek sağlamasına olanak tanır. Tipik olarak, çoğu kripto cüzdanı, fon gönderip alabilen ve akıllı sözleşmelerle etkileşime girebilen standart adreslerdir. Hesap soyutlama ile kripto cüzdanları özelleştirilebilir ve daha geniş bir işlevsellik yelpazesi sağlamak için daha karmaşık şekillerde tasarlanabilir. Ek olarak, zkEVM, geliştiricilerin Solidity gibi aynı üst düzey dilleri kullanmasına izin verir.

ZkSync Era'nın ZK-EVM'si EVM'den oldukça farklı olsa da ZkSync Era, geliştiriciler için bir dizi en iyi uygulama ve değerlendirme sağlar. Ek olarak, geliştiricilerin özellikle ZkSync Era için derleme yapmak üzere geliştirme sürecinde bazı küçük ayarlamalar yapmaları gerekecektir.

Örneğin, aşağıdaki örnekte, Era ZK-EVM'ye dağıtılabilecek bayt kodu oluşturmak için Hardhat ortamının yüklenmesi ve özel bir zkSync uzantısıyla yapılandırılması gerekir.

Derleme, yukarıdaki ZK-EVM tarafından oluşturulan bayt kodundan tamamen farklı olan Ethereum'dan tamamen farklı yepyeni bir bayt kodu oluşturur.

ThirdWeb'in, geliştiricilere daha uygun bir dağıtım deneyimi sağlamak için zkSync Era'yı başlattığını belirtmekte fayda var.

Bu işlem sırasında toplam iki akıllı sözleşme dağıtılır, bunlarla etkileşim kurulur ve L2'den L1'e varlık gönderilir. Şu anda, güvenlik nedeniyle ZkSync Era ana ağından Ethereum L1'e para çekme işlemleri için 24 saatlik bir gecikme var.

Kakarot ZkEvm

Type 2.5 ZK-EVM'yi gerçekleştirmeye adanmış bir diğer proje ise, bu yıl Haziran ayında Vitalik Buterin ve StarkWare dahil olmak üzere birçok kurumdan finansman alan Kakarot ZkEvm, test ağını 2023'ün sonlarında piyasaya sürmeyi planlıyor.

Çözüm

EVM uyumlu bir ZK çözümünün ilerlemesi, bir bütün olarak endüstri için büyük bir kazanç olduğundan, son kullanıcılar için yarışı kimin kazandığı önemli değildir. Çeşitli proje tarafları için, tüm endüstrinin ilerlemesini teşvik etmek için farklı yöntemler keşfetmek kadar büyük bir rekabet değildir. Vitalik'in bir "çoklu sertifika teorisi" bile vardır. Temel öncül, farklı Rollup'ların Ethereum'un genel güvenliğini artırmak için birlikte çalışabilmesidir.

Günün sonunda herkes Ethereum'un başarılı olmasını istiyor. L2 genişleme dönüşümü, Vitalik'in Ethereum'un geçmesi gerektiğine inandığı üç teknik dönüşümden biridir. Gelecekte nasıl gelişeceğini bekleyip göreceğiz.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)