Was ist Ethereum WebAssembly?
Mit der Umstellung von Proof of Work (PoW) zu Proof of Stake (PoS) erfolgt bei Ethereum auch eine Veränderung in der Ausführungsumgebung.
Insbesondere die Engpässe in den Transaktionen durch die Ethereum Virtual Machine (EVM) sollen dadurch überwunden werden. Einen nützlichen Standard dafür könnte das sogenannte Ethereum WebAssembly bilden.
Nun stellt sich die Frage: Was ist das Ethereum WebAssembly? Mit diesem Artikel möchten wir dir einen möglichst verständlichen Einblick in die Technologie liefern.
Bevor wir uns genauer mit der ewasm auseinandersetzen, starten wir mit einem kurzen Blick in die jüngere Vergangenheit.
Denn bisher, also insbesondere vor der Umstellung des Konsensmechanismus, erfolgt die Ausführung der Anwendung auf Ethereum in der EVM.
Was ist eine Virtuelle Maschine?
Einfach gesagt, kann man sich unter dem Begriff Virtuelle Maschine (VM) Software vorstellen. Diese Software gibt vor, ein eigenständiger Rechner zu sein.
Insbesondere zur Ausführung unterschiedlicher Betriebssysteme auf einem Rechner findet diese Technik Anwendung. Aber auch zur Aufteilung von Speicher- und Rechnerkapazitäten in großen Systemen ist die Technologie notwendig.
Die Ethereum Virtual Machine
Die Ethereum Virtual Machine (EVM) ist eine Rechenmaschine, die anderen virtuellen Maschinen wie Microsofts .NET-Framework und sogar einigen Interpreten von Bytecode-kompilierten Sprachen ähnelt.
Dabei stellt die EVM die Komponente des Ethereum-Netzwerks dar, welche die Bereitstellung und Ausführung von Smart Contracts verwaltet.
Während die EVM für einfache Wertübertragungen nicht in Anspruch genommen werden muss, berechnet sie Aktualisierungen des Netzwerkstatus.
Somit bildet die EVM eine entscheidende Grundlage für die Bestimmung und Erstellung neuer Blöcke im Proof of Work System.
EVM verstehen und Nutzen für die Zukunft
Neue Entwicklungen zur Beschleunigung von Transaktionen und einer damit einhergehenden Verringerung der Gebühren sind für das Netzwerk unumgänglich.
Wer die Funktionalität der EVM und des Ethereum-Netzes voll durchdringen möchte, muss sich tiefer in die Materie einlesen.
„Some basic familiarity with common terminology in computer science such as bytes, memory, and a stack are necessary to understand the EVM. It would also be helpful to be comfortable with cryptography/blockchain concepts like hash functions and the Merkle tree.”
Trotz einiger Veränderungen wird die EVM aber wohl nicht abgelöst. Immerhin stellt sie einen entscheidenden Baustein in der Gestaltung neuer Blöcke in der Kette dar.
Der Merge war letztlich nur der Anfang einer sich stetig fortschreitenden Entwicklung im Netzwerk. Die Kapazität und Leistungsfähigkeit soll verbessert werden, was am Ende auch Auswirkungen auf die Nutzung der EVM haben wird.
Einen äußerst versierten Einblick in die Technologie von und rund um Ethereum bietet der Twitter-Kanal von SalomonCrypto.
(1/23) KZG Commitments Part 1: Commit
Our goal: 1) prove we are committed to specific data and 2) allow others to verify specific points within that dataset.
Before we get started, we need to prepare the data and elliptic curve…. Then, it’s time for some magic! pic.twitter.com/xCOTb1djIN
— Haym (@SalomonCrypto) October 19, 2022
Vorteile und Grenzen der EVM
Für die Entscheidung zur Umstellung des Konsens-Verfahrens spielte die EVM eine nicht unwesentliche Rolle.
Dabei stehen den Vorteilen insbesondere Nachteile bei der Adaption für Anwendungen in der realen Welt entgegen:
- Korrektheit einer Transaktion maximal
- Für den theoretischen Einsatz optimiert
- Quelloffen und unbeschränkt zugänglich
- In allen Nodes gleichermaßen integriert
- (Weiter-)Entwicklung kann von Ethereum gesteuert werden
- Koordination und Brücken zu anderen Technologien ist optional, aber möglich
- Fehlende Schnelligkeit
- Wenig Effizienz
- In den beiden ersten Punkten begründet: Hohe Transaktionsgebühren
- Hohes technisches Know-How zur Nutzung und Umsetzung erforderlich
- Gemeinschaft von Entwicklern und Nutzer muss gepflegt und aufgebaut werden (könnte auch als Vorteil gesehen werden)
- Das EVM-Design ist etwas klobig, was der Leistung und sauberen Entwicklung im Wege steht
- Nicht vollständig dezentral: rund 25 Prozent der Nodes laufen auf AWS (Amazon)
Was ist WebAssembly?
Bei WebAssembly (Wasm) handelt es sich um einen Standard, der vom World Wide Web Consoritum (W3C) festgelegt wurde.
Das W3C ist das Gremium zur Standardisierung der Techniken im World Wide Web.
Wasm definiert einen Bytecode zur Ausführung von Programmen innerhalb von Webbrowsern, kann aber auch außerhalb von diesen genutzt werden.
Immer mehr Anwendungen laufen über den Browser, statt auf der Festplatte installiert zu werden.
Bisher griffen die Entwickler entsprechender Anwendungen auf JavaScript zurück. Nachdem JavaScript jedoch relativ langsam läuft und bei manchen Szenarien an seine Grenzen kommt, wurde WebAssembly als neue Methode vorangetrieben.
Da alle einschlägigen Browser bei der Entwicklung der Sprache beteiligt waren, läuft Wasm zwischenzeitlich bei allen Anwendungen:
- Mozilla: Firefox
- Microsoft: Edge
- Apple: Safari
- Google: Chrome (zum Beispiel auch Brave, als Chrome-basierter Browser)
Ethereum flavored WebAssembly
Die genaue Betitelung der Ethereum Variante des Wasm lautet: Ethereum flavored WebAssembly und wird mit „ewasm“ abgekürzt.
Laut der README-Datei des von der Ethereum Seite verlinkten Github-Repository befindet sich die Anwendung in der Entwicklungsphase:
„This repository contains documents describing the design and high-level overview of ewasm. Expect the contents of this repository to be in flux: everything is still under discussion.“
Warum Ethereum WebAssembly?
Ethereum WebAssembly ist ein Vorschlag zur Neugestaltung der Ausführungsebene von auf Ethereum basierenden Smart Contracts unter Verwendung einer festgelegten Teilmenge des WebAssembly Standards.
Die Verwendung von WebAssembly als Format für Smart Contracts bietet eine Reihe von Vorteilen, von denen einige im Folgenden aufgeführt sind:
- Nahezu native Ausführungsgeschwindigkeit für Smart Contracts
- Die Möglichkeit, Smart Contracts in vielen traditionellen Programmiersprachen wie C, C++ und Rust zu entwickeln
- Zugang zu einer großen Entwicklergemeinschaft und der Toolchain rund um WebAssembly
Ziele der Ethereum WebAssembly
Mit der ewasm-Anwendung verfolgt Ethereum verschiedene Ziele:
- Bereitstellung einer Spezifikation der Semantik von ewasm-Verträgen und der Ethereum-Schnittstelle
- Verfügbarkeit eines EVM-Übersetzers, vorzugsweise in Form eines ewasm-Vertrags
- Bereitstellung eines Metering Injectors, vorzugsweise als ewasm-Vertrag
- Verfügbarkeit einer VM-Implementierung zur Ausführung von ewasm-Verträgen
- Implementierung eines ewasm-Backends in den Solidity-Compiler
- Bereitstellung einer Bibliothek und von Anweisungen zum Schreiben von Verträgen in Rust
- Bereitstellung einer Bibliothek und von Anleitungen zum Schreiben von Verträgen in C
Dabei richten sich die Ziele in erster Linie dahingehend, dass Programmierer und weitere Nutzergruppen einen definierten Rahmen zur Nutzung der Anwendung erhalten.
Brücken zur EVM sind dabei genauso berücksichtigt, wie die Unterstützung und Einbettung unterschiedlicher Programmiersprachen.
Vorteile der Ethereum WebAssembly
Derzeit wird ewasm als Erweiterung für die EVM erforscht. Deshalb fand mit Umstieg auf Ethereum 2.0 noch keine wirkliche Integration der Technik statt. Womit die EVM aktuell weiterhin in Nutzung steht.
Auch andere Standards wurden bei der Umstellung in Betracht gezogen. Doch der Wasm-Standard scheint sich momentan am besten zu eignen. Vorteile von ewasm liegen insbesondere in:
- der Leistung
- einer gut standardisierten ISA (Industry Standard Architecture), die weit verbreitet sein wird
- in der Stack-Maschine, die das Metering entkoppelt, leistungsfähiger macht und auf jede Maschine der Zielarchitektur transformiert werden kann
- dem gemeinsamen Tooling / der breiterer Tooling-Kompatibilität
Was ist Metering?
Unter Metering (zu Deutsch Messung) wird bei Ethereum eine Art Verrechnungsart verstanden. Das Metering misst die Auslastung einer virtuellen Maschine (VM).
Dabei lässt sich das Konzept mit der Berechnung von Elektrizität vergleichen. Elektrizitätswerke verrechnen dem Nutzer die verbrauchte Strommenge.
Das Metering soll über die VM die Rechenzeit eines Codes messen. Anschließend soll dem Nutzer die verbrauchte CPU-Zeit in Rechnung gestellt werden können.
Rückwärtskompatibilität zu EVM
Der derzeitige Ansatz zur Erreichung der Rückwärtskompatibilität mit EVM1 besteht in der Unterstützung beider „Befehlsanweisungen“ mit der Option der Kompilierung von EVM1 nach ewasm.
Dieser Ansatz ermöglicht den Kunden, mit EVM1-Code zu arbeiten. Ein Kunde kann einerseits nur eine ewasm-VM implementieren und den gesamten EVM1-Code kompilieren.
Oder ein Kunde kann eine ewasm-VM und eine EVM1-VM implementieren und den alten Code unverändert lassen.
Gebühren (Gas) bei ewasm
Die Gebühren (Gas) werden trotz der Kompatibilitätsmöglichkeiten zwischen den beiden Anwendungen geringer sein. Jedoch muss die Gebührenordnung für ewasm noch festgelegt werden.
Wie im Abschnitt „Was ist Metering“ beschrieben, zielt die Idee der Berechnung jedoch auf die CPU-Auslastung der Anwendung ab. Genaue Überlegungen hierzu können über die ewasm-readthedocs-Seite eingesehen werden.
Eine der Annahmen versucht, einen möglichen Preis in die Überlegungen einzubetten:
Bei einer Blockzeit von 15 Sekunden und einer Ausführungszeit eines Contracts von 0,5 Sekunden werden in einer Beispielrechnung 0,0045 Gas pro Zyklus berechnet.
Wenn 1 gas 0,1 US-Dollar entsprechen, würde demnach ein Zyklus in der CPU-Auslastung 0,00045 US-Dollar ausmachen.
Egal, wie sich die Preisstruktur gestaltet: Klar ist, dass regelmäßige Anpassungen stattfinden sollen.
Ist Ethereum 2.0 nun besser?
Wer glaubt, dass seit dem Merge am 15. September 2022 das Ethereum Netzwerk „besser“ ist, hat weit gefehlt.
Derweil scheiden sich im Netz die Geister über die Sinnhaftigkeit des Umstiegs auf Proof of Stake.
Lustig wie der Mainstream nach dem Wechsel von ETH auf POS schreibt: „#Bitcoin unter Druck.“
Ich würde mir eher Gedanken um ETH machen… pic.twitter.com/6a86lnyg0j
— Der Bitcoin Bote 📫 (@bitcoinbote) September 18, 2022
It’s going to be so satisfying watching the Proof-of-Stake narrative collapse.
— Jason Lowery (@JasonPLowery) September 18, 2022
In der Theorie bildet der Proof of Work Konsens den für die Blockchain-Technologie typischen Sicherheitsstandard und die perfekte dezentrale Struktur.
Was für Bitcoin als Wertaufbewahrungs-Asset wohl stimmt und bestenfalls immer so bleiben sollte, muss jedoch nicht zwangsläufig für Ethereum gelten.
Proof of Stake und ewasm
Die Neuerungen bei Ethereum zielen letztlich nicht nur auf die Konsens-Methode ab, sondern auf verschiedene Ebenen.
Als der oft betitelte „Welt-Computer“ mit den unzähligen darüber laufenden Projekten und Anwendungen, muss Ethereum für die Adaption in der realen Welt angepasst werden. Die Gebühren müssen sinken und die Schnelligkeit muss dramatisch erhöht werden.
Der Umstieg auf Proof of Stake und die Entwicklung von ewasm übernehmen in dieser Entwicklung einen entscheidenden Wert ein. Durch die angepassten Eigenschaften kann die Plattform „the next big thing“ werden.
Fazit: Ethereum entwickelt sich weiter
Meines Erachtens sind die Entwicklungen in der Ethereum Welt positiv zu betrachten. Die Befürchtungen Einzelner zu fehlender Dezentralität und gar einem Kollaps des PoS teile ich nicht.
Vielmehr scheint die große Community, die sich eben für einen Wechsel des Konsens-Mechanismus ausgesprochen hat, den Wink der Zeit verstanden zu haben.
Die sich sicherlich rückläufig entwickelnden Gas-Gebühren, der massive Rückgang des Energieverbrauchs und die Verbesserung in der Skalierung werden die Adaption der Blockchain-Technologie für reale Anwendungsfälle deutlich verbessern.
Derweil könnte sich dieser Schritt sogar als entscheidend darstellen. Viele Blockchain-Projekte versinken in ihrer gut gemeinten Theorie.
Den Spagat in die ökonomische und somit gesellschaftliche Realität zu schaffen, ist für viele Blockchain-Unternehmen häufig schwierig, da dezentrale Ansätze auch im Wettbewerb mit den zentral organisierten „Big Playern“ (Google, Amazon, Apple und so weiter) stehen.
Wer ausschließlich den Kursrückgang von ETH mit dem Fortschritt des Projekts in Verbindung bringt, scheint die Blockchain-Technologie mit ihren Chancen und Risiken noch nicht ausreichend durchdrungen zu haben.
Ein Investment in Ethereum erscheint daher durchaus sinnvoll.