Ayrıntılı geçerlilik kanıtı Toplama ve Kahire VM teknik özellikleri

Kaynak: Ethereum'u Verimli Ölçeklendirme; Derleme: Starknet Çin Topluluğu

genel bakış

  • Validity Proof Rollup, Ethereum'un verimini güvenli ve merkezi olmayan bir şekilde artırmanın en potansiyel yoludur; zkEVM ve Cairo VM (CVM), Validity Proof Rollup türünde kullanılan iki sanal makinedir (VM).
  • zkEVM, performans ve ölçeklenebilirlik pahasına Ethereum uyumluluğuna odaklanır.
  • Starknet tarafından benimsenen Kahire sanal makinesi, uyumluluktan çok performans ve ölçeklenebilirliğe öncelik verir.

Toplamalar, bu yıl Ethereum'u ölçeklendirme konusunda sıcak bir konuydu. Çeşitli Toplama türleri arasında, Validity Proof Rollup'ın (bundan sonra VR veya zk-rollup olarak anılacaktır), Ethereum'un verimini güvenli ve merkezi olmayan bir şekilde artırmak için en umut verici genişleme çözümü olduğuna inanıyoruz. Bu genişleme planının özü, doğrulanabilir hesaplamalar için geçerlilik kanıtlarının kullanılmasıdır. İşte nasıl çalıştığı:

  • Her bir işlemin Ethereum ana ağında işlenmesinin aksine, operatör işlemi zincir dışı bir ortamda yürütür. Zincir dışı ortam, Ethereum'un üzerinde çalışan işletim katmanı olan L2'dir.
  • Toplu işlem işleme tamamlandıktan sonra, L2 operatörü, zincir dışı yürütmenin bütünlüğünü doğrulamak için bir geçerlilik kanıtıyla birlikte sonucu Ethereum durumuna döndürür. Bu kanıt, aynı partideki tüm işlemlerin geçerli olduğunu ve zincir üstü doğrulama sözleşmesi tarafından otonom olarak doğrulandığını garanti eder. Bu işlem, Ethereum'un sonucu kendi durumuna uygulamasına izin verir.

Geçerlilik kanıtı için Toplama ve Kahire VM'nin ayrıntılı teknik özellikleri

Geçerlilik Kanıtı Toplaması

Lütfen dikkat: Geçerlilik Kanıtı Toplamaları genellikle yanlışlıkla Sıfır Bilgi Toplamaları (zkRollup) olarak adlandırılır ve bu doğru değildir. Çoğu Geçerlilik Kanıtı Toplaması, sıfır bilgi kanıtları kullanmaz ve gizliliği sağlamak için kullanılmazlar. Bu nedenle, "Geçerlilik Kanıtı Özeti" terimi daha doğrudur.

zincir dışı sanal makine

Daha ileri gitmeden önce ilk soruyu yanıtlamamız gerekiyor: sanal makine (VM) nedir? Kısaca sanal makine, Mac üzerinde çalışan bir Windows işletim sistemi gibi programların çalışabileceği bir ortamdır. VM, bazı girdilerde hesaplamalar yaptıktan sonra durumlar arasında geçiş yapar. Ethereum Sanal Makinesi (EVM), Ethereum akıllı sözleşmelerini çalıştıran VM'dir.

Sıfır bilgili sanal makine (zkVM), program çıktısıyla birlikte kolayca doğrulanabilir geçerlilik kanıtları oluşturan bir program yürütme ortamıdır. Geçerlilik kanıtı, bir programın doğru şekilde yürütüldüğünü kanıtlamak için kullanılır. "zkEVM" terimi kullanıldığında, genellikle Ethereum Virtual Machine'i (EVM) çalıştıran ve EVM'nin yürütülmesini onaylayabilen bir Toplama anlamına gelir. Bu terminoloji yanıltıcı olabilir çünkü EVM'nin kendisi bu ispatları üretemez; bunun yerine ispatlar, EVM'nin yürütülmesinin sonucunu başlangıç noktası olarak alan ayrı bir ispat mekanizması tarafından üretilir. Ayrıca yukarıdaki delillerin tamamı geçerlilik ile ilgilidir ve mahremiyet ile ilgisi yoktur. Bu nedenle, kesin olarak sıfır bilgi kanıtı olarak adlandırılamaz. Tutarlılık için, bu makalede hala geleneksel "zkEVM" terimi kullanılmaktadır.

Tüm Geçerlilik Kanıtı Toplamaları, Ethereum'u Geçerlilik Kanıtı ile ölçeklendirmeyi amaçlarken, farklı şemalar sanal makinenin zincir dışı işlemleri nasıl yürüttüğü konusunda farklı seçimler yapar. Pek çok geçerlilik kanıtı Toplama, EVM tasarımını (dolayısıyla "zkEVM toplaması" adı) çoğaltmayı seçti ve Ethereum'u bir L2 toplamasında çoğaltmaya çalıştı. Starknet, geçerlilik kanıtı verimliliğini optimize etmek için tasarlanmış yepyeni bir VM olan Cairo VM'yi (CVM) kullanır.

Yukarıdaki iki yöntemin kendi avantajları ve dezavantajları vardır ve takasları vardır, ancak zkEVM, Ethereum uyumluluğu için performansı feda ederken, Cairo VM, performansı uyumluluğun önüne koyar ve ölçeklenebilirliğe öncelik verir.

zkEVM'nin nasıl çalıştığını anlayın

zkEVM, L2 blok zincirinde Ethereum deneyimini tam olarak tanıtmak için tasarlanmış bir geçerlilik kanıtı toplamasıdır. Amaç, Ethereum geliştirici ortamını Rollup'a çoğaltmaktır. zkEVM ile, geliştiricilerin akıllı sözleşmeleri yazarken veya genişletme çözümlerine taşırken kodu ayarlaması veya orijinal EVM araçlarını (ve akıllı sözleşmeleri) terk etmesi gerekmez.

Bu yaklaşım, geçerlilik kanıtlarının ölçeklenebilirliğini azaltan önemli bir kusura sahiptir. Ethereum ile uyumlu olmaya odaklanması nedeniyle, zkEVM daha yavaştır ve daha yoğun kaynak kullanır. CVM'den farklı olarak EVM, ispat verimliliği göz önünde bulundurularak tasarlanmamıştır. Bu, verimliliği ve ölçeklenebilirliği iyileştirmede optimizasyonların kullanımını sınırlar ve sonuçta sistemin genel performansını etkiler.

EVM'nin Kanıtlanabilirliği

zkEVM yaklaşımının temel zorluğu, orijinal olarak bir geçerlilik kanıtı ortamında çalışmak üzere tasarlanmayan EVM'nin kökleşmiş orijinal planında yatmaktadır. Bu nedenle, Ethereum'un işlevlerini gerçekleştirmek için tüm çaba sarf edilirse, geçerlilik kanıtının tam potansiyeli serbest bırakılamaz ve bu da tatmin edici olmayan bir verimlilikle sonuçlanır. Bu verimsizlik sonuçta sistemin genel performansını düşürür. EVM'nin geçerlilik kanıtlarıyla uyumluluğu aşağıdakiler tarafından engellenir:

  • **EVM, yığın tabanlı bir model kullanırken, kayıt tabanlı bir model için geçerliliğin daha verimli olduğu kanıtlanmıştır. **EVM'nin yığın tabanlı doğası, yürütmesinin doğruluğunu kanıtlamayı doğası gereği daha zor hale getirir ve yerel araç zinciri için doğrudan destek sağlar.
  • **Ethereum depolama düzeni, her ikisi de geçerlilik dışı kanıt dostu olan ve büyük bir kanıt yükü getiren Keccak ve büyük Merkle Patricia ağaçlarına dayanır. **Örneğin, Keccak x86 mimarileri için çok hızlıdır (tipik olarak EVM'yi çalıştırmak için kullanılır), ancak bunu kanıtlamak için 90 bin adım gerekir (özel yerleşikler gerektirir). Oysa Pedersen (sıfır bilgi dostu bir hash işlevi) yalnızca 32 adım gerektirir. Özyinelemeli sıkıştırmada bile, Keccak'ı zkEVM'de kullanmak yine de çok fazla kanıtlayıcı kaynak tüketir ve maliyet nihai olarak kullanıcı tarafından karşılanır.

Bu nedenle, Ethereum araçları için farklı düzeylerde destek sağlamak üzere çeşitli zkEVM türleri tasarlanmıştır, ancak zkEVM'nin Ethereum ile uyumluluğu ne kadar yüksek olursa, performans o kadar düşük olur. (daha fazla zkEVM türü için makalenin sonuna bakın)

Geçerlilik kanıtı için Rollup ve Cairo VM'nin ayrıntılı teknik özellikleri

Cairo-VM'nin nasıl çalıştığını anlayın

ZkEVM çözümü, uzun vadeli performans ve ölçeklenebilirlikten çok uyumluluğa öncelik vererek, "EVM'yi Geçerlilik Kanıtı Toplaması için uygun hale getirmek" için çok fazla geliştirme zamanı harcadı. Başka bir seçenek daha var: yeni bir ayrılmış sanal makine benimseyin ve Ethereum araçlarını desteklemek için ek bir katman ekleyin. Starknet'in Kasım 2021'de izinsiz bir geçerlilik kanıtı toplaması başlatarak attığı adım budur. Starknet, tamamen şekillendirilebilir bir ağda genel amaçlı bir akıllı sözleşme platformu uygulayan ilk geçerlilik kanıtı Toplamasıdır.

Starknet, Cairo-VM'yi (CVM) benimser ve aynı adlı üst düzey Kahire dilini oluşturur. Cairo-VM, program yürütmenin geçerlilik kanıtlarının verimli bir şekilde oluşturulması için tasarlanmıştır.

Kahire (VM ve programlama dili) ile şunları yapmak mümkündür:

  1. Optimizasyon etkinliğinin kanıtı, her talimatın geçerli bir cebirsel ifadesi vardır
  2. Kanıtlanabilir programlar yazmak için Rust benzeri modern bir dil
  3. Üst düzey Kahire dili ile Kahire derlemesi (VM talimatları) arasında Kahire kodunu verimli bir şekilde yürütebilen ara ifadeler (Sierra)

Tamamen yeni bir dil geliştirmek, belirli ihtiyaçlara göre uyarlanabilir, daha önce mevcut olmayan özellikleri içerebilir ve yeni ihtiyaçları karşılayabilir.

Kahire ve kodlama çoğulculuğu

Bazı hesaplamaların geçerliliğine dair bir kanıt oluşturmak için, bu hesaplamanın önce hesaplamayı açıklayan bir dizi matematiksel kısıtlama olarak ifade edilmesi gerekir. Süreç karmaşıktır, zorluk hesaplamaları verimlilik için optimize etmekte yatar ve özel araçlar gerekir.

Kahire dili, StarkEx'in kolayca işlevsellik ve karmaşık iş mantığı ekleyebilmesi için bu görevi basitleştirmek üzere tasarlanmıştır. Kahire programları, tek bir sabit VM tarafından yürütülen bir sayı dizisi olan cebirsel makine kodunda derlenir. Kahire'de, hesaplamaları açıklayan karmaşık matematiksel kısıtlamalar oluşturma süreci (geçerlilik kanıtları için çok zor) soyutlanır ve sabit bir kısıtlamalar dizisi olarak ifade edilir (toplamda 50'den az kısıtlama). Bu, geliştiricilerin, temel matematik ve altyapıyı anlamadan tanıdık bir sözdiziminde kod yazarak uygulamaları geçerlilik kanıtlarıyla genişletmelerine olanak tanır.

Starknet'in yeniliğe olan bağlılığı, kod çoğullaştırma yaklaşımında açıkça görülmektedir. Kahire, Kahire yerel ortamıyla sözleşme yazmakla sınırlı olmamak üzere, en uygun genişletme işlevlerini elde etmek için STARK teknolojisini benimser. Geliştiriciler ayrıca en uygun yöntemi seçebilir:

  • **Kahire'de yerel kodlama:**Kahire 1.0, geliştiricilerin kullanım alışkanlıklarına daha uygun ve daha güvenli olan Rust'tan esinlenmiştir. Program mantığı yazmak daha kolay ve daha az hataya açık hale gelir.
  • **Solidity uyumluluğu: **Solidity geliştiricileri, Cairo VM'yi destekleyen kod yazabilir. Bu yaklaşım, Ethereum'a benzer bir geliştirici deneyimi sağlar ve Solidity akıllı sözleşmelerinin Starknet'e taşınmasını destekler. Geçişi uygulamanın iki yolu vardır:
  • **Çeviri: **Çeviri, bir programlama dilinin kaynak kodunun başka bir dile çevrilmesi işlemidir. Nethermind ekibi, Solidity kodunu Kahire'ye aktarmak için Warp aktarıcısını inşa etti. Warp, Solidity akıllı sözleşmelerini Starknet'e taşınabilir hale getirerek onu etkili bir şekilde dördüncü bir zkEVM türü haline getirir. Şu anda Uniswap sözleşmelerini minimum değişiklikle çevirmek ve dağıtmak için kullanılmaktadır.
  • Starknet'te zkEVM: Kahire sanal makinesi, başka bir sanal makinenin yürütülmesini doğrulamak için kullanılabilir. Kakarot, Kahire'de yazılmış ve Starknet'te Ethereum akıllı sözleşmelerini çalıştırmak için kullanılabilen bir zkEVM'dir. Cairo VM ve zkEVM rekabet içinde değil, ikisi arasında seçim yapmaktansa ikisine de sahip olmak daha iyi!

TVL sıralamasına göre Kahire uzun süredir ortalıkta olmamasına rağmen, Kahire 350 milyon doları aşan değeriyle dördüncü en popüler akıllı sözleşme programlama dilidir.

Özetle

zkEVM, Ethereum geliştirici ortamını Rollup'a kopyalamayı ve geliştiricilerin tanıdık Ethereum araçlarını kullanmasına izin vermeyi amaçlar. Ancak bu yaklaşım, geçerlilik kanıtları potansiyelini sınırlar ve kaynak yoğundur.

Geçerlilik kanıtları için tasarlanan Kahire VM'si, EVM'nin sınırlamalarına tabi değildir. Kahire VM Kahire 1.0'ı destekler. Rust dilinden ilham alan Cairo 1.0, geliştirici alışkanlıklarıyla daha uyumlu ve daha güvenli olup, Ethereum'un verimli bir şekilde genişletildiğini kanıtlamak için STARK'ı kullanmak üzere tasarlanmış güçlü bir araç oluşturuyor.

Kahire'nin her hafta nasıl geliştiğini ve Kakarot zkEVM ve Warp gibi geliştiriciler için seçeneklerin arttığını görmek heyecan verici. Kahire'nin gücünü gösteren üretimdeki Starknet dApp'leriyle, gelecekte Kahire'nin daha önce hiç görülmemiş olağanüstü projeler üreteceğine kesinlikle inanıyoruz.

SATRK genişlemesi için üç yol yukarıda özetlenmiştir ve şüphesiz önümüzdeki aylarda daha fazla yenilik gelecektir. Geliştiriciler artık blok zincirlerini ölçeklendirme üzerinde benzeri görülmemiş bir kontrole sahip.

zkEVM tipi

Vitalik, zkEVM'yi dört ana türe ayırır:

  • **Birinci kategorinin tam Ethereum eşdeğeri: **Ethereum ekosisteminin herhangi bir bölümünü değiştirmez.
  • **İkinci tam eşdeğer EVM türü: ** mevcut dApp'lerle uyumlu olabilir ve kanıt oluşturmayı hızlandırmak için Ethereum tasarımında bazı ayarlamalar yapabilir.
  • **Üçüncü kategori kabaca EVM'ye eşdeğerdir: **Çoğu EVM işlem kodunu destekler, zkEVM'nin uygulanmasının zor olduğu bazı işlevleri kaldırır (ön derleme ve karma işlevleri gibi).
  • **Dördüncü eşdeğer üst düzey dil türü: **Solidity/Vyper kullanarak akıllı sözleşme kodu yazın ve bunu ispat dostu geçerli bir dile çevirin.
View Original
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
  • Pin