Anfängerhandbuch zur Ethereum Virtual Machine (EVM)

Die Ethereum Virtual Machine (EVM) ist die zentrale Komponente des Ethereum-Netzwerks, einer Open-Source-Plattform, die die Blockchain-Technologielandschaft komplett verändert hat. Auch wenn EVM nur für das Ethereum-Netzwerk nützlich ist, geht ihre Bedeutung über die des Netzwerks selbst hinaus. Die meisten Blockchain-Netzwerke streben heutzutage danach, EVM-kompatibel zu sein, was teilweise auf den großen Marktanteil von Ethereum in der Entwickler- und dApp-Community zurückzuführen ist.

In diesem Artikel untersuchen wir die grundlegenden Ideen hinter dem EVM, seine Funktionen, seine Rolle im Ethereum-Ökosystem und was die Zukunft für das EVM bereithält.

Was ist die Ethereum Virtual Machine (EVM)?

Die Ethereum Virtual Machine (EVM) ist eine dezentrale, Turing-vollständige virtuelle Maschine, die als Laufzeitumgebung für Smart Contracts auf der Ethereum-Blockchain fungiert. Sie dient als Ausführungsplattform für diese Smart Contracts und ermöglicht ihnen, im Ethereum-Netzwerk zu laufen und mit diesem zu interagieren. Die EVM ist als Sandbox-Umgebung konzipiert, die sicherstellt, dass die Ausführung von Smart Contracts sicher, deterministisch und vom zugrunde liegenden Netzwerk isoliert ist.
 

Das EVM spielt zusammen mit der nativen Programmiersprache Solidity eine entscheidende Rolle dabei, die Entwickler-Community für Ethereum zu gewinnen. Die Flexibilität der Plattform, die umfangreichen Entwicklertools und die große Benutzerbasis tragen zusätzlich dazu bei, dass sie für Entwickler dezentraler Anwendungen (DApps) attraktiv ist.

Über seine Kernfunktionen hinaus behält die EVM Zugriff auf alle Netzwerkknoten, verwaltet die Ausführung von Smart Contracts und überwacht Transaktionen auf der Ethereum-Blockchain. Dies macht die EVM zu einer der leistungsfähigsten virtuellen Maschinen von heute.

Ursprung der Ethereum Virtual Machine (EVM)

Das 2013 vom Programmierer Vitalik Buterin eingeführte Ethereum-Netzwerk verdankt seinen Erfolg zu einem großen Teil der Ethereum Virtual Machine (EVM). Die EVM wurde von Gavin Wood während seiner Zeit bei Ethereum entwickelt, ist in C++ geschrieben und verwendet den LLVM-Projekt-Compiler. Sie arbeitet kontinuierlich als spezielle Zustandsmaschine und bestimmt den Zustand jedes Blocks in der Ethereum-Blockchain durch unveränderliche Operationen.

Die EVM steuert Knotenaktionen im verteilten Hauptbuch und definiert die Regeln für Statusänderungen von Block zu Block, wodurch die Smart-Contract-Funktionalität ermöglicht wird, für die Ethereum bekannt ist. 

Die Rolle von EVM besteht darin, Smart-Contract-Codes auszuführen, die in Sprachen wie Solidity geschrieben sind, indem eine Sammlung von 140 Standard-Opcodes verwendet und verschiedene Blockchain-spezifische Stapeloperationen implementiert werden.

Hauptmerkmale der Ethereum Virtual Machine

Die Ethereum Virtual Machine ist eine grundlegende Komponente der Ethereum-Blockchain und umfasst mehrere wichtige Features und Funktionen:

  • Dezentrale Ausführung:

Der Betrieb auf einem dezentralisierten Netzwerk von Knoten stellt sicher, dass keine einzelne Entität die Vorgänge kontrolliert, was mit der vertrauenslosen und zensurresistenten Natur der Ethereum-Blockchain im Einklang steht.

  • Opcode-System

Das EVM verwendet ein Opcode-System, um bestimmte Aktionen während der Codeausführung zu definieren. Opcodes sind die grundlegenden Komponenten von EVM-Anweisungen und umfassen Rechenoperationen, Datenspeicherung und -abruf, bedingte Anweisungen, Vertragsinteraktion und verschiedene andere Funktionen. 

Smart Contracts, die ursprünglich von Entwicklern in höheren Programmiersprachen geschrieben wurden, werden in eine für das EVM verständliche Opcode-Sequenz kompiliert, was die Ausführung erleichtert.

  • Intelligente Vertragsausführung

Smart Contracts sind autonome Programme, die Vertragsbedingungen durchsetzen oder unter vordefinierten Bedingungen bestimmte Aktionen ausführen.

Die Ethereum Virtual Machine (EVM) wurde speziell für diese Smart Contracts entwickelt und ist in der Regel in höheren Programmiersprachen wie Solidity geschrieben. Entwickler wandeln ihren Code in Bytecode um, eine für die EVM verständliche Low-Level-Sprache.

Ein Smart Contract wird unveränderlich, sobald er auf der Ethereum-Blockchain bereitgestellt wird, was bedeutet, dass sein Code und seine Funktionalität unverändert bleiben. Die EVM setzt die eingebettete Logik und die Regeln des Smart Contracts rigoros durch, wobei seine Ausführung auf der öffentlichen Blockchain transparent überprüfbar ist.
 

  • Deterministische Ausführung

Die Ethereum Virtual Machine (EVM) garantiert eine deterministische Ausführung und stellt sicher, dass bei identischer Eingabe und identischem Anfangszustand jeder Knoten im Ethereum-Netzwerk bei der Ausführung einer Transaktion oder eines Smart Contracts genau das gleiche Ergebnis liefert. 

Dieser Determinismus ist entscheidend für die Herstellung eines Konsenses zwischen allen Knoten und stellt eine einheitliche Übereinstimmung über den Zustand der Blockchain sicher. Durch die Aufrechterhaltung einer deterministischen Ausführung werden Vertrauen und Zuverlässigkeit gestärkt und eine konsensorientierte Umgebung für alle Netzwerkteilnehmer gefördert.
 

  • Turing-Vollständigkeit

Die Fähigkeit der EVM, jede algorithmisch ausdrückbare Berechnung durchzuführen, bietet Entwicklern erhebliche Flexibilität bei der Erstellung komplexer Algorithmen und innovativer Blockchain-Lösungen. Mit dieser Funktion ist sie einfacheren, nicht Turing-vollständigen Blockchains voraus.

Das Erreichen der Turing-Vollständigkeit bringt gewisse Herausforderungen mit sich, wobei das Risiko von Endlosschleifen ein besonderes Problem darstellt. Das Gassystem ist jedoch ein mildernder Faktor für diese Herausforderung.
 

  • Gasanlage

Gas stellt die Kosten der Rechenressourcen dar, die zum Abschließen einer Transaktion oder Ausführen eines Smart Contracts erforderlich sind.

Das EVM verwendet ein Gassystem, um die Ressourcenzuweisung effizient zu verwalten und sicherzustellen, dass die Benutzer für die von ihnen genutzten Ressourcen bezahlen.

Das Gassystem hat zwei Ziele: Spam und Netzwerkmissbrauch zu verhindern, indem Kosten auf den Ressourcenverbrauch erhoben werden, und Miner und Knoten zu motivieren, Transaktionen abzuwickeln, indem Transaktionsgebühren in Gas bereitgestellt werden.

  • Isolation und Sicherheit

Jeder Smart Contract wird in seiner zugewiesenen „Sandbox“ ausgeführt. Dadurch wird sichergestellt, dass die Aktionen oder Bedingungen eines Vertrags den Status oder die Vorgänge anderer Verträge nicht stören.

Das Erzwingen der Codeausführung in einer sicheren, isolierten Umgebung erhöht die Sicherheit, indem potenzielle Schwachstellen in einzelnen Smart Contracts eingedämmt werden. 

Die Gesamtintegrität des Ethereum-Netzwerks bleibt selbst im Falle eines Fehlers oder einer Kompromittierung eines einzelnen Vertrags unberührt.

  • Stapelbasierte Ausführung

Die EVM verwendet ein stapelbasiertes Ausführungsmodell, das Daten und Operanden auf einen Stapel schiebt und Operationen durch Auslesen von Werten aus dem Stapel ausführt. Dadurch wird eine effiziente und vorhersehbare Codeausführung gewährleistet. 

  • Globale Berechnung

Durch die Nutzung der kombinierten Rechenleistung aller beteiligten Knoten werden globale Berechnungen ermöglicht und so Redundanz, Fehlertoleranz und Widerstandsfähigkeit gegen Zensur gefördert.
 

So funktioniert die Ethereum Virtual Machine (EVM)

Die EVM arbeitet als Stapelmaschine und verwaltet eine Stapeltiefe von 1024 Elementen, jedes davon ein 256-Bit-Wort. Sie verwaltet temporären Speicher in Form eines Byte-Arrays, das zwischen Transaktionen in der Ethereum-Blockchain wechselt. Während der Verarbeitung weist die EVM einen flüchtigen Maschinenzustand und einen globalen oder Weltzustand auf, der Informationen über Ethereum-Blockchain-Konten enthält.

Der EVM-Code wurde seit dem Start des Ethereum-Netzwerks im Jahr 2015 iteriert, sodass derzeit mehrere Implementierungen verwendet werden. Als Vermittler zwischen Ethereum-Knoten und ausgeführtem Code sorgt das EVM für konsistente Ergebnisse, ohne komplizierte Details gegenüber Clients oder Knoten preiszugeben.

Hier ist eine Aufschlüsselung der Funktionsweise:

Notes
Notes können Miner sein, die für das Hinzufügen neuer Blöcke zur Blockchain verantwortlich sind, oder vollständige Knoten, die die gesamte Ethereum-Blockchain speichern und validieren. Jeder Knoten enthält eine Kopie der Ethereum Virtual 
Machine (EVM) und ist aktiv an der Ausführung von Code im gesamten Netzwerk beteiligt.

Konsensmechanismus:
Ethereum verwendet den Proof of Stake-Konsensmechanismus, bei dem Validierer (Knotenbetreiber) Kryptowährung einsetzen, um neue Blöcke zu erstellen und Transaktionen zu validieren, und so aufgrund ihres finanziellen Einsatzes eine ehrliche Teilnahme sicherstellen.


Ausführung von Code
Transaktionen oder Smart Contracts, die an das Netzwerk übermittelt werden, werden an alle Knoten gesendet. Die EVM jedes Knotens verarbeitet den Code und erzielt einen Konsens über das Ergebnis der Codeausführung. Die Stärke der EVM liegt in ihrem globalen Maßstab, bei dem Tausende von Knoten gemeinsam Code ausführen und so Redundanz, Sicherheit und Unveränderlichkeit gewährleisten.

Das EVM betreibt zuverlässig alle Apps im Ethereum-Netzwerk und fungiert als übergeordnetes Programm für kleinere ausführbare Programme, sogenannte Smart Contracts. Entwickler können diese Verträge in verschiedenen Programmiersprachen schreiben, darunter Solidity, Vyper, Python und Yul.

Die Flexibilität, die EVM bietet, hat zu Tausenden von DApps im Bereich dezentrale Finanzen (DeFi) und nicht fungible Token (NFT) geführt. Diese DApps und ihre Smart Contracts werden in Bytecode umgewandelt und auf alle Knoten im Ethereum-Netzwerk verteilt. 

Vorteile der Ethereum Virtual Machine (EVM)

Der Betrieb des EVM ermöglicht es Entwicklern, Code auszuführen, ohne sich Gedanken über dessen Auswirkungen auf das Netzwerk oder die Datensicherheit auf Knotencomputern machen zu müssen. Es ermöglicht die Ausführung komplexer Smart Contracts in unterschiedlichen Computerumgebungen mit verteiltem Konsens und stellt sicher, dass der Ausfall eines einzelnen Knotens keine Auswirkungen auf die DApp- oder Smart-Contract-Funktionalität hat.

Die vom EVM verwalteten globalen Kontodaten erleichtern die Erstellung zuverlässiger Smart-Contract-Codes und unterschiedlicher DApps. Die Konsistenz des EVM und die Verfügbarkeit von Standardcodes machen es zur bevorzugten Plattform für die Web3-Entwicklung, wobei eine zunehmende Anzahl EVM-kompatibler Layer-2-Blockchains seine Anwendungsfälle erweitert.

Nachteile der Ethereum Virtual Machine (EVM)

Das EVM weist einige Mängel auf, darunter hohe Transaktionsgebühren (Gaskosten) im Zusammenhang mit der Ausführung von Smart Contracts im Ethereum-Netzwerk. Diese in ETH gezahlten Gebühren variieren je nach Vertragskomplexität und Netzwerküberlastung.

Die Auswahl von Solidity als primäre Sprache stellt eine Herausforderung dar und erfordert hochqualifizierte Entwickler, die über technisches Fachwissen verfügen müssen, um effiziente Smart Contracts in der Sprache zu erstellen.

Was kommt als Nächstes für die Ethereum Virtual Machine?

Während die EVM das Blockchain-Ökosystem revolutioniert hat, sind in verschiedenen Blockchain-Projekten fortlaufende Verbesserungen zu beobachten. EVM-kompatible Blockchains bieten niedrigere Gaskosten und schnellere Transaktionsgeschwindigkeiten und ermöglichen so eine nahtlose Interaktion mit Ethereum-Benutzern.

Mit dem Abschluss der Ethereum-Fusion im September 2022 verlagert sich der Fokus auf den Übergang von EVM zu Ethereum WebAssembly (eWASM). eWASM ist modular und plattformunabhängig konzipiert und gilt als potenzieller Game-Changer für das Ethereum-Protokoll. Ob eWASM EVM jedoch als vertrauenswürdigsten Mechanismus für Smart Contracts ersetzen wird, bleibt eine Frage der Zukunft.

Fazit

Zusammenfassend lässt sich sagen, dass die Ethereum Virtual Machine eine hochentwickelte, dezentrale und sichere Ausführungsumgebung darstellt, die die Grundlage der Ethereum-Blockchain bildet. Ihre Merkmale und Funktionen ermöglichen die Erstellung dezentraler Anwendungen mit komplexer Logik und bilden die Grundlage für vertrauenswürdige, zensurresistente und zuverlässige Blockchain-Lösungen.

Dank ihrer innovativen Fähigkeiten steht die Ethereum Virtual Machine an der Spitze der Blockchain-Entwicklung. Sie steuert den Fortschritt und definiert die digitale Landschaft neu, da sie eine zentrale Rolle bei der laufenden Transformation von Branchen und dem Streben nach einer transparenten, effizienten und dezentralen Zukunft spielt.