EVM (Ethereum-Virtual Machine) ist eine virtuelle Maschine
Die Ethereum Virtual Machine (EVM) ist eine Turing-komplette, stapelbasierte virtuelle Maschine, die intelligente Verträge auf der Ethereum-Blockchain ausführt.
Die EVM ist die Laufzeitumgebung für Smart Contracts in Ethereum. Sie ist eine sandboxed Umgebung, was bedeutet, dass Code, der innerhalb der EVM ausgeführt wird, nicht direkt auf das Netzwerk, das Dateisystem oder andere Prozesse auf dem Host-Rechner zugreifen kann. Dieses Design ist entscheidend für die Sicherheit und verhindert, dass bösartige Smart Contracts weitverbreiteten Schaden anrichten. Die EVM arbeitet auf einer stackbasierten Architektur und führt Bytecode-Anweisungen aus. Jeder Ethereum-Knoten führt eine Instanz der EVM aus, wodurch sichergestellt wird, dass sich alle Knoten über den Zustand der Blockchain nach jeder Transaktion, an der ein Smart Contract beteiligt ist, einig sind. Dieser Konsensmechanismus ist grundlegend für den Betrieb von Ethereum.
Das Design der EVM ermöglicht die Ausführung von beliebigem Code, wodurch Ethereum zu einer programmierbaren Blockchain wird. Entwickler schreiben Smart Contracts in Hochsprachen wie Solidity, die dann in EVM-Bytecode kompiliert werden. Dieser Bytecode wird von der EVM ausgeführt. Die EVM verwaltet auch den Ethereum-Zustand, einschließlich Kontostände, Vertragscode und Speicher. Gas wird verwendet, um für die Rechen- und Speicherressourcen zu bezahlen, die von Smart Contracts verwendet werden, wodurch Denial-of-Service-Angriffe verhindert werden.
graph LR
Center["EVM (Ethereum-Virtual Machine) ist eine virtuelle Maschine"]:::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;
🧠 Wissenstest
🧒 Erkläre es wie einem 5-Jährigen
Die EVM ist wie der Motor im [Ethereum](/de/terms/ethereum)-Computer. Sie liest spezielle Anweisungen (Bytecode) aus [Smart Contracts](/de/terms/smart-contracts) und führt die Aktionen aus, so wie ein Koch Schritt für Schritt einem Rezept folgt. Jeder Schritt kostet ein bisschen "Gas"-Geld, damit das Kochen nicht ewig dauert.
🤓 Expert Deep Dive
Die Ethereum Virtual Machine (EVM) ist eine deterministische, stack-basierte Ausführungsumgebung, die für Smart Contracts konzipiert ist. Ihre Kernfunktion besteht darin, Transaktionsaufrufe und Zustandsübergänge im Ethereum-Netzwerk zu verarbeiten. Die EVM-Spezifikation definiert eine Reihe von Opcodes, eine Wortgröße von 256 Bit und einen Gas-Scheduling-Mechanismus zur Messung des Rechenaufwands. Determinismus ist von größter Bedeutung; jeder Knoten, der denselben Bytecode mit demselben Anfangszustand ausführt, muss zum identischen Endzustand gelangen. Dies wird durch eine strikte Einhaltung der Zustandsübergangsfunktion der EVM erreicht. Der Gasmechanismus verhindert zwar den Missbrauch von Ressourcen, führt aber wirtschaftliche Einschränkungen ein, die das dApp-Design und die Benutzererfahrung erheblich beeinflussen, insbesondere im Hinblick auf Transaktionskosten und Durchsatzbeschränkungen. Architektonische Kompromisse umfassen die inhärenten Einschränkungen einer Stack-basierten Architektur für komplexe Berechnungen und die Herausforderungen bei der Optimierung der Gaseffizienz für die Ausführung von Smart Contracts. Die Designentscheidungen der EVM haben nachfolgende Blockchain-Virtual-Machine-Designs beeinflusst, unterstreichen aber auch die fortwährende Suche nach höherer Leistung und niedrigeren Transaktionsgebühren, was zu Innovationen wie Layer-2-Lösungen und alternativen Ausführungsumgebungen geführt hat.