Was ist ein zkEVM?
Grundlagen
Die zero-knowledge Ethereum Virtual Machine (zkEVM) ermöglicht die Kompatibilität mit Zero-Knowledge-Beweisen (ZKP) und fungiert als Ethereum-Zustandsmaschine zur Ausführung von Smart Contracts. Die Integration von zkEVMs erweitert die Einsatzmöglichkeiten von Zero-Knowledge-Rollups (zk-Rollups) im Ethereum-Netzwerk auf dezentrale Anwendungen (DApps). Dieser Fortschritt vereinfacht die Bereitstellung von Ethereum-Projekten — egal ob bestehend oder neu — indem ZKPs genutzt werden, um das Potenzial des Ethereum-Ökosystems zu vergrößern.
Als das Ethereum-Netzwerk 2014 erstmals vorgeschlagen wurde, hatten die ursprünglichen Entwickler Zero-Knowledge-Technologien nicht berücksichtigt. In den letzten Jahren hat ZKP jedoch stark an Aufmerksamkeit gewonnen und wird voraussichtlich eine größere Rolle im Blockchain-Bereich einnehmen. Folglich wurden zahlreiche Anstrengungen unternommen, ZKP-Technologie mit der Ethereum Virtual Machine zu verbinden.
Um das Konzept eines zkEVM zu verstehen, ist eine kurze Übersicht über seine zwei grundlegenden Prinzipien erforderlich: zk-Rollups und EVM.
Was sind zk-Rollups?
Rollups sind eine Skalierungslösung, die mehrere Transaktionsausführungen außerhalb der Hauptkette bündelt und die Daten als eine einzelne Transaktion an das Hauptnetz überträgt. Dadurch wird die Durchsatzrate erhöht und die Transaktionskosten reduziert.
Innerhalb des Ethereum-Ökosystems werden Rollup-Transaktionen komprimiert und anschließend zur Verifikation als eine einzige Transaktion auf das Ethereum-Mainnet gesendet. Das Ethereum-Mainnet dient der Abrechnung und verifiziert die im Rollup enthaltenen Transaktionsdaten.
Eine spezielle Variante von Rollups, die zk-Rollups, nutzt Zero-Knowledge-Beweis-Technologie. ZKP erlaubt die Verifikation der Korrektheit von Informationen, ohne die Informationen selbst offenzulegen. Bei zk-Rollups ist es nicht notwendig, alle Transaktionsdaten im Ethereum-Mainnet zu veröffentlichen; stattdessen genügen Zustandsdifferenzen — etwa Änderungen im Nutzerkontostand — zusammen mit Gültigkeitsbeweisen. Dieser Ansatz reduziert die Gasgebühren erheblich.
Die Sicherheit von zk-Rollups beruht auf der ZKP-Kryptographie, die kryptografische Mechanismen nutzt, um Beweise zu prüfen und Vertrauenlosigkeit zu gewährleisten. Das steht im Gegensatz zu anderen Rollup-Implementierungen, wie Optimistic Rollups, die ihre Sicherheit über ökonomische Anreize und Spieltheorie herstellen. Bei Optimistic Rollups werden bösartige Akteure durch mögliche Verluste abgeschreckt, während Herausforderer durch Belohnungen motiviert werden.
Was ist die EVM?
Die Ethereum Virtual Machine (EVM) ist innerhalb von Ethereum eine Zustandsmaschine, die das Ethereum-Kontosystem und die Ausführung von Smart Contracts ermöglicht. Jede Ausführung eines Smart Contracts veranlasst die EVM, von einem alten Zustand in einen neuen Zustand überzugehen, gemäß den vordefinierten Regeln zur Berechnung gültiger Zustände zwischen Blöcken.
Der Begriff Zustand ist im Ethereum-Ökosystem von zentraler Bedeutung. Er wird durch eine Merkle-Patricia-Trie-Datenstruktur dargestellt, die einen Snapshot des aktuellen Ethereum-Zustands liefert. Diese Struktur erlaubt die Rückverfolgung von Transaktionsdetails vom aktuellen Block bis zum Genesis-Block.
Die gemeinsame Arbeit aller teilnehmenden Nodes zur Pflege von Ethereum gewährleistet Kontinuität und Konsens und gibt jedem Node Einblick in den exakten aktuellen Zustand. Die EVM spielt eine zentrale Rolle bei der Aufrechterhaltung dieser Konsistenz und schützt die Integrität des Ethereum-Netzwerks.
Wie funktioniert ein zkEVM?
zkEVMs sorgen für die Fortführung des Ethereum-Zustands und liefern nachprüfbare Korrektheit — eine Lösung für das Fehlen nativer ZKP-Unterstützung in der EVM. Dieser Ansatz garantiert die Validierung aller beteiligten Rechenoperationen und wahrt dabei Sicherheit und Datenschutz zugleich.
Im zkEVM wird die Ethereum-Umgebung ähnlich wie bei zk-Rollups nachgebildet. Ausgehend vom Anfangszustand werden alle Transaktionen verarbeitet, was zu einem aktualisierten Zustand führt, der von einem zugehörigen ZKP begleitet wird. Dieser Beweis wird anschließend an einen Verifier-Smart-Contract gesendet, der die Korrektheit der Outputs sowohl des Anfangs- als auch des Endzustands prüft, sodass einzelne Transaktionen nicht separat verifiziert werden müssen.
Auf der Grundlage der EVM bieten zkEVMs Entwicklern die Möglichkeit, Ethereum-DApps und Smart Contracts nahtlos auf zkEVMs zu portieren, ohne sich selbst um ZKP-Entwicklung kümmern zu müssen. Im Kern erweitern zkEVMs die Funktionalität von zk-Rollups um die Ausführung von Smart Contracts — zusätzlich zu Token-Swaps und Zahlungen, die zuvor ohne zkEVM-Unterstützung möglich waren.
Dank der von der EVM geerbten Kompatibilität können Entwickler neue Produkte mit bestehenden EVM-Tools und der Programmiersprache Solidity erstellen und gleichzeitig von der erhöhten Sicherheit eines zkEVM profitieren. Auch Nutzer behalten den gewohnten Zugriff auf DApps und Tools, nun jedoch mit verbesserten Sicherheits- und Datenschutzfunktionen.
Unterscheidung: EVM-Kompatibilität vs. EVM-Äquivalenz
Wenn eine Blockchain als EVM-kompatibel bezeichnet wird, bedeutet das, dass sie eine Umgebung bietet, die DApps aufnehmen kann, die in Solidity geschrieben wurden — der Programmiersprache für Ethereum-Smart-Contracts.
Tatsächlich können Ethereum-Entwickler existierenden DApp-Code in der Regel mit minimalen Anpassungen auf andere EVM-kompatible Chains übertragen. Für Nutzer ist die Adresse einer EVM-kompatiblen Chain nicht von ihrer Ethereum-Adresse zu unterscheiden.
Daher sind diese Adressen mit populären Wallets wie MetaMask und Trust Wallet kompatibel. Zu den bekannten EVM-kompatiblen Chains gehören derzeit BNB Chain, Avalanche C-Chain und Polygon.
Es ist jedoch wichtig, EVM-Kompatibilität nicht mit EVM-Äquivalenz zu verwechseln. EVM-Äquivalenz bedeutet, dass Layer-2-Rollups aus Sicht eines DApp-Entwicklers nahezu identisch zu Layer-1-Ethereum sind. Mit einer Betriebssystem-Analogie: EVM-Äquivalenz ist vergleichbar damit, Dateien und Einstellungen via Apple iCloud wiederherzustellen, wenn man von einem alten auf ein neues Mac-System wechselt.
Im Gegensatz dazu bedeutet EVM-Kompatibilität eher, dass beim Wechsel zu einem Windows-System auf einem neuen Rechner die ursprünglichen Dateien aus der Cloud abgerufen und konvertiert werden müssen, um bevorzugte Einstellungen und alte Dateien wiederherzustellen.
Kategorisierung von zkEVMs: Effizienz vs. Kompatibilität
Die effiziente Erzeugung und Verifikation von ZKPs unter Verwendung der EVM ist herausfordernd, da Ethereum keine native Unterstützung für ZKP-Technologie bietet. Der Prozess kann sehr langsam sein und mitunter mehrere Stunden dauern. Dennoch ist es entscheidend, ein Gleichgewicht zwischen EVM-Kompatibilität und ZKP-Effizienz zu finden.
Vitalik Buterin, der Gründer von Ethereum, hat zkEVMs in vier Typen eingeteilt, die jeweils unterschiedliche Kompromisse zwischen ZKP-Leistungseffizienz und EVM-Kompatibilität darstellen. Diese Klassifizierungen spiegeln das Konzept des Blockchain-Trilemmas wider, das die inhärenten Trade-offs zwischen Dezentralisierung, Sicherheit und Skalierbarkeit hervorhebt.
Typ 1: Äquivalenz auf Konsens-Ebene
Typ-1-zkEVMs, auch als enshrined rollups bezeichnet, erreichen vollständige Äquivalenz mit Ethereum auf Konsens-Ebene. Der Chain-Zustand und die Transaktionen des zkEVM entsprechen denen von Ethereum, was gegenseitige Blockverifikation und direkte Integration mit Ethereum-Execution-Clients ermöglicht. Zwar verbessert dieser Typ die Skalierbarkeit von Ethereum, doch bleibt die ZKP-Effizienz ein großes Problem, da die Verifikation hohe Rechenressourcen erfordert. Mögliche Lösungen umfassen den Einsatz massiver paralleler Validatoren oder spezialisierter integrierter Schaltkreise für zk-SNARKs.
Typ 2: Äquivalenz auf Bytecode-Ebene
Typ-2-zkEVMs bieten vollständige Äquivalenz mit der EVM, jedoch nicht mit Ethereum selbst. Sie sind mit bestehenden Ethereum-DApps, Debugging-Tools und Entwicklerinfrastrukturen kompatibel und optimieren die Prover-Zeiten teilweise. Ihre Effizienz bleibt jedoch begrenzt und kostspielig, da sie nur begrenzt Synergien mit ZK-Methoden erzielen.
Typ 2.5: Angepasste Gasgebühren
Typ-2.5-zkEVMs teilen Vor- und Nachteile von Typ 2, bieten jedoch leicht reduzierte Gasgebühren.
Typ 3: Bytecode-Äquivalenz mit verbesserter Effizienz
Aufbauend auf Typ 2 legen Typ-3-zkEVMs größeren Wert auf verbesserte ZK-Effizienz als auf vollständige Kompatibilität. Um dies zu erreichen, werden bestimmte Funktionen, wie Precompiles, weggelassen, wodurch DApps, die auf diese Funktionen angewiesen sind, umgeschrieben werden müssen.
Typ 4: Äquivalenz auf Sprachebene (Entwicklungssprache)
Typ-4-zkEVMs erreichen die beste ZK-Leistung, opfern dafür jedoch die Kompatibilität auf Ebene der Entwicklungssprachen. Sie bieten hervorragende Effizienz, können jedoch nur begrenzt mit bestehenden Systemen kompatibel sein.
Fazit
Das primäre Ziel der Implementierung von zkEVMs ist es, die Unterstützung von ZKP-Berechnungen für die Ausführung von Smart Contracts zu ermöglichen und damit DApps auf alle EVM-kompatiblen Protokolle auszuweiten. Die Einsatzmöglichkeiten der ZKP-Technologie gehen jedoch über diesen Bereich hinaus.
ZKP-Technologie kann auch mit Web2-Anwendungen kompatibel gemacht werden. Durch die Kombination von ZKP mit verschiedenen Web2-Anwendungsfällen lässt sich die Integration von Web3-Anwendungen nahtlos verbessern und nutzerfreundlicher gestalten. So können Personen, die mit traditionellen Internetbrowsern vertraut sind, die Vorteile von Web3 leichter nutzen — ein wichtiger Schritt zur breiten Adoption des Web3-Paradigmas.