Ethereum Virtual Machine (EVM) Börsenlexikon Vorheriger Begriff: EthereumMax (EMAX) Nächster Begriff: Etherscan

Eine dezentrale Laufzeitumgebung auf der Ethereum-Blockchain, die Smart Contracts ausführt und ermöglicht, dass programmierbare Transaktionen automatisch und vertrauenslos verarbeitet werden

Die Ethereum Virtual Machine (EVM) ist die zentrale Ausführungsumgebung für Smart Contracts im Ethereum-Netzwerk. Sie definiert, wie der Ethereum-Blockchain-Zustand durch Transaktionen verändert wird, und stellt dabei eine standardisierte, deterministische Plattform bereit, auf der alle Nodes identische Ergebnisse erzielen.

Grundprinzip

Die EVM ist eine stapelbasierte virtuelle Maschine, die Bytecode ausführt. Jeder Smart Contract wird in einer Programmiersprache wie Solidity oder Vyper geschrieben, in EVM-Bytecode kompiliert und dann auf der Blockchain gespeichert. Bei der Ausführung liest die EVM diesen Bytecode und führt ihn Schritt für Schritt aus, wobei sie strikt die Ethereum-Protokollregeln befolgt.

Architektur und Funktionsweise

  1. Stack-basiert – Die EVM arbeitet ohne Register, sondern mit einem Stack, auf den Operanden gelegt und von dem Ergebnisse entnommen werden.

  2. Speicherarten:

    • Stack: kurzlebiger Speicher für aktuelle Berechnungen.

    • Memory: flüchtiger Arbeitsspeicher, der nur während einer Transaktion existiert.

    • Storage: dauerhafter Speicher im Blockchain-Zustand, spezifisch für jeden Contract. Änderungen hier sind kostspielig in Gas.

  3. Gas-Mechanismus: Jede Operation in der EVM hat einen festgelegten Gaspreis. Dies verhindert Endlosschleifen und missbräuchliche Ressourcenbeanspruchung.

  4. Determinismus: Gleiche Eingaben müssen bei allen Nodes zu identischen Ergebnissen führen, um Konsens im Netzwerk sicherzustellen.

Instruktionssatz (Opcodes)

Die EVM besitzt einen definierten Satz an Opcodes, z. B.:

  • ADD, MUL, SUB – arithmetische Operationen

  • SLOAD, SSTORE – Zugriff auf persistenten Contract-Speicher

  • CALL, DELEGATECALL – Aufruf anderer Contracts

  • LOG – Erzeugen von Events

  • STOP, RETURN, REVERT – Steuerung des Programmablaufs

Diese Opcodes werden beim Kompilieren von Hochsprachen in Bytecode umgesetzt.

Gas-Kostenmodell

Jede Instruktion hat feste Gas-Kosten. Der Gasverbrauch einer Transaktion ergibt sich aus:

$$ \text{Gesamtkosten in ETH} = \text{Gasverbrauch} \times \text{Gaspreis (in ETH)} $$

Ein Teil der Gebühren wird seit EIP-1559 verbrannt (Base Fee), während ein optionaler Tip (Priority Fee) an Validatoren geht.

Sicherheit und Isolation

Die EVM ist Turing-vollständig, kann also jede berechenbare Funktion ausführen, sofern genügend Gas zur Verfügung steht. Sie ist zudem isoliert: Smart Contracts können nicht direkt auf das Dateisystem des ausführenden Knotens zugreifen und keine externen Netzwerkverbindungen aufbauen – alle Interaktionen laufen über Transaktionen und Nachrichten zwischen Contracts.

Rolle im Ethereum-Ökosystem

  • Ausführungsschicht: Die EVM ist Teil des Execution Layers von Ethereum.

  • Kompatibilität: Zahlreiche andere Blockchains und Layer-2-Lösungen (z. B. Polygon, Arbitrum, Optimism, BNB Chain) implementieren eine EVM-kompatible Ausführungsumgebung, um bestehende Ethereum-Smart-Contracts unverändert betreiben zu können.

  • Entwicklerfreundlichkeit: Durch EVM-Kompatibilität können Entwickler Tools wie Hardhat, Truffle oder Remix auf verschiedenen Netzwerken nutzen.

Einschränkungen

  • Leistung: Die EVM ist nicht auf Hochgeschwindigkeit optimiert, da jede Operation von allen Nodes verifiziert werden muss.

  • Speicherkosten: Persistenter Speicher ist teuer, um inflationäres Anwachsen der Blockchain zu verhindern.

  • Keine native Parallelisierung: Transaktionen werden sequentiell verarbeitet, was die Durchsatzrate begrenzt.

Fazit

Die Ethereum Virtual Machine ist das Herzstück der Ethereum-Architektur und macht das Netzwerk programmierbar. Sie bietet eine standardisierte, sichere und deterministische Umgebung für Smart Contracts, ist jedoch in ihrer Effizienz bewusst limitiert, um Konsens und Sicherheit zu gewährleisten. Ihre weite Verbreitung als „EVM-Kompatibilität“ hat maßgeblich dazu beigetragen, dass Ethereum-Entwicklungswerkzeuge und -Anwendungen auch auf anderen Blockchains genutzt werden können.