Eine Blockchain-Virtual-Machine ist eine softwaredefinierte Ausführungsumgebung, die Smart-Contract-Anweisungen nach den gemeinsamen Regeln eines Netzwerks ausführt. Sie übersetzt bereitgestellten Bytecode und Transaktionseingaben in deterministische Zustandsänderungen, sodass unabhängige Nodes dieselben Guthaben, Speicherwerte, Logs und Erfolgs- oder Fehlerergebnisse berechnen können, ohne einem zentralen Computer vertrauen zu müssen.

Die virtuelle Maschine schafft eine kontrollierte Grenze zwischen Anwendungscode und dem physischen Betriebssystem des Validators. Sie definiert verfügbare Anweisungen, Speicherverhalten, Storage-Zugriff, Ressourcengrenzen und Fehlerbehandlung. Eine VM entscheidet nicht selbst, welcher Block kanonisch wird. Der Konsens ordnet Transaktionen und finalisiert sie, während die VM die geordnete Arbeit ausführt und gemäß den Protokollregeln einen neuen Zustand zurückgibt.

Was ist eine Blockchain-Virtual-Machine?

Eine Blockchain-Virtual-Machine ist die Ausführungsumgebung, die Smart Contracts und andere Onchain-Programme ausführt. Entwickler schreiben Code in unterstützten Programmiersprachen, kompilieren ihn in ein Format, das die virtuelle Maschine ausführen kann, und stellen ihn auf der Blockchain bereit. Wenn eine Transaktion mit diesem Programm interagiert, führen Netzwerkknoten dieselben Anweisungen gemäß den Regeln der Blockchain aus.

Das Wort virtuell bedeutet, dass die Ausführungsumgebung durch Software definiert ist und nicht an einen bestimmten physischen Computer oder ein Betriebssystem gebunden ist. Beispiele sind die Ethereum Virtual Machine (EVM) und die Solana Virtual Machine (SVM). Verschiedene Blockchain-VMs können unterschiedliche Programmiersprachen, Kontomodelle, Gebührensysteme und Ausführungsmethoden verwenden, doch jede bietet eine konsistente Umgebung für die Verarbeitung von Anwendungslogik im gesamten Netzwerk.

Wie funktioniert eine Blockchain-Virtual-Machine?

Eine Blockchain-VM empfängt eine geordnete Transaktion, lädt den referenzierten Konto- oder Vertragszustand und führt Bytecode Anweisung für Anweisung oder über eine äquivalente kompilierte Darstellung aus. Jeder Opcode erfüllt eine definierte Aufgabe wie Arithmetik, Speicherzugriff, Storage-Zugriff, kryptografische Berechnung, Protokollierung oder den Aufruf eines anderen Vertrags. Die Laufzeitumgebung verfolgt den Ressourcenverbrauch und beendet die Ausführung, wenn die Transaktion abgeschlossen ist, zurückgesetzt wird oder ein Limit überschreitet.

Wenn die Ausführung gelingt, erzeugt der Node eine vorgeschlagene Menge von Zustandsänderungen und Belegen. Andere validierende Nodes wiederholen denselben Übergang und vergleichen ihn mit den Blockregeln. Determinismus verlangt, dass die VM Quellen lokaler Abweichung wie Systemzeit, Zufallseingaben von Geräten oder beliebige Internetanfragen einschränkt. Externe Informationen gelangen normalerweise über signierte Transaktionen oder Oracle-Mechanismen hinein, nicht über direkten Webzugriff aus einem Vertrag. Dieser Replay-Prozess ermöglicht es Nodes außerdem, historische Ausführungen anhand von Protokolldaten zu überprüfen.

Was sind die wichtigsten Vorteile und Anwendungsfälle von Blockchain-VMs?

Eine geteilte VM ermöglicht es vielen Anwendungen, dieselben Ausführungsregeln, Sicherheitsprüfungen, Entwicklertools und dasselbe Composability-Modell zu nutzen. Die nützliche Eigenschaft ist die reproduzierbare Ausführung über unabhängige Nodes hinweg, nicht allein, dass Programme in einer Sandbox laufen.

1. Deterministische Ausführung unterstützt die Verifikation. Jeder konforme Node kann eine Transaktion unabhängig erneut ausführen und den resultierenden Zustand bestätigen, sodass Nutzer das Vertragsverhalten überprüfen können, ohne auf den privaten Server einer einzelnen Anwendung angewiesen zu sein.

2. Sandboxing begrenzt den direkten Systemzugriff. Vertragscode erhält einen definierten Befehlssatz und kontrollierte Schnittstellen statt uneingeschränkten Zugriff auf Dateien, Prozesse, Speicher oder externe Netzwerke des Validators.

3. Ressourcenmessung schützt die gemeinsame Kapazität. Die Abrechnung über Gas oder Compute Units verrechnet Arbeit und setzt Grenzen für die Ausführung, wodurch eine einzelne Transaktion nicht unbegrenzt Validator-Ressourcen verbrauchen kann.

4. Gemeinsame Semantik verbessert die Composability. Verträge, die für Token, Börsen, Kreditvergabe, Identität, Gaming und Governance bereitgestellt wurden, können kompatible Verträge aufrufen und standardisierte Daten innerhalb einer Ausführungsumgebung austauschen.

Was sind Beispiele für Blockchain-Virtual-Machines?

Blockchain-VMs treffen unterschiedliche Entscheidungen in Bezug auf Bytecode, Zustandsorganisation, Parallelität, Sprachen und Kompatibilität. Ein Netzwerk kann außerdem eine VM anpassen und gleichzeitig Konsens oder Settlement ändern, sodass der Name der Laufzeitumgebung nicht die gesamte Architektur beschreibt.

• Ethereum Virtual Machine (EVM). Die EVM führt stackbasierten Bytecode für Ethereum-Smart-Contracts aus, misst Operationen mit Gas und ist zu einem Kompatibilitätsziel für viele unabhängige Netzwerke und Rollups geworden.

• Solana Virtual Machine (SVM). Die SVM führt sBPF-Programme gegen separat bereitgestellte Konten aus und unterstützt parallele Planung, wenn Transaktionen keinen konfliktären beschreibbaren Zustand anfordern.

• WebAssembly-basierte Laufzeitumgebungen. Netzwerke, darunter Teile der Polkadot- und Cosmos-Ökosysteme, nutzen oder unterstützen von WebAssembly abgeleitete Ausführung, um von etablierten Compiler-Tools und mehreren Quellsprachen zu profitieren.

• Move-Virtual-Machines. Aptos und Sui nutzen Move-basierte Ausführungsumgebungen, die um ressourcenorientierte Assets herum aufgebaut sind, obwohl ihre Objekt-, Konto-, Konsens- und Parallelausführungsdesigns nicht identisch sind.

Was sind die Grenzen und Risiken von Blockchain-VMs?

Eine VM beschränkt die Ausführung, kann aber unsichere Vertragslogik nicht korrigieren. Ihre Spezifikation, Client-Implementierungen, Gas-Schedule, Upgrade-Prozess und das umgebende Zustandsmodell können jeweils Sicherheits- oder Kompatibilitätsrisiken erzeugen.

1. Vertragsfehler bleiben durchsetzbarer Code. Eine VM führt fehlerhafte Autorisierungs-, Abrechnungs-, Upgrade- oder Oracle-Logik getreu aus, wodurch ein Entwicklerfehler zu einem irreversiblen Verlust oder einem blockierten Anwendungszustand werden kann.

2. Determinismus schränkt gewöhnliche Softwarefunktionen ein. Verträge können nicht frei Websites lesen, lokale Betriebssystemdienste aufrufen oder vertrauenswürdige Zufälligkeit erzeugen, sodass Anwendungen auf sorgfältig entworfene Oracle- und kryptografische Mechanismen angewiesen sind.

3. Messregeln können die Ökonomie verändern. Protokoll-Upgrades können Anweisungen neu bepreisen oder neue Limits einführen, was Vertragskosten beeinflusst und Anwendungen Risiken aussetzt, die annahmen, eine Operation würde günstig bleiben.

4. Client-Divergenz kann den Konsens gefährden. Wenn zwei Implementierungen einen Grenzfall unterschiedlich interpretieren, können Nodes konfliktäre State Roots berechnen, weshalb Tests und präzise Spezifikationen für die Netzwerksicherheit unerlässlich sind.

Wie unterscheidet sich eine virtuelle Maschine von einem Blockchain-Node?

Eine virtuelle Maschine ist die Komponente, die Ausführungsregeln anwendet, während ein Blockchain-Node das umfassendere Softwaresystem ist, das mit Peers kommuniziert, Blöcke und Transaktionen empfängt, Ledger-Daten speichert, den Konsens verifiziert und RPC-Schnittstellen bereitstellen kann. Ein Node bettet eine VM normalerweise ein oder ruft sie auf, erfüllt aber auch viele Aufgaben außerhalb der Vertragsausführung. Die Unterscheidung ist wichtig, weil eine höhere VM-Geschwindigkeit nicht automatisch Netzwerk, Konsens, Speicher oder Datenverfügbarkeit verbessert.

Verwandte Konzepte

1. Was ist ein Smart Contract?

2. Was ist Gas?

3. Was ist ein Node?

4. Was ist Bytecode?

Weiterführende Literatur

1. Die Ethereum Virtual Machine: Wie sie Smart Contracts und dezentrale Anwendungen antreibt

2. Was ist ein Smart Contract? Ein Fundament der Blockchain-Welt

3. Was sind die führenden Solana Virtual Machine (SVM)-Projekte 2025?

4. Was ist Eclipse (ES), das erste SVM-basierte Layer 2 auf Ethereum?