Kurz erklärt: Die EVM (Ethereum Virtual Machine) ist die Laufzeitumgebung, in der Smart Contracts auf der Ethereum-Blockchain ausgeführt werden. Sie wurde mit dem Start von Ethereum im Jahr 2015 eingeführt und dient als zustandsbasierte, deterministische Ausführungsschicht des Netzwerks.
Aufbau und Funktionsweise
Die EVM ist eine sogenannte stapelbasierte (stack-based) virtuelle Maschine, die Programmcode in Form von Bytecode ausführt. Smart Contracts werden üblicherweise in Hochsprachen wie Solidity oder Vyper geschrieben und anschliessend in EVM-Bytecode übersetzt. Jeder Knoten im Netzwerk führt denselben Code aus und gelangt zum selben Ergebnis; die EVM ist damit deterministisch und wird oft als Weltcomputer beschrieben.
- Opcodes: elementare Befehle, die Rechenoperationen, Speicherzugriffe und Zustandsänderungen ausführen.
- Zustand: Kontostände, Vertragscode und gespeicherte Daten bilden den globalen Zustand.
Gas als Ausführungskosten
Jede Operation der EVM kostet eine definierte Menge Gas. Gas begrenzt den Rechenaufwand einer Transaktion und schützt das Netzwerk vor Endlosschleifen und Überlastung. Der Nutzer zahlt die Gebühren in der Netzwerkwährung (bei Ethereum in Ether). Ist das zugewiesene Gas aufgebraucht, wird die Ausführung abgebrochen und der Zustand zurückgesetzt, die Gebühr bleibt jedoch fällig.
EVM-Kompatibilität und Verbreitung
Die EVM hat sich zu einem De-facto-Standard für programmierbare Blockchains entwickelt. Zahlreiche Netzwerke sind „EVM-kompatibel“, das heisst, sie führen dieselbe Bytecode-Umgebung aus und können bestehende Smart Contracts und Werkzeuge weitgehend übernehmen.
- Layer-1-Netzwerke: unter anderem BNB Smart Chain und Avalanche (C-Chain).
- Layer-2-Lösungen: Rollups wie Arbitrum, Optimism und Polygon.
Diese Kompatibilität erleichtert die Übertragung von Anwendungen und ist ein wesentlicher Grund für die weite Verbreitung EVM-basierter Ökosysteme. Standards wie ERC-20 und ERC-721 setzen ebenfalls auf der EVM auf.
Häufige Fragen
Wofür steht EVM?
EVM steht für Ethereum Virtual Machine. Es handelt sich um die virtuelle Maschine, die Smart Contracts auf Ethereum und EVM-kompatiblen Blockchains als Bytecode ausführt.
In welcher Sprache werden Programme für die EVM geschrieben?
Entwickler nutzen üblicherweise Hochsprachen wie Solidity oder Vyper. Der Code wird zu EVM-Bytecode kompiliert, den die virtuelle Maschine dann Opcode für Opcode ausführt.
Was bedeutet EVM-kompatibel?
EVM-kompatibel bedeutet, dass eine Blockchain dieselbe Ausführungsumgebung wie Ethereum bereitstellt. Bestehende Smart Contracts und Entwicklungswerkzeuge lassen sich dadurch mit geringem Aufwand übernehmen.
Warum kostet die Ausführung Gas?
Gas misst den Rechenaufwand jeder Operation und begrenzt ihn. So werden Endlosschleifen und Netzwerküberlastung verhindert. Der Nutzer bezahlt das verbrauchte Gas in der jeweiligen Netzwerkwährung.
Ist die EVM auf Ethereum beschränkt?
Nein. Die EVM wurde für Ethereum entwickelt, wird aber von vielen weiteren Layer-1- und Layer-2-Netzwerken übernommen, was sie zu einem verbreiteten Standard für programmierbare Blockchains macht.
Zusammenfassung
Die Ethereum Virtual Machine ist die deterministische Ausführungsschicht von Ethereum, die Smart Contracts als Bytecode verarbeitet und mit dem Start des Netzwerks 2015 eingeführt wurde. Jede Operation kostet Gas, das den Rechenaufwand begrenzt und das Netzwerk vor Überlastung schützt. Durch EVM-Kompatibilität zahlreicher Layer-1- und Layer-2-Netzwerke hat sich die EVM zu einem verbreiteten Standard für programmierbare Blockchains entwickelt.
Weiterführende Quellen
- Ethereum.org: Ethereum Virtual Machine (EVM): ethereum.org
- Wikipedia: Ethereum: de.wikipedia.org