Glossar
Blockchain-Infrastruktur

Virtuelle Maschine (VM)

Eine virtuelle Maschine ist in der Blockchain die standardisierte Ausführungsumgebung, die jeder Node ausführt, um Smart Contracts identisch zu verarbeiten – ein softwaredefinierter Computer, dessen Verhalten so präzise spezifiziert ist, dass Tausende unabhängige Maschinen auf unterschiedlicher Hardware und mit unterschiedlichen Betriebssystemen aus denselben Transaktionen exakt dieselben Ergebnisse berechnen. Dieser Determinismus ermöglicht es einem dezentralen Netzwerk, sich auf das Ergebnis der Ausführung beliebigen Codes zu einigen.

Die Blockchain-VM ist im Vergleich zu einem Universalrechner bewusst eingeschränkt: Sie läuft in einer Sandbox (Contracts können nicht auf den Host-Rechner, Dateien oder das Internet zugreifen), sie rechnet nach Verbrauch ab (jede Anweisung kostet Gas, was Endlosschleifen und Spam verhindert) und sie ist deterministisch (keine Zufallszahlen oder Uhrzeitabfragen, die sich zwischen Nodes unterscheiden könnten). Contract-Code wird in den Bytecode der VM kompiliert und On-Chain gespeichert; ruft eine Transaktion den Contract auf, führt die VM jedes Nodes diesen Bytecode aus und wendet dieselben Zustandsänderungen an. Die Ethereum Virtual Machine (EVM) ist mit Abstand die am weitesten verbreitete, so sehr, dass viele konkurrierende Chains sie aus Kompatibilitätsgründen implementieren – doch es gibt Alternativen: Solana betreibt eine VM auf Basis von eBPF, die aus Rust kompilierte Programme ausführt, und mehrere neuere Chains nutzen WebAssembly-basierte VMs oder die VM der Sprache Move (Aptos, Sui), die auf einen sichereren Umgang mit Assets ausgelegt ist.

Ein verbreiteter Irrtum ist, die virtuelle Maschine sei ein einzelner Computer, der irgendwo läuft; sie ist eine Spezifikation, die von jedem validierenden Node lokal und redundant ausgeführt wird, und genau diese Redundanz – alle führen alles erneut aus – ist der Grund, warum On-Chain-Berechnung teuer ist und warum Skalierungsdesigns wie Rollups versuchen, die Ausführung einmal zu beweisen, statt sie überall zu wiederholen.

Verwandte Begriffe