Etherscan'de bytecode ile mücadele etmekten Solidity'deki her türlü kod istismarına karşı korumaya kadar, blockchain geliştirmenin EVM teknoloji yığını birçok geliştirici için web2 teknoloji yığınından oldukça farklıdır, dolayısıyla Solidity-EVM teknolojisi arasında bir "boşluk" yaratır. stack ve Rust, C++ veya Python gibi ana diller. Blockchain alanı olgunlaşmaya devam ettikçe, bu geliştirici açığını kapatmaya ve çok daha şekillendirilebilir bir web3 geliştirmeye izin vermeye büyük bir ihtiyaç var.
Bu yazıda, Stanford Blockchain Haftası sırasında Blockchain Uygulamaları Stanford Zirvesi (BASS) konferansında açıklanan Offchain Labs'in son projesi Arbitrum Stylus'u tanıtacağız. Arbitrum Stylus, EVM'nin yürütme ortamını WASM'ninkiyle birleştirerek akıllı sözleşme şekillendirilebilirliği için yeni bir standart oluşturmayı amaçlayan dönüm noktası niteliğinde bir projedir. İlk olarak, projenin bazı uygulama ayrıntılarına girmeden önce bu projenin arkasındaki bazı motivasyonları tartışacağız ve son olarak projenin web3 alanındaki etkisini tartışacağız.
Arbitrum Stylus, blockchain geliştirmedeki iki temel sorunu çözmek için geliştirildi: (1) blockchain geliştirmenin erişilebilirliği ve (2) akıllı sözleşmelerin uygulama verimliliği.
Electric Capital'in Geliştirici Raporu. Kaynaktan görüntü [1]. Erişim tarihi: 20 Ekim 2023.
Electric Capital'in Geliştirici Raporuna göre şu anda yaklaşık 20.000 aylık aktif blockchain geliştiricisi var [1]. Her ne kadar bu sayı son birkaç yılda büyük ölçüde artmış olsa da, Rust veya C++ gibi genel amaçlı dilleri ana akım haline getiren milyonlarca (veya on milyonlarca) geliştiricinin arkasında hala büyük bir miktar var. Blockchain alanı büyümeye devam ettikçe, milyonlarca yeni akıllı sözleşme geliştiricisinin katılımına yönelik süreci kolaylaştırma ihtiyacı da artıyor.
Bunu yapmanın en iyi yollarından biri akıllı sözleşme geliştirme sürecini Rust veya C++ gibi mevcut ana dillerle entegre etmektir. Bu, Solana ve Cosmos gibi EVM olmayan birçok ekosistemin benimsediği ve Rust'un bu ekosistemlerde fiili akıllı sözleşme dili olarak ortaya çıktığı yaklaşımdır. EVM ekosistemi şimdiye kadar akıllı sözleşmeler yazmak için öncelikle kendi farklı programlama dili Solidity'ye güveniyor. Ancak Arbitrum Stylus, blockchain geliştiricilerinin Rust gibi ana dillerde akıllı sözleşmeler yazmasına ve ardından EVM uyumlu zincirlere dağıtmasına izin vererek bunu değiştirmeyi hedefliyor.
Geçtiğimiz birkaç yılda, merkezi olmayan uygulamaların popülaritesinin artmasıyla birlikte, özellikle Ethereum ağında zincir üstü hesaplamaya yönelik talep önemli ölçüde arttı. Şebeke talebindeki bu artış, gaz fiyatlarının fahiş olmasına neden oldu. Bu da halka açık blockchainlerin işlem hacmini artırma konusunda bir yenilik furyasını tetikledi ve Arbitrum bu alandaki en öne çıkan projelerden ve ekosistemlerden biri. Buna amiral gemisi Arbitrum One L2 zincirinin yanı sıra Arbitrum Nitro teknoloji yığını da dahildir.
Arbitrum Stylus, tüm bunların doğal bir uzantısıdır ve Arbitrum'un araç setindeki en yeni çözümdür. İşlemlerin işlemler arası verimliliğini optimize etmeye odaklanan önceki çözümlerle karşılaştırıldığında (toplamalar yoluyla işlemleri toplu olarak gruplamak gibi), Stylus işlem içi düzeyi, özellikle de her bir işlemin nasıl yürütüldüğünü optimize etmeye odaklanır. Sözleşmelerin WebAssembly'de (WASM) yürütülmesine izin veren Stylus sözleşmeleri çok daha hızlıdır, daha düşük gas ücretleri vaat eder ve aynı zamanda EVM'yi kullanmaktan 100-500 kat daha ucuz olabilen belleğe erişime sahiptir [2].
Stylus'un neden geleneksel bir EVM motorundan çok daha verimli ve şekillendirilebilir olduğunu anlamak için öncelikle WebAssembly veya WASM'nin rolünü anlamamız gerekiyor. WASM, bir montaj dili biçimidir; bu, Rust veya C++ gibi insan tarafından okunabilen dillerden ziyade, esas olarak makine tarafından okunabilen ikili kod olduğu anlamına gelir. Bunun yerine, insan tarafından okunabilen bu dillerin, çalıştırılmadan önce makine tarafından okunabilen "derleme dillerine" dönüştürülmesi için bir "derleyiciye" ihtiyacı vardır.
Özellikle WASM, adından da anlaşılacağı gibi, öncelikle Javascript tabanlı Web uygulamalarının yürütme hızını artırmak amacıyla web tarayıcıları için optimize edilmiş bir montaj dilidir. WASM, taşınabilir, modüler ve kolayca yürütülebilir bir montaj dili olarak, geliştiricilerin Rust veya C++ gibi çeşitli ana dillerde doğrudan kod parçacıkları yazmasına olanak tanır [3].
Arbitrum'un Nitro yükseltmesi ile zincirdeki tüm anlaşmazlıklar WASM'de oynandığından bu, Nitro'nun herhangi bir keyfi WASM için çalışan bir dolandırıcılık sistemine sahip olduğu anlamına gelir [2]. Arbitrum Nitro, herhangi bir WASM kodu için sahtekarlık kanıtı sunabildiğinden, bu, WASM'ye kadar derlenen herhangi bir program için sahtekarlık kanıtı sağlayabileceği anlamına gelir.
Arbitrum Stylus, Arbitrum Nitro'dan devralınan mevcut WASM dolandırıcılık kanıtlayıcının üzerine öncelikli olarak, Geth'in EVM bayt kodunu yürütmesinden çok daha hızlı kod yürüten, önde gelen WASM motorlarından biri olan Wasmer'ı temel alan bir WASM yürütme motoru ekler [2]. Hem yürütme motoru hem de kanıt motoruyla bu, akıllı sözleşmelerin WASM'de tamamen yazılmasını, yürütülmesini ve kanıtlanmasını sağlar. Rust ve C++ gibi birçok ana dilin doğrudan WASM'de derlenebildiği göz önüne alındığında, Arbitrum Stylus, blockchain geliştiricilerinin çok çeşitli ana akım genel amaçlı dillerde akıllı sözleşmeler yazmasına, dağıtmasına ve yürütmesine bu şekilde olanak tanıyor.
EVM'nin Stylus EVM+ ile karşılaştırılması. Kaynaktan görüntü [2].
Arbitrum Stylus, geliştiricilere, Solidity'de akıllı sözleşmeler yazma ve yürütme yeteneğinden ödün vermek zorunda kalmadan, Rust ve diğer WASM uyumlu dillerde sözleşme yazma konusunda ekstra seçenek sunar. EVM ve WASM'nin iki eşit yürütme motoruna sahip olan Stylus, geliştiricilere uygulamalarının bir kısmını Solidity'de, diğer kısmını da Rust'ta yazma seçeneği sunuyor.
Ancak bu durum şu soruyu gündeme getiriyor: Stylus VM iki farklı motor arasındaki tutarlılığı nasıl yönetiyor? EVM ile WASM VM arasında ne zaman geçiş yapılacağını nasıl biliyor?
İlk olarak, Solidity ve diğer EVM tabanlı sözleşmeler aynı bayt kodunda derlenir ve ardından normalde saf bir EVM motorunda olduğu gibi yürütülür. Örneğin Rust'ta yazılanlar gibi WASM tabanlı akıllı sözleşmeler, sözleşmenin başında fazladan bir "başlık" ile açıklanacaktır. Böylece, bu sözleşmeler çağrıldığında Stylus VM hangi sözleşmelerin EVM motorunu, hangi sözleşmelerin WASM motorunu gerektirdiğini söyleyebiliyor. Bu tasarım aynı zamanda WASM'de yazılan sözleşmelerin Solidity'de yazılan sözleşmelere çağrı yapabildiği ve bunun tersinin de geçerli olduğu büyük ölçüde birlikte çalışabilirliği de hesaba katıyor. Bu aynı zamanda Stylus'un WASM yürütme motorlarını benimseyen diğer blok zincirlerden farklı olduğu ana yöndür: Stylus, WASM sözleşmelerinin tamamen oluşturulabilir ve EVM sözleşmeleriyle birlikte çalışabilir olmasını sağlayarak geriye dönük uyumluluğa ve WASM sözleşmelerinin EVM likiditesinden yararlanmasına olanak tanır.
Stylus'un EVM ve WASM ikili motoruna bakmanın bir başka perspektifi, blok zincirini, EVM'de tanımlandığı gibi belirli durum işlemlerinden geçen bir "dünya durumu makinesi" olarak görmektir. Ethereum'da zincir üstü durum, verileri verimli bir şekilde depolamak ve almak için kullanılan bir Trie yapısı veya ağaç benzeri bir veri yapısı aracılığıyla temsil edilir [4]. Hem Stylus'un EVM hem de WASM motorları, "dünya durumu makinesine" veri okumak ve bu makineden veri yazmak için aynı Trie yapısını kullanır. Her iki motor da dünya durumunu güncellemek için belirli bir durum değişikliği üretir; tek fark bu durum değişimini nasıl hesapladıklarıdır.
Daha önce, WASM motorunu kullanmanın artan yürütme verimliliği nedeniyle önemli maliyet tasarruflarına olanak sağlayabileceğini zaten ima etmiştik. Artık bunun nasıl başarıldığını inceleyebiliriz. Bunu yapmak için, örneğin 2 + 3 için tek bir ADD komutunu ele alalım.
EVM'de aşağıdaki adımları uygulamamız gerekir [5]:
Yalnızca Adım 4'ün gerçekten bu iki tam sayının toplanmasını içerdiğini görebiliriz, halbuki diğer tüm adımlar, hesaplamanın kendisine göre fahiş miktarlarda gaza mal olan EVM sistemi içindeki "ortak talimatlardır".
Öte yandan bu basit ADD işlemi için WASM kullandığımızı varsayalım. Sadece bir adıma ihtiyacımız var:
EVM ADD ve WASM ADD'nin karşılaştırılması. Kaynaktan görüntü [7].
Burada bunun EVM eklentisinden 150 kat daha ucuz olduğunu görebiliyoruz. Tüm bu gaz tasarrufları göz önüne alındığında, Stylus VM, şu anda varsayılan olarak 1/10000 1 gaz olarak tanımlanan ve hatta zincir sahibi tarafından bile yapılandırılabilen, "mürekkep" adı verilen yeni bir "gaz" alt birimini bile piyasaya sürdü [5].
Ancak tüm bu gaz tasarruflarının bir uyarısı var: Şu anda sabit 114 milyon gaz oranına ayarlanmış Stylus VM'yi etkinleştirmek için ilk etapta gaz gerekiyor. Ek olarak, bir Stylus programının çağrılması şu anda yaklaşık 128-2048 gaz tüketmektedir [5]. Bu nedenle, WASM ortamını yalnızca iki tamsayı için tek bir ADD işlemini optimize etmek amacıyla etkinleştirmek ekonomik açıdan anlamlı olmayabilir. Bununla birlikte, yoğun bellek kullanan akıllı sözleşmeler için tüm bu tasarruflar birleşerek bu "etkinleştirme maliyetini" dengeleyecektir. Örneğin, EVM'de 3,8 MB RAM tahsis eden bir çağrı ~32 milyon gas'a mal olurken, Stylus WASM VM'de bu sadece ~64 bin gas'a mal olacak ve 500x tasarruf sağlayacaktır [6]. Bunun bir sonucu olarak, vanilya EVM'de yoğun bellek gerektiren uygulamaların mümkün olmaması, çünkü her türlü gaz limitiyle hızlı bir şekilde karşılaşılmasıdır. Bununla birlikte, WASM çalışma zamanı kullanıldığında RAM'in daha ucuz hale gelmesi nedeniyle bu, Stylus VM'de tamamen mümkün hale geliyor.
Yukarıda tartışıldığı gibi, Arbitrum Stylus'un en heyecan verici kısımlarından biri, zincir üzerinde yoğun bellek kullanan uygulamaları mümkün kılmasıdır. Bu, üretken yapay zeka NFT'leri, yüksek frekanslı ticaret ve zincir içi oyunlar gibi tamamen yeni bir uygulama sınıfının kilidini açar [7]. Gerçekten de Stylus VM, yüksek bellek talepleri ile bilinen yapay zekanın zincir üzerinde hesaplama açısından uygun olmasını ve EVM sözleşmeleriyle tamamen birlikte çalışabilmesini sağlayan dönüm noktası niteliğinde bir teknoloji olabilir.
Dahası, Stylus'un EVM uyumluluğu ve WASM tabanlı sözleşmelerin yerel Solidity sözleşmeleriyle birlikte çalışabilmesine izin verme yeteneği, bu WASM sözleşmelerinin EVM'deki büyük likidite ve kullanıcı tabanından tam anlamıyla yararlanabileceği anlamına geliyor. Solana ve Cosmos gibi birçok alternatif VM'nin akıllı sözleşmelerini yürütmek için Rust gibi WASM uyumlu dilleri kullandığından daha önce bahsettiğimizi hatırlayın. Stylus'un WASM motoru, bu alternatif VM'lerdeki geliştiricilerin sözleşmelerini kolayca EVM ekosistemine aktarabilecekleri ve EVM'nin likiditesinden anında yararlanabilecekleri anlamına geliyor.
Stylus'un, geliştiricilerin akıllı sözleşmelerini yazmak için Rust ve C++ gibi ana akım dilleri kullanmalarına izin vermesine olanak tanıyan bir diğer avantajı, geliştiricilerin, zincir içi hesaplamadan kriptografiye kadar her şeyi içeren bu ana dilleri destekleyen çok sayıda genel amaçlı kitaplıktan yararlanabilmesidir. G/Ç'yi dosyalayacak ilkel öğeler.
Daha da önemlisi, geliştiriciler bu ana diller için oluşturulmuş gelişmiş araç altyapısından yararlanabilirler. Bu yalnızca gelişmiş paket yöneticilerini değil aynı zamanda C/C++'daki GDB araç seti gibi tanıdık hata ayıklama altyapısını da içerir. Tüm bunlar muhtemelen web3'ün geliştirme aşinalığını büyük ölçüde artıracak ve blockchain geliştirme ve EVM yığınına çok daha basit bir katılım sürecine olanak tanıyacak.
WASM'nin artan yürütme verimliliğiyle Stylus VM, trafik ışıklarından akıllı buzdolaplarına ve akıllı saatlere kadar her şey dahil olmak üzere zincir üstü hesaplamayı Nesnelerin İnterneti'ndeki (IoT) taşınabilir cihazlarla entegre etmenin kapısını açabilir. WASM, başlangıçta tarayıcı ortamları için tasarlanmış olmasına rağmen, taşınabilir, modüler mimarisi ve verimli yürütülmesi, onu küçük ve verimli çalışma süreleri gerektiren IoT cihazları için mükemmel bir uyum haline getirmiştir [8].
Bu nedenle, Arbitrum Stylus'un WASM VM'si, Wi-Fi sistemlerinden güneş enerjisiyle çalışan pillere kadar fiziksel altyapıyı korumak için blockchain ağlarını ve yeni token teşviklerini kullanmayı amaçlayan Merkezi Olmayan Fiziksel Altyapı Ağlarının (DePIN) büyüyen eğilimine doğal bir uyum sağlıyor [9] . DePIN'in çoğu, blockchain yığınının IoT cihazlarıyla entegrasyonuna dayandığından, Arbitrum Stylus, bu cihazların hem WASM tabanlı hesaplamayı verimli bir şekilde çalıştırmasına hem de Arbitrum ekosistemi aracılığıyla EVM likiditesinden yararlanmasına olanak tanıyan önemli bir ağ geçidi görevi görebilir [10].
Bu makale boyunca Arbitrum'un motivasyonunu, uygulanmasını ve etkisini derinlemesine araştırdık. Kalem. Geliştiricilerin akıllı sözleşmeleri çok çeşitli ana dillerde yazmasına ve dağıtmasına olanak tanıyan Stylus, blockchain geliştirmeyi hem daha erişilebilir hem de verimli hale getiriyor; ana akım şekillendirilebilirliği EVM likiditesi ile birleştirerek, özellikle yoğun bellek kullananlar olmak üzere çok çeşitli yeni uygulamaların kilidini açıyor. Dolayısıyla Stylus'un, daha verimli, entegre ve performanslı bir blockchain geliştirme yığını oluşturmak için web2 ve web3 geliştirme arasındaki sınırları bulanıklaştırabilen bir platform haline gelerek, yeni nesil şekillendirilebilir akıllı sözleşmeleri tanımlamada dönüm noktası niteliğinde bir proje olduğu düşünülebilir.
Etherscan'de bytecode ile mücadele etmekten Solidity'deki her türlü kod istismarına karşı korumaya kadar, blockchain geliştirmenin EVM teknoloji yığını birçok geliştirici için web2 teknoloji yığınından oldukça farklıdır, dolayısıyla Solidity-EVM teknolojisi arasında bir "boşluk" yaratır. stack ve Rust, C++ veya Python gibi ana diller. Blockchain alanı olgunlaşmaya devam ettikçe, bu geliştirici açığını kapatmaya ve çok daha şekillendirilebilir bir web3 geliştirmeye izin vermeye büyük bir ihtiyaç var.
Bu yazıda, Stanford Blockchain Haftası sırasında Blockchain Uygulamaları Stanford Zirvesi (BASS) konferansında açıklanan Offchain Labs'in son projesi Arbitrum Stylus'u tanıtacağız. Arbitrum Stylus, EVM'nin yürütme ortamını WASM'ninkiyle birleştirerek akıllı sözleşme şekillendirilebilirliği için yeni bir standart oluşturmayı amaçlayan dönüm noktası niteliğinde bir projedir. İlk olarak, projenin bazı uygulama ayrıntılarına girmeden önce bu projenin arkasındaki bazı motivasyonları tartışacağız ve son olarak projenin web3 alanındaki etkisini tartışacağız.
Arbitrum Stylus, blockchain geliştirmedeki iki temel sorunu çözmek için geliştirildi: (1) blockchain geliştirmenin erişilebilirliği ve (2) akıllı sözleşmelerin uygulama verimliliği.
Electric Capital'in Geliştirici Raporu. Kaynaktan görüntü [1]. Erişim tarihi: 20 Ekim 2023.
Electric Capital'in Geliştirici Raporuna göre şu anda yaklaşık 20.000 aylık aktif blockchain geliştiricisi var [1]. Her ne kadar bu sayı son birkaç yılda büyük ölçüde artmış olsa da, Rust veya C++ gibi genel amaçlı dilleri ana akım haline getiren milyonlarca (veya on milyonlarca) geliştiricinin arkasında hala büyük bir miktar var. Blockchain alanı büyümeye devam ettikçe, milyonlarca yeni akıllı sözleşme geliştiricisinin katılımına yönelik süreci kolaylaştırma ihtiyacı da artıyor.
Bunu yapmanın en iyi yollarından biri akıllı sözleşme geliştirme sürecini Rust veya C++ gibi mevcut ana dillerle entegre etmektir. Bu, Solana ve Cosmos gibi EVM olmayan birçok ekosistemin benimsediği ve Rust'un bu ekosistemlerde fiili akıllı sözleşme dili olarak ortaya çıktığı yaklaşımdır. EVM ekosistemi şimdiye kadar akıllı sözleşmeler yazmak için öncelikle kendi farklı programlama dili Solidity'ye güveniyor. Ancak Arbitrum Stylus, blockchain geliştiricilerinin Rust gibi ana dillerde akıllı sözleşmeler yazmasına ve ardından EVM uyumlu zincirlere dağıtmasına izin vererek bunu değiştirmeyi hedefliyor.
Geçtiğimiz birkaç yılda, merkezi olmayan uygulamaların popülaritesinin artmasıyla birlikte, özellikle Ethereum ağında zincir üstü hesaplamaya yönelik talep önemli ölçüde arttı. Şebeke talebindeki bu artış, gaz fiyatlarının fahiş olmasına neden oldu. Bu da halka açık blockchainlerin işlem hacmini artırma konusunda bir yenilik furyasını tetikledi ve Arbitrum bu alandaki en öne çıkan projelerden ve ekosistemlerden biri. Buna amiral gemisi Arbitrum One L2 zincirinin yanı sıra Arbitrum Nitro teknoloji yığını da dahildir.
Arbitrum Stylus, tüm bunların doğal bir uzantısıdır ve Arbitrum'un araç setindeki en yeni çözümdür. İşlemlerin işlemler arası verimliliğini optimize etmeye odaklanan önceki çözümlerle karşılaştırıldığında (toplamalar yoluyla işlemleri toplu olarak gruplamak gibi), Stylus işlem içi düzeyi, özellikle de her bir işlemin nasıl yürütüldüğünü optimize etmeye odaklanır. Sözleşmelerin WebAssembly'de (WASM) yürütülmesine izin veren Stylus sözleşmeleri çok daha hızlıdır, daha düşük gas ücretleri vaat eder ve aynı zamanda EVM'yi kullanmaktan 100-500 kat daha ucuz olabilen belleğe erişime sahiptir [2].
Stylus'un neden geleneksel bir EVM motorundan çok daha verimli ve şekillendirilebilir olduğunu anlamak için öncelikle WebAssembly veya WASM'nin rolünü anlamamız gerekiyor. WASM, bir montaj dili biçimidir; bu, Rust veya C++ gibi insan tarafından okunabilen dillerden ziyade, esas olarak makine tarafından okunabilen ikili kod olduğu anlamına gelir. Bunun yerine, insan tarafından okunabilen bu dillerin, çalıştırılmadan önce makine tarafından okunabilen "derleme dillerine" dönüştürülmesi için bir "derleyiciye" ihtiyacı vardır.
Özellikle WASM, adından da anlaşılacağı gibi, öncelikle Javascript tabanlı Web uygulamalarının yürütme hızını artırmak amacıyla web tarayıcıları için optimize edilmiş bir montaj dilidir. WASM, taşınabilir, modüler ve kolayca yürütülebilir bir montaj dili olarak, geliştiricilerin Rust veya C++ gibi çeşitli ana dillerde doğrudan kod parçacıkları yazmasına olanak tanır [3].
Arbitrum'un Nitro yükseltmesi ile zincirdeki tüm anlaşmazlıklar WASM'de oynandığından bu, Nitro'nun herhangi bir keyfi WASM için çalışan bir dolandırıcılık sistemine sahip olduğu anlamına gelir [2]. Arbitrum Nitro, herhangi bir WASM kodu için sahtekarlık kanıtı sunabildiğinden, bu, WASM'ye kadar derlenen herhangi bir program için sahtekarlık kanıtı sağlayabileceği anlamına gelir.
Arbitrum Stylus, Arbitrum Nitro'dan devralınan mevcut WASM dolandırıcılık kanıtlayıcının üzerine öncelikli olarak, Geth'in EVM bayt kodunu yürütmesinden çok daha hızlı kod yürüten, önde gelen WASM motorlarından biri olan Wasmer'ı temel alan bir WASM yürütme motoru ekler [2]. Hem yürütme motoru hem de kanıt motoruyla bu, akıllı sözleşmelerin WASM'de tamamen yazılmasını, yürütülmesini ve kanıtlanmasını sağlar. Rust ve C++ gibi birçok ana dilin doğrudan WASM'de derlenebildiği göz önüne alındığında, Arbitrum Stylus, blockchain geliştiricilerinin çok çeşitli ana akım genel amaçlı dillerde akıllı sözleşmeler yazmasına, dağıtmasına ve yürütmesine bu şekilde olanak tanıyor.
EVM'nin Stylus EVM+ ile karşılaştırılması. Kaynaktan görüntü [2].
Arbitrum Stylus, geliştiricilere, Solidity'de akıllı sözleşmeler yazma ve yürütme yeteneğinden ödün vermek zorunda kalmadan, Rust ve diğer WASM uyumlu dillerde sözleşme yazma konusunda ekstra seçenek sunar. EVM ve WASM'nin iki eşit yürütme motoruna sahip olan Stylus, geliştiricilere uygulamalarının bir kısmını Solidity'de, diğer kısmını da Rust'ta yazma seçeneği sunuyor.
Ancak bu durum şu soruyu gündeme getiriyor: Stylus VM iki farklı motor arasındaki tutarlılığı nasıl yönetiyor? EVM ile WASM VM arasında ne zaman geçiş yapılacağını nasıl biliyor?
İlk olarak, Solidity ve diğer EVM tabanlı sözleşmeler aynı bayt kodunda derlenir ve ardından normalde saf bir EVM motorunda olduğu gibi yürütülür. Örneğin Rust'ta yazılanlar gibi WASM tabanlı akıllı sözleşmeler, sözleşmenin başında fazladan bir "başlık" ile açıklanacaktır. Böylece, bu sözleşmeler çağrıldığında Stylus VM hangi sözleşmelerin EVM motorunu, hangi sözleşmelerin WASM motorunu gerektirdiğini söyleyebiliyor. Bu tasarım aynı zamanda WASM'de yazılan sözleşmelerin Solidity'de yazılan sözleşmelere çağrı yapabildiği ve bunun tersinin de geçerli olduğu büyük ölçüde birlikte çalışabilirliği de hesaba katıyor. Bu aynı zamanda Stylus'un WASM yürütme motorlarını benimseyen diğer blok zincirlerden farklı olduğu ana yöndür: Stylus, WASM sözleşmelerinin tamamen oluşturulabilir ve EVM sözleşmeleriyle birlikte çalışabilir olmasını sağlayarak geriye dönük uyumluluğa ve WASM sözleşmelerinin EVM likiditesinden yararlanmasına olanak tanır.
Stylus'un EVM ve WASM ikili motoruna bakmanın bir başka perspektifi, blok zincirini, EVM'de tanımlandığı gibi belirli durum işlemlerinden geçen bir "dünya durumu makinesi" olarak görmektir. Ethereum'da zincir üstü durum, verileri verimli bir şekilde depolamak ve almak için kullanılan bir Trie yapısı veya ağaç benzeri bir veri yapısı aracılığıyla temsil edilir [4]. Hem Stylus'un EVM hem de WASM motorları, "dünya durumu makinesine" veri okumak ve bu makineden veri yazmak için aynı Trie yapısını kullanır. Her iki motor da dünya durumunu güncellemek için belirli bir durum değişikliği üretir; tek fark bu durum değişimini nasıl hesapladıklarıdır.
Daha önce, WASM motorunu kullanmanın artan yürütme verimliliği nedeniyle önemli maliyet tasarruflarına olanak sağlayabileceğini zaten ima etmiştik. Artık bunun nasıl başarıldığını inceleyebiliriz. Bunu yapmak için, örneğin 2 + 3 için tek bir ADD komutunu ele alalım.
EVM'de aşağıdaki adımları uygulamamız gerekir [5]:
Yalnızca Adım 4'ün gerçekten bu iki tam sayının toplanmasını içerdiğini görebiliriz, halbuki diğer tüm adımlar, hesaplamanın kendisine göre fahiş miktarlarda gaza mal olan EVM sistemi içindeki "ortak talimatlardır".
Öte yandan bu basit ADD işlemi için WASM kullandığımızı varsayalım. Sadece bir adıma ihtiyacımız var:
EVM ADD ve WASM ADD'nin karşılaştırılması. Kaynaktan görüntü [7].
Burada bunun EVM eklentisinden 150 kat daha ucuz olduğunu görebiliyoruz. Tüm bu gaz tasarrufları göz önüne alındığında, Stylus VM, şu anda varsayılan olarak 1/10000 1 gaz olarak tanımlanan ve hatta zincir sahibi tarafından bile yapılandırılabilen, "mürekkep" adı verilen yeni bir "gaz" alt birimini bile piyasaya sürdü [5].
Ancak tüm bu gaz tasarruflarının bir uyarısı var: Şu anda sabit 114 milyon gaz oranına ayarlanmış Stylus VM'yi etkinleştirmek için ilk etapta gaz gerekiyor. Ek olarak, bir Stylus programının çağrılması şu anda yaklaşık 128-2048 gaz tüketmektedir [5]. Bu nedenle, WASM ortamını yalnızca iki tamsayı için tek bir ADD işlemini optimize etmek amacıyla etkinleştirmek ekonomik açıdan anlamlı olmayabilir. Bununla birlikte, yoğun bellek kullanan akıllı sözleşmeler için tüm bu tasarruflar birleşerek bu "etkinleştirme maliyetini" dengeleyecektir. Örneğin, EVM'de 3,8 MB RAM tahsis eden bir çağrı ~32 milyon gas'a mal olurken, Stylus WASM VM'de bu sadece ~64 bin gas'a mal olacak ve 500x tasarruf sağlayacaktır [6]. Bunun bir sonucu olarak, vanilya EVM'de yoğun bellek gerektiren uygulamaların mümkün olmaması, çünkü her türlü gaz limitiyle hızlı bir şekilde karşılaşılmasıdır. Bununla birlikte, WASM çalışma zamanı kullanıldığında RAM'in daha ucuz hale gelmesi nedeniyle bu, Stylus VM'de tamamen mümkün hale geliyor.
Yukarıda tartışıldığı gibi, Arbitrum Stylus'un en heyecan verici kısımlarından biri, zincir üzerinde yoğun bellek kullanan uygulamaları mümkün kılmasıdır. Bu, üretken yapay zeka NFT'leri, yüksek frekanslı ticaret ve zincir içi oyunlar gibi tamamen yeni bir uygulama sınıfının kilidini açar [7]. Gerçekten de Stylus VM, yüksek bellek talepleri ile bilinen yapay zekanın zincir üzerinde hesaplama açısından uygun olmasını ve EVM sözleşmeleriyle tamamen birlikte çalışabilmesini sağlayan dönüm noktası niteliğinde bir teknoloji olabilir.
Dahası, Stylus'un EVM uyumluluğu ve WASM tabanlı sözleşmelerin yerel Solidity sözleşmeleriyle birlikte çalışabilmesine izin verme yeteneği, bu WASM sözleşmelerinin EVM'deki büyük likidite ve kullanıcı tabanından tam anlamıyla yararlanabileceği anlamına geliyor. Solana ve Cosmos gibi birçok alternatif VM'nin akıllı sözleşmelerini yürütmek için Rust gibi WASM uyumlu dilleri kullandığından daha önce bahsettiğimizi hatırlayın. Stylus'un WASM motoru, bu alternatif VM'lerdeki geliştiricilerin sözleşmelerini kolayca EVM ekosistemine aktarabilecekleri ve EVM'nin likiditesinden anında yararlanabilecekleri anlamına geliyor.
Stylus'un, geliştiricilerin akıllı sözleşmelerini yazmak için Rust ve C++ gibi ana akım dilleri kullanmalarına izin vermesine olanak tanıyan bir diğer avantajı, geliştiricilerin, zincir içi hesaplamadan kriptografiye kadar her şeyi içeren bu ana dilleri destekleyen çok sayıda genel amaçlı kitaplıktan yararlanabilmesidir. G/Ç'yi dosyalayacak ilkel öğeler.
Daha da önemlisi, geliştiriciler bu ana diller için oluşturulmuş gelişmiş araç altyapısından yararlanabilirler. Bu yalnızca gelişmiş paket yöneticilerini değil aynı zamanda C/C++'daki GDB araç seti gibi tanıdık hata ayıklama altyapısını da içerir. Tüm bunlar muhtemelen web3'ün geliştirme aşinalığını büyük ölçüde artıracak ve blockchain geliştirme ve EVM yığınına çok daha basit bir katılım sürecine olanak tanıyacak.
WASM'nin artan yürütme verimliliğiyle Stylus VM, trafik ışıklarından akıllı buzdolaplarına ve akıllı saatlere kadar her şey dahil olmak üzere zincir üstü hesaplamayı Nesnelerin İnterneti'ndeki (IoT) taşınabilir cihazlarla entegre etmenin kapısını açabilir. WASM, başlangıçta tarayıcı ortamları için tasarlanmış olmasına rağmen, taşınabilir, modüler mimarisi ve verimli yürütülmesi, onu küçük ve verimli çalışma süreleri gerektiren IoT cihazları için mükemmel bir uyum haline getirmiştir [8].
Bu nedenle, Arbitrum Stylus'un WASM VM'si, Wi-Fi sistemlerinden güneş enerjisiyle çalışan pillere kadar fiziksel altyapıyı korumak için blockchain ağlarını ve yeni token teşviklerini kullanmayı amaçlayan Merkezi Olmayan Fiziksel Altyapı Ağlarının (DePIN) büyüyen eğilimine doğal bir uyum sağlıyor [9] . DePIN'in çoğu, blockchain yığınının IoT cihazlarıyla entegrasyonuna dayandığından, Arbitrum Stylus, bu cihazların hem WASM tabanlı hesaplamayı verimli bir şekilde çalıştırmasına hem de Arbitrum ekosistemi aracılığıyla EVM likiditesinden yararlanmasına olanak tanıyan önemli bir ağ geçidi görevi görebilir [10].
Bu makale boyunca Arbitrum'un motivasyonunu, uygulanmasını ve etkisini derinlemesine araştırdık. Kalem. Geliştiricilerin akıllı sözleşmeleri çok çeşitli ana dillerde yazmasına ve dağıtmasına olanak tanıyan Stylus, blockchain geliştirmeyi hem daha erişilebilir hem de verimli hale getiriyor; ana akım şekillendirilebilirliği EVM likiditesi ile birleştirerek, özellikle yoğun bellek kullananlar olmak üzere çok çeşitli yeni uygulamaların kilidini açıyor. Dolayısıyla Stylus'un, daha verimli, entegre ve performanslı bir blockchain geliştirme yığını oluşturmak için web2 ve web3 geliştirme arasındaki sınırları bulanıklaştırabilen bir platform haline gelerek, yeni nesil şekillendirilebilir akıllı sözleşmeleri tanımlamada dönüm noktası niteliğinde bir proje olduğu düşünülebilir.