Ethereum sanal makinesi (EVM) Nedir?
Ethereum sanal makinesi (EVM), akıllı sözleşmelerin ve merkeziyetsiz uygulamaların (dApp’ler) yürütülmesi için gerekli ortamı tasarlar. EVM, Ethereum ağı içerisinde hizmet veriyor olsa da kripto projelerin kendi çıkarlarına ve hedeflerine uygun şekillenebilir.
Yakın geçmişte ağ katılımcı sayısında Bitcoin’i geçerek büyük ölçüde talep gördüğünü ispatlayan Ethereum ağı, geliştiricilerin favori duraklarından birisidir. Ek bilgi olarak en çok merkeziyetsiz uygulamanın (dApps) barındığı zincir sağlayıcısını BNB Chain olduğunu belirtelim.
Ethereum sanal makinesi nedir?
Ethereum sanal makinesi, Ethereum blok zincirini yöneten ve akıllı sözleşme bağlantılarını sağlayan merkeziyetsiz bir hesaplama motorudur. Yeni bir blok oluşturulacağı zaman EVM aktif rol oynar ve ERC-20, ERC-721, ERC-777 ve ERC-1155 arasında hangi standardın belirleneceğine karar verir.
EVM nedir farklı açıdan özetleyecek olursak Ethereum’un yerel programlama dili olan Solidity veya diğer uyumlu herhangi bir dilde yazılmış kodların işlenmesinden ve yürütülmesinden sorumludur. Her kod öbeği EVM içerisinde bloğu temsil eder ve akıllı kontratta yapılan değişiklik sonrası otomatik olarak Ethereum sanal makinesinde yer alan blok da güncellenir.
İşlem ücretleri, EVM motorundaki düğümlerin ne kadar karmaşık ve yoğun olduğuna bağlı olarak değişir. Düşük komisyon oranları ile hızlı kripto transferleri gerçekleştirmek yalnızca ağın az yoğun olduğu senaryoda gerçekleşebilir.
EVM avantajları
Ethereum sanal makinesi, farklı sektördeki dApp’leri destekleyen en popüler ve yaygın olarak kullanılan VM’dir. Peki EVM’nin geliştiriciler ve blockchain işletmeleri için faydaları nelerdir?
- Turing bütünlüğü: Ethereum sanal makinesi, Bitcoin’in aksine Turing bütünlüğüne sahiptir. Anlamı, blok zincirindeki en karmaşık hesaplama türlerini dahi hesaplayabileceğidir. Turing bütünlüğü olmayan blok zincirlerinde bir işlemin sonsuz kez devam etmesi olasıdır ancak EVM, ağın ağırlaşmasını önleyecek altyapıya sahiptir.
- Blockchain desteği: EVM, bytecode tabanlı akıllı kontrat kullanan her blok zincirini destekler. EVM, geliştiricilerin çeşitli Katman-2 (Layer-2) ağlarına bağlanmasına da olanak tanır. Bu kolaylık, blok zincirleri arasında dApp’lerin taşınmasını kolaylaştırır.
- Hata payı: Oluşturulan bir düğümde hata yaşanması zincirleme sorunlara sebep olabilir. EVM, geliştiricilerin düğümlerini tekrardan kontrol etmesi ve güncellemesine izin vererek bu sorunu ortadan kaldırmıştır.
- Solidity: EVM, en popüler blok zinciri yazılım dili olan Solidity ile kodlanmıştır. Dünya genelinde yaygın ve eğitim çeşitliliğinin yüksek olması, yeni yazılımcıların dApp geliştirmelerini kolaylaştırır.
Ethereum virtual machine nedir makalemizi sonlandırmadan önce sıkla karşılaştırılan WebAssembly ile arasındaki farklara göz atalım.
EVM ve Ethereum WebAssembly (WASM) arasındaki farklar
İlk ana fark, WASM’ın EVM’den verimli olacak şekilde tasarlanmış olmasıdır. Yani kodu az enerji ile daha hızlı çalıştırabilir. Ayrıca WASM, kötü niyetli yazılımcıların güvenlik açıklarından faydalanmasını zorlaştıran bir dizi özellik ile EVM’den daha güvenli olacak şekilde tasarlanmıştır. Son olarak WASM, EVM gibi Turing bütünlüğü vardır ancak daha esnek ve akıllı sözleşmeler geliştirilmesi için desteklenen programlama dili sayısı yüksektir.