• Startseite
  • Krypto kennenlernen
  • Was ist die EVM?

Was ist die EVM?

BTCS-logo-mark_rgb.png
Bitcoin Suisse
25 März 2022

Die Ethereum Virtual Machine (EVM) ist eine deterministische Runtime-Umgebung und Rechenmaschine, in der die auf Ethereum bereitgestellten Smart Contracts ausgeführt werden. Der Begriff “virtuelle Maschine” wird üblicherweise für eine Virtualisierung oder Nachbildung eines realen Computers verwendet. Die EVM stellt allerdings nur eine Abstraktion der Berechnung und Speicherung dar und läuft daher in einem stärker eingeschränkten Bereich als herkömmliche virtuelle Maschinen.

Die EVM definiert im Wesentlichen die Regeln für die Berechnung eines neuen Gültigkeitszustands («new valid state») und dient als Grundlage für die Betriebsstruktur von Ethereum. Es handelt sich um einen isolierten virtuellen Stack, der in jeden Ethereum-Node eingebettet und für die Ausführung von Contract-Bytecode zuständig und aus komplexeren Programmiersprachen wie z.B. Solidity kompiliert wurde. Daher wird der Status nur aktualisiert, wenn die Ausführung der Sandbox-Version erfolgreich abgeschlossen wurde. Die Isolierung ist wichtig, um Hacks oder Bugs innerhalb eines Smart Contracts einzudämmen.

Da jeder Node dieselben algorithmischen Anweisungen verwaltet, um Smart-Contract-Transaktionen zu verifizieren und einen Konsens zu erzielen und aufrechtzuerhalten, wird die EVM oft als dezentraler, quasi Turing-vollständig “Weltcomputer” bezeichnet.

Turing-Vollständigkeit

Eine “vollständige Turing-Maschine” ist eine abstrakte, automatische Rechenmaschine, die Probleme auf der Grundlage algorithmischer Regeln löst und grundsätzlich fähig ist, jedes Programm auszuführen. Die EVM wird daher als “quasi-Turing-vollständig” bezeichnet, weil sie in der Lage ist, die Ausführung zu stoppen, wenn eine vordefinierte Menge an Berechnungen erreicht ist. Ohne einen Begrenzer läuft die EVM Gefahr, in das Halte-Problem («halting problem») zu geraten. Dies ist ein Zustand, in dem die EVM ein Programm ausführt, das nie aufhört. Die zur Überwindung des Halte-Problems verwendete Metrik ist «Gas», Ethereums Einheit für Rechen- und Speicheraufwand, die auch Denial-of-Service-Angriffe (DoS) löst.

Wie funktioniert die EVM?

Wie Bitcoin ermöglicht die Ethereum Blockchain die Übertragung digitaler Vermögenswerte zwischen den Wallets der Nutzer und zeichnet diese auf. Darüber hinaus dient sie den Nutzern als Plattform für die Bereitstellung dezentraler Anwendungen (dApps) und intelligenter Verträge zur Verwaltung bedingter Transaktionen im Netzwerk.

Damit Ethereum-Smart Contracts korrekt ausgeführt werden können, muss jeder Node überprüfen können, ob die vorherigen Bedingungen erfüllt wurden. Daher führt jede Node eine EVM-Instanz aus, die es ihnen ermöglicht, sich auf die Ausführung derselbenAnweisungen zu einigen.

Einige Smart Contracts beinhalten komplexere Bedingungen, die Eingaben aus mehreren Datenquellen oder den Aufruf anderer Smart Contracts innerhalb ihrer Infrastruktur erfordern. Damit bietet die EVM die Möglichkeit, alle aktuellen Zustände von Smart Contracts zu überwachen und in der Blockchain auszuführen. In der Praxis bedeutet dies, dass die EVM die Vereinbarung zwischen Smart Contracts und die anschliessenden Werttransfers erleichtert, wenn Ethereum-Nutzer in verschiedenen Teilen der Welt eine Vereinbarung miteinander treffen wollen, – ohne die Notwendigkeit einer zentralisierten Behörde. Wenn die Bedingungen entsprechend erfüllt und die Daten/Werte übertragen werden, hilft die EVM sicherzustellen, dass der korrekte, aktuelle Zustand vom Netzwerk aufrechterhalten wird.

Wie speichert und führt die EVM Smart Contracts aus?

Auf der Ethereum-Blockchain gibt es zwei Arten von Konten: externe Konten (External Owned Accounts, EOA) und Vertragskonten (Contract Accounts, CA). Informationen, die für EOAs relevant sind, werden durch private Schlüssel kontrolliert, während Informationen, die für CAs relevant sind, in den Smart Contracts selbst gespeichert werden. Einfache Wertübertragungen von einem EOA zum Anderen müssen die EVM nicht einbeziehen, aber alles andere erfordert eine von der EVM berechnete Statusaktualisierung. Aufgrund der Kontoabstraktion behandelt die EVM beide Konten gleich.

Intelligente Verträge, die z.B. in Solidity geschrieben wurden, werden in Bytecode kompiliert, der Opcodes enthält. Diese enthalten Anweisungen für die EVM zur Ausführung bestimmter Aufgaben. Bestimmte Opcodes manipulieren beispielsweise den Ethereum-Stack, und einige manipulieren den Speicher von Ethereum. Jedes Mal, wenn ein Opcode ausgeführt wird, verbraucht die EVM Gas – die für die Ausführung von Prozessen auf der Ethereum-Blockchain erforderliche Rechenleistung. Die Nutzer müssen das Gas mit dem digitalen Ethereum-Token ETH bezahlen, um ihre Smart Contracts auszuführen und Transaktionen zu ermöglichen.

EVM Datenspeicherung:

Die EVM speichert ihre Smart Contract-Daten in drei verschiedenen Bereichen: Speicherung, Datenbank und Stack.

Speicherung: Jedes Ethereum-Konto verfügt über eine dauerhafte Speicherung, der Teil des Ethereum-Status ist, für Daten wie “abgeleitete Berechnungen, Caching und Aggregate ausserhalb des Contracts”. Contracts können nur Daten in ihre eigenen Speicherungen schreiben, und es ist relativ kostspielig, dort gespeicherte Daten zu lesen.

Datenbank: Die Datenbank für temporäre Variablen ist linear und wird zwischen den Aufrufen eines Smart Contracts jeweils gelöscht. Die Datenbank wächst quadratisch und kostet mehr, wenn er skaliert, ist aber günstiger als die Speicherung.

Der Stack: Alle EVM-Rechenaktivitäten finden auf dem Stack statt. Der Stack kann bis zu 1024 lokale Variablen aufnehmen, wobei jedes Stack-Element 256 Bits enthält. Der Stack ist die günstigste Speicherungsform im Hinblick auf Gasgebühren.

EVM-Kompatibilität

Aufgrund des Netzwerkeffekts von Ethereum nutzen immer mehr andere Layer-1-Blockchains die EVM und profitieren daher von bereits verfügbaren Entwickler-Tools und der Blockchain-Infrastruktur. Dazu gehören Polygon, Avalanche C-Chain, Binance Smart Chain, Fantom Opera und weitere. EVM-Kompatibilität ist ausserdem wichtig für Layer-2-Lösungen wie Arbitrum oder Optimism.

Verwandte Artikel

  • education

    The Open Network: Peer-to-Peer-Zahlungen für 950 Millionen Telegram-Nutzer

    Telegram bringt verschiedene Anwendungen der Blockchain-Technologie für eine grosse Anzahl ihrer Nutzer und ermöglicht ihnen so unter anderem gebührenfreie Peer-to-Peer-Zahlungen, Mini-Apps, Games und Monetarisierung-Möglichkeiten für Entwickler und Content-Creator.

    3 März 20256 Min
  • education

    Ein Tag im Leben eines Kryptobetrügers

    Im Rahmen der International Fraud Awareness Week werfen wir einen Blick in den Alltag eines Kryptobetrügers. Wir heben einige der gängigen Betrugstaktiken hervor, indem wir von den beiden Betrügern Jordan und Marco erzählen, die tagtäglich auf unterschiedliche Art und Weise versuchen, Menschen ihre Kryptowährungen zu stehlen.

    21 Nov. 20247 Min
  • education

    Saisonalität, das Bitcoin-Halving, US-Amerikanische Wahlen & Leitzinssenkung der Fed

    Sie kennen wahrscheinlich den berühmten Song der US-amerikanischen Rockband Green Day, «Wake Me Up When September Ends». In der Welt des Investierens, vor allem bei US-Aktien, hat der Ausdruck allerdings noch eine über den Songtitel hinausgehende Bedeutung.

    In den letzten Wochen wurde viel über die sogenannte Saisonalität von Aktien und Bitcoin gesprochen. Dies hat seine Gründe: Die Monate August und September sind für die US-Aktienmärkte und Bitcoin die Monate mit der historisch schlechtesten Preisentwicklung.

    3 Okt. 20248 Min

Individuelle, persönliche Kundenbetreuung - Immer an Ihrer Seite

Unser Team aus ausgewiesenen Krypto-Experten steht Ihnen mit den passenden Tools, wertvollen Einblicken und erstklassiger, individueller Kundenbetreuung zur Seite.

Öffnungszeiten

24/7 online

Montag bis Freitag: 7Uhr bis 19Uhr

contact@bitcoinsuisse.com

0800 800 008

Anrufe aus der Schweiz (gebührenfrei)

+41 41 660 00 00

Anrufe aus dem Ausland