Önsöz: Ethereum EVM verimsiz, WebAssembly daha verimli bir yürütme katmanı getirebilir mi? Bu makalenin yazarı, medium.com kaynaklı ve blue fox note topluluğu "Xinxin" tarafından tercüme edilen Raul Jordan'dır.
2013'te önerilen Ethereum kavramı, blok zinciri teknolojisinin önemli bir uzantısı haline geldi ve onu P2P fonları için merkezi olmayan bir yerleşim katmanından program yürütme, uygulamalar ve programlanabilir varlıklar oluşturmak için güvenilir bir katmana dönüştürdü. Yepyeni bir dünya.
Kendini "küresel bir bilgisayar" olarak kavramsallaştıran Ethereum'un temel fikri çok basit ve anlaşılması kolaydır: Blok zinciri teknolojisinin güvenini en aza indirmenin doğal özellikleri, bilgisayar programlarının fikir birliği çıktısına uygulanır. Diğer bir deyişle, geliştiriciler, tamamen belirleyici olan "akıllı sözleşme" adı verilen kodu dağıtabilir ve çıktı, onunla etkileşimde olan tüm roller tarafından güvenilir olabilir.
Adil müzayedeler veya piyango biletleri oluşturmak için Ethereum akıllı sözleşmelerini kullanmak, tahmin pazarları oluşturmak, merkezi olmayan borsalar vb. Dahil olmak üzere başlangıçta çeşitli çok iyi fikirler öne sürüldü. Bu kullanım durumlarından en bilineni, şirketlerin ilk madeni para teklifleri yoluyla para toplamalarının popüler bir yolu olan Ethereum programlanabilir bir token oluşturulmasıdır.
Ethereum çekirdeği, tam bir Turing sanal makinesi olan Ethereum Sanal Makinesi'ni (kısaca EVM) uygular. Bir dizi genel ve deterministik talimatları tanımlar.Programlar bu talimatlara derlenebilir ve dünyadaki herhangi bir bilgisayarda çalıştırılabilir. EVM'de yürütülen her işlem ve program, Ethereum ağındaki her tam düğüm tarafından çalıştırılmalıdır, bu da bu "dünya bilgisayarının" spam saldırılarını önlemek için yerleşik bir mekanizmaya sahip olması gerektiği anlamına gelir. EVM, bu sorunu çözmek için, bu küresel bilgisayarda her temel işlemi yürütmek için tüketilmesi gereken ve ön ödemeli olması gereken "yakıt" olarak anlaşılabilecek gaz (gaz ücreti) kavramını uygulamaktadır.
(Ethereum'un blok oluşturmadan işlem yürütmeye kadar komple sistemi, StackExchange'den alıntı)
İşlem kodu için sabit bir ücret belirleyerek düğüm, kullanıcının belirli bir programı yürütmek için önceden ne kadar ödeme yapması gerektiğini belirleyebilir. Bu durumda gaz kavramı sadece kötü niyetli işgal saldırılarını önlemek için değil, aynı zamanda belirleyici bir göstergedir. Örneğin, X gazını tüketen bir program, ağdaki hangi düğüm onu çalıştırıyor olursa olsun, her zaman X tüketecektir. Gazın birim fiyatı, tüm platformun arz ve talebine bağlıdır ve genellikle Ethereum ağının işlem yüküyle birlikte değişir.
Bununla birlikte, gerçekten EVM programlarını çalıştıran bilgisayarların, akıllı sözleşmeleri yürütmek için 256 bit kelimeleri yerel mimarilerine ayırması gerekir, bu da tüm sistemi çok verimsiz ve kullanışsız hale getirir.
Ek olarak, Ethereum'da SHA256'ya benzer karmaşık bir algoritma uygulamak için temel OPCODES'i kullanmak istiyorsanız, kendiniz için dua edebilirsiniz! Ethereum, komut seti aracılığıyla karmaşık programların çalıştırılmasıyla üretilen yüksek gaz sorununu çözmek için, programı EVM'de derleyen ve sabit miktarda gaz tüketen ön derleme konseptini tanıttı. Ethereum hash algoritması dikkate değer bir ön derlemedir, çünkü algoritma sanal bir makinede uygulanırsa, sözleşme çağrıldığında son derece pahalı maliyetlere neden olur.
Ya yeni bir şartname ve talimat seti tanımlayabilirsek, bu karmaşık programları önceden derlememize gerek kalmaz, ancak yalnızca yüksek verimlilik elde etmek için temel talimatlara ihtiyaç duyarsak?
Web Montajına
WebAssembly, W3C tarafından geliştirilmiş verimli ve hafif bir komut seti standardıdır. Ağ ve yüksek performanslı bozucu olarak bilinir ve tarayıcılar arası yürütmeyi destekler. Bu, C / C ++, Go, Rust vb. Dahil olmak üzere farklı programlama dillerini birleşik bir standart formatta derleyebileceğimiz ve tarayıcıda neredeyse yerel kod verimliliğiyle çalıştırmak için JavaScript'in yerine kullanabileceğimiz anlamına gelir. WebAssembly veya kısaca WASM, bellek güvenlidir, platformdan bağımsızdır ve her tür CPU mimarisine mükemmel ve verimli bir şekilde eşlenebilir.
Bunun blockchain ile ne ilgisi var?
EVM'ye güvenmeden, artık çeşitli dil türlerini derleyebilen ve farklı platform türlerinde yürütülebileceğinden ve aynı performansa sahip olduğundan emin olan mükemmel ve verimli bir talimat setimiz var - bu, merkezi olmayan uygulamalar içindir. Bu çok ideal! Ayrıca, kayan noktalı aritmetik komutların kaldırılmasıyla, WASM komut seti, EVM'nin ikamesi olarak çok uygun olan, kolaylıkla deterministik bir komut seti haline gelebilir.
EWASM ekibi, Ethereum 2.0'ın yürütme katmanının daha verimli ve basit olmasını ve tam bir merkezi olmayan hesaplama platformu olarak uygun olmasını sağlamak için WebAssembly'ı Ethereum'a entegre etmeye başladı. https://github.com/ewasm
WASM, Dfinity ve EOS dahil olmak üzere diğer birçok proje tarafından bir standart olarak kabul edilmiştir.
Web performansının ve akıllı sözleşme platformu yürütme katmanının geleceği parlak. DApp'lerin yalnızca daha yüksek performansa sahip olmasının yanı sıra, WASM'nin entegrasyonu, eterde çalışmak için çeşitli sağlamlık ayrıntılarını öğrenmeye ihtiyaç duymak yerine, Rust ve Go gibi ana akım dillerin sağlamlığına aşina olanların akıllı sözleşmeler geliştirmesini de kolaylaştırabilir. Atölyede faydalı uygulamalar geliştirin.
Aslında, Parity-Ethereum'un öğreticisine göre WASM sözleşmelerini Ethereum'un Kovan test ağına yerleştirebilirsiniz: https://github.com/paritytech/pwasm-tutorial
WASM ve blockchain sanal makinelerinin en son geliştirme durumunu takip ettiğinizden emin olun - çünkü bu sadece başlangıç.
------ Risk uyarısı: Blue Fox Note'un tüm maddeleri yatırım tavsiyesi oluşturmaz Yatırım risklidir Yatırım kişisel risk toleransını dikkate almalıdır Projenin derinlemesine araştırılması ve kendi yatırım kararlarınızı dikkatlice almanız önerilir.