Validity Rollups ve Cairo VM'nin rolünü anlamaya yönelik bir makale

Geçerlilik Toplamaları, Ethereum verimini güvenli ve merkezi olmayan bir şekilde artırmanın en umut verici yoludur; zkEVM ve Kahire VM (CVM), Validity Toplamalarında kullanılan iki tür VM'dir.

**Yazan:**StarkWare

Derleme: Bump Man

TL;DR

  • Geçerlilik Toplamaları, Ethereum verimini güvenli ve merkezi olmayan bir şekilde artırmanın en umut verici yoludur; zkEVM ve Kahire VM (CVM), Validity Toplamalarında kullanılan iki tür VM'dir.
  • zkEVM, performans ve ölçeklenebilirlik pahasına Ethereum uyumluluğuna odaklanır.
  • Starknet'te kullanılan Cairo VM, uyumluluktan çok performansa ve ölçeklenebilirliğe öncelik verir.

Toplamalar, bu yıl Ethereum'u ölçeklendirmekten bahsederken en çok konuşulan konulardan biri. Çeşitli toplama türleri arasında, zk-toplamaları olarak da bilinen Geçerlilik Toplamalarının (VR'ler), Ethereum'un verimini güvenli ve merkezi olmayan bir şekilde artırmanın en umut verici yolu olduğuna inanıyoruz. Bu ölçeklendirme çözümünün kalbinde, geçerlilik kanıtları kullanan doğrulanabilir hesaplama yer alır. İşte nasıl çalıştıkları:

Operatör, Ethereum ana ağındaki her işlemi işlemek yerine, işlem yürütmeyi zincir dışı bir ortama aktarır. Bu zincir dışı ortam, katman 2 olarak işlev görür, yani Ethereum'un üzerinde çalışan katman anlamına gelir.

Çok sayıda işlemi işledikten sonra, katman 2 operatörleri zincir dışı yürütmenin bütünlüğünü doğrulamak için geçerlilik kanıtlarıyla birlikte Ethereum durumuna uygulanacak sonuçları döndürür. Bu kanıt, bir partideki tüm işlemlerin geçerli olduğunu ve zincir üstü doğrulayıcı sözleşmesi tarafından otonom olarak doğrulandığını garanti eder. Bu, Ethereum'un sonucu durumuna uygulamasına izin verir.

Geçerlilik Toplamaları

*Not: Geçerlilik Toplamaları genellikle yanlış bir şekilde Sıfır Bilgi Toplamaları olarak adlandırılır, ancak bu doğru değildir. Çoğu Geçerlilik Özeti, ZKP'leri kullanmaz ve gizlilik amacıyla kullanılmaz. Bu nedenle, "Geçerlilik Özeti" terimi daha doğrudur. *

zincir dışı sanal makine

Devam etmeden önce cevaplamamız gereken ilk soru şudur: Sanal makine (VM) nedir? Basitçe söylemek gerekirse, tıpkı Windows işletim sistemini çalıştıran bir Mac gibi programların çalışabileceği bir ortamdır. Bazı girdiler üzerinde 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ğrulanabilen geçerlilik kanıtlarının oluşturulmasına izin veren bir program yürütme ortamıdır. Bu geçerlilik kanıtı, programın doğru bir şekilde yürütüldüğünü kanıtlar. "zkEVM" terimi kullanıldığında, genellikle Ethereum Sanal Makinesi'ni (EVM) kullanan ve EVM'nin yürütülmesini doğrulayabilen bir toplamayı ifade eder. Bu terminoloji yanıltıcı olabilir çünkü EVM'nin kendisi bu ispatları üretmez; bunun yerine ispatlar, EVM'nin yürütülmesinin sonuçlarıyla başlayan ayrı bir ispat mekanizması tarafından üretilir. Ayrıca, bu kanıtlar mahremiyetle değil geçerlilikle ilgilidir, bu nedenle tam olarak sıfır bilgi kanıtları değildirler. Bununla birlikte, tutarlılık adına, bu makale boyunca geleneksel "zkEVM" terimine bağlı kalacağız.

Tüm Geçerlilik Toplamaları, Ethereum'u geçerlilik kanıtı ile ölçeklendirmeyi amaçlarken, zincir dışı işlemleri yürütmek için sanal makine seçiminde farklılık gösterirler. Pek çok Validity Rollup, EVM'nin tasarımını kopyalamayı seçer (dolayısıyla "zkEVM toplamaları" terimi), Ethereum'u L2 toplamalarında çoğaltmaya çalışır. Starknet, geçerlilik kanıtlama verimliliğini optimize etmek için özel olarak tasarlanmış yeni bir sanal makine türü olan Kahire VM'sini (CVM) kullanır.

Bu iki yöntemin kendi avantajları ve dezavantajları vardır, ancak zkEVM, Ethereum uyumluluğu için performans ticareti yaparken, Cairo VM, uyumluluk ve ölçeklenebilirlikten çok performansa öncelik verir.

zkEVM yaklaşımı

zkEVM, amacı Ethereum deneyimini Katman-2 blok zincirlerine tamamen getirmek olan bir Validity Rollup'tır. Ethereum geliştirici ortamını bir toplama olarak kopyalamayı amaçlar. zkEVM ile, geliştiricilerin akıllı sözleşmeler yazarken veya akıllı sözleşmeleri daha ölçeklenebilir çözümlere taşırken kodlarını değiştirmeleri veya EVM araçlarını (ve akıllı sözleşmeleri) bırakmaları gerekmez.

Bu yaklaşımın önemli bir dezavantajı, geçerlilik kanıtlarının ölçeklendirme potansiyelini düşürmesidir. zkEVM, Ethereum ile uyumlu olmayı hedeflediğinden, daha yavaş ve daha fazla kaynak yoğundur. CVM'den farklı olarak EVM, ispat verimliliği göz önünde bulundurularak tasarlanmamıştır. Bu, verimliliği ve ölçeklenebilirliği iyileştirebilen ve sonuçta sistemin genel performansını etkileyen optimizasyonların kullanımını sınırlar.

EVM'nin kanıtlanabilirliği

zkEVM yaklaşımının temel zorluğu, EVM'nin orijinal taslağına dayanmaktadır - bu, geçerlilik kanıtı bağlamında çalışmak üzere tasarlanmamıştır. Sonuç olarak, işlevselliğini yansıtma çabaları, geçerlilik kanıtlarının tam potansiyelini ortaya çıkarmakta başarısız olur ve bu da yetersiz verimlilik seviyelerine neden olur. 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 Verimlilik Kanıtı, kayıt tabanlı bir model için daha verimlidir. EVM'nin yığın tabanlı doğası, yürütmesinin doğruluğunu kanıtlamayı ve yerel araç zinciri için doğrudan destek sağlamayı zorlaştırır.

Ethereum depolama düzeni, her ikisi de geçerlilik kanıtları için kötü olan ve büyük bir kanıt yükü getiren Keccak'a ve büyük bir Merkle Patricia Ağacına dayanır. Örneğin, Keccak x86 mimarisi için çok hızlıdır (bu mimaride tipik olarak EVM'yi çalıştırırız), ancak kanıtlamak için 90 bin adım gerekir (yerleşik özel yapı). Oysa Pedersen (zk dostu bir hash işlevi) 32 adım gerektirir. Özyinelemeli sıkıştırmada bile, Keccak'ı zkEVM'de kullanmak, nihai olarak kullanıcı tarafından ödenen çok sayıda kanıtlayıcı kaynak anlamına gelir.

Sonuç olarak, çeşitli zkEVM'ler, Ethereum araçları için farklı düzeylerde destek sağlamak üzere tasarlanmıştır - bir zkEVM, Ethereum ile ne kadar uyumluysa, performansı o kadar düşük olur. (zkEVM türleri hakkında daha fazla bilgi için makalenin sonuna atlayın.)

Kahire-VM yaklaşımı

zkEVM çözümü, uzun vadeli performans ve ölçeklenebilirlik yerine uyumluluğa öncelik vererek "EVM'nin Validity Rollups için çalışmasını sağlamak" için çok fazla geliştirme süresi harcıyor. Başka bir seçenek daha var: yepyeni özel bir sanal makine kullanın ve ek bir katman olarak üstüne Ethereum araçları için destek ekleyin. Bu, Kasım 2021'de piyasaya sürülen izinsiz bir Validity Rollup olan Starknet tarafından benimsenen yaklaşımdır. Starknet, tamamen şekillendirilebilir bir ağ üzerinde genel amaçlı bir akıllı sözleşme platformu sunan ilk Validity Rollup'tır.

Starknet, aynı adı taşıyan üst düzey bir dil olan Cairo-VM'yi (CVM) kullanır. Cairo-VM, program yürütmenin geçerlilik kanıtlarının verimli bir şekilde oluşturulması için tasarlanmış bir VM'dir.

Kahire'yi (sanal makine ve dil) kullanarak şunlara sahibiz:

  1. Optimizasyonun etkinliğinin kanıtı - her komutun geçerli bir cebirsel temsili vardır

  2. Kanıtlanabilir programlar yazmak için Rust benzeri bir dil

  3. Üst düzey Kahire ve Kahire meclisi (VM talimatları) arasında, Kahire kodunun verimli bir şekilde yürütülmesine izin veren ara temsil (Sierra)

Yeni bir dil geliştirmek, kişinin onu yerine getirmesi amaçlanan belirli ihtiyaçlara göre uyarlamasına ve daha önce karşılanmamış ihtiyaçları karşılayan özelliklerle donatmasına olanak tanır.

Kahire ve kodlama çoğulculuğu

Bazı hesaplamaların geçerliliği hakkında bir kanıt oluşturmak için, hesaplama önce hesaplamayı açıklayan bir dizi matematiksel kısıtlama olarak ifade edilmelidir. Verimlilik için hesaplamaları optimize etmenin zorluğu ve özel araçlara duyulan ihtiyaç nedeniyle süreç zor olabilir.

Kahire dili başlangıçta bu görevi basitleştirmek ve StarkEx'e işlevsellik ve karmaşık iş mantığı eklemeyi kolaylaştırmak için tasarlanmıştır. Kahire programları, sabit bir VM tarafından yürütülen cebirsel makine kodunda (bir sayı dizisi) derlenir. Kahire'de, hesaplamaları açıklayan matematiksel kısıtlamalar üretmenin tüm karmaşıklığı -geçerlilik kanıtlarının çetrefilli bir sorunu- soyutlanır ve sabit bir dizi kısıtlama (toplamda 50'den az kısıtlama) tarafından ele geçirilir. Sonuç olarak, geliştiriciler, temel matematik ve altyapıyı anlamaya ihtiyaç duymadan, yalnızca aşina oldukları bir sözdizimini kullanarak kod yazarak uygulamalarını genişletmek için geçerlilik kanıtlarından yararlanabilirler.

Starknet yenilikle ilgilidir ve bu, kodlamaya yönelik çeşitli yaklaşımına yansır. Kahire'nin STARK'larla en uygun şekilde ölçeklenme yeteneği, yerel olarak Kahire'de sözleşme yazanlarla sınırlı değildir. Geliştiriciler kendileri için en uygun yöntemi seçebilirler:

Yerel olarak Kahire'de kod yazın: Kahire 1.0'ın piyasaya sürülmesiyle, geliştiriciler artık program mantığını yazmayı daha kolay ve daha az hataya açık hale getiren ergonomik ve güvenli Rust dilini kullanabilirler.

Solidity Uyumluluğu: Solidity geliştiricileri, Cairo VM tarafından kullanılabilen kod yazabilir. Bu yaklaşım, Ethereum'a benzer bir geliştirici deneyimi sağlar ve Solidity akıllı sözleşmelerini Starknet için taşınabilir hale getirir. Bunu başarmanın iki yolu vardır:

Tercüme: Tercüme, bir programlama dilinde yazılmış kaynak kodun başka bir dile dönüştürülmesi sürecini ifade eder. Nethermind ekibi, Solidity kodunu Kahire'ye aktarmak için Warp aktarıcısını yarattı. Warp, Solidity akıllı sözleşmelerini Starknet'e taşınabilir hale getirerek, onu bir Tip 4 zkEVM haline getiriyor. Uniswap sözleşmelerini minimum değişiklikle çevirmek ve dağıtmak için kullanılmıştır.

Starknet'te zkEVM: Kahire VM'si, başka bir VM'nin 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. Kahire VM ve zkEVM rakip yaklaşımlar değildir, Kahire VM ve zkEVM arasında seçim yapmak yerine hem Kahire VM'ye hem de zkEVM'ye sahip olabiliriz!

Kısa varlığına rağmen Kahire, TVL tarafından dördüncü en popüler akıllı sözleşme dilidir ve 350 milyon doların üzerinde fon almıştır.

Özetle

zkEVM, Ethereum ortamını bir toplama olarak çoğaltmayı ve geliştiricilerin tanıdık Ethereum araçlarını kullanmasına izin vermeyi amaçlamaktadır. Ancak bu yaklaşım, geçerlilik kanıtlarının tüm potansiyelini engeller ve kaynak yoğun olabilir.

Cairo VM, EVM sınırlamaları olmaksızın geçerlilik kanıtlama sistemleri için tasarlanmıştır. Kahire 1.0 adlı yeni, güvenli ve ergonomik Rust'tan ilham alan bir programlama dili ile desteklenir ve Ethereum'u STARK kanıtlarıyla ölçeklendirerek maksimum verimlilik elde etmeyi amaçlayan güçlü bir araç oluşturur.

Kahire'nin her hafta neler başardığını ve geliştiriciler için Kakarot zkEVM ve Warp gibi farklı seçeneklerin arttığını görmek heyecan vericiydi. Starknet dApp, Kahire'nin gücünü göstererek üretime girerken, gelecekte daha iddialı projeler için kullanılacağına inanıyoruz.

Yukarıda özetlenen STARK ölçeklendirmesi için üç yol ve şüphesiz önümüzdeki aylarda kullanıma sunulacak diğerleri sayesinde, geliştiriciler artık blok zincirini ölçeklendirme üzerinde benzeri görülmemiş bir kontrole sahipler.

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