evm (Ethereum-Virtual-Machine) Hakkında Bilgi
Ethereum Sanal Makinesi (EVM), Ethereum blok zincirinde akıllı sözleşmeleri yürüten bir Turing-komplete, stack tabanlı sanal makinedir.
EVM, Ethereum'daki akıllı sözleşmeler için çalışma zamanı ortamıdır. Korumalı bir ortamdır, yani EVM içinde çalışan kod, doğrudan ağa, dosya sistemine veya ana makinedeki diğer işlemlere erişemez. Bu tasarım, kötü niyetli akıllı sözleşmelerin yaygın hasara yol açmasını engelleyerek güvenlik için çok önemlidir. EVM, yığına dayalı bir mimaride çalışır ve bayt kodu talimatlarını yürütür. Her Ethereum düğümü, EVM'nin bir örneğini çalıştırır ve tüm düğümlerin, akıllı bir sözleşmeyi içeren her işlemden sonra blok zincirinin durumu üzerinde hemfikir olmasını sağlar. Bu fikir birliği mekanizması, Ethereum'un çalışması için temeldir.
EVM'nin tasarımı, rastgele kodun yürütülmesine izin vererek Ethereum'u programlanabilir bir blok zinciri haline getirir. Geliştiriciler, daha sonra EVM bayt koduna derlenen Solidity gibi üst düzey dillerde akıllı sözleşmeler yazarlar. EVM'nin yürüttüğü şey bu bayt kodudur. EVM ayrıca hesap bakiyeleri, sözleşme kodu ve depolama dahil olmak üzere Ethereum durumunu yönetir. Akıllı sözleşmeler tarafından kullanılan hesaplama ve depolama kaynakları için ödeme yapmak için Gas kullanılır ve hizmet reddi saldırıları önlenir.
graph LR
Center["evm (Ethereum-Virtual-Machine) Hakkında Bilgi"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_smart_contracts["smart-contracts"]:::related -.-> Center
click Rel_smart_contracts "/terms/smart-contracts"
Rel_solidity["solidity"]:::related -.-> Center
click Rel_solidity "/terms/solidity"
Rel_zkevm_zero_knowledge_ethereum_virtual_machine["zkevm-zero-knowledge-ethereum-virtual-machine"]:::related -.-> Center
click Rel_zkevm_zero_knowledge_ethereum_virtual_machine "/terms/zkevm-zero-knowledge-ethereum-virtual-machine"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
EVM, [Ethereum](/tr/terms/ethereum) bilgisayarının içindeki motor gibidir. Akıllı sözleşmelerden gelen özel talimatları (baytkod) okur ve bir aşçının tarifi adım adım takip etmesi gibi işlemleri gerçekleştirir. Her adım, pişirme işleminin sonsuza dek sürmemesi için biraz 'gaz' parası gerektirir.
🤓 Expert Deep Dive
Ethereum Sanal Makinesi (EVM), akıllı sözleşmeler için tasarlanmış deterministik, yığın tabanlı bir yürütme ortamıdır. Temel işlevi, Ethereum ağı genelinde işlem çağrılarını ve durum geçişlerini işlemektir. EVM spesifikasyonu, bir dizi opcode, 256 bitlik kelime boyutu ve hesaplama çabasını ölçmek için bir gaz planlama mekanizması tanımlar. Determinizm esastır; aynı başlangıç durumuna sahip aynı bytecode'u yürüten her düğüm, aynı nihai duruma ulaşmalıdır. Bu, EVM'nin durum geçiş fonksiyonuna sıkı sıkıya bağlı kalınarak başarılır. Gaz mekanizması, kaynak kötüye kullanımını önlerken, özellikle işlem maliyetleri ve işlem hacmi sınırlamaları açısından dApp tasarımı ve kullanıcı deneyimini önemli ölçüde etkileyen ekonomik kısıtlamalar getirir. Mimari ödünleşimleri arasında, karmaşık hesaplamalar için yığın tabanlı bir mimarinin doğasında var olan sınırlamalar ve akıllı sözleşme yürütmesi için gaz verimliliğini optimize etme zorlukları yer alır. EVM'nin tasarım seçimleri, sonraki blockchain sanal makine tasarımlarını etkilemiş, ancak aynı zamanda daha yüksek performans ve daha düşük işlem ücretleri arayışını vurgulayarak Katman 2 çözümleri ve alternatif yürütme ortamları gibi yeniliklere yol açmıştır.