Autor |. Callum@Web3CN.Pro

ZK Rollup ist eine Skalierungsmethode für Ethereum, die es ermöglicht, Transaktionen außerhalb der Kette zu verarbeiten und zu einer einzigen komprimierten Transaktion in der Hauptkette zusammenzuführen. Dieser Prozess verbessert den Transaktionsdurchsatz, reduziert die Transaktionskosten, gewährleistet die Gültigkeit des Staates durch wissensfreie Beweise und verbessert die Privatsphäre und Sicherheit der Hauptkette. Daher gilt ZK Rollup als die ultimative Lösung für die Ethereum-Erweiterung.

Allerdings erfordert die Generierung von Zero-Knowledge-Beweisen derzeit eine größere Rechenleistung und ist technisch schwieriger. Da die Ethereum Virtual Machine (EVM) jedoch nicht für die Unterstützung von ZK-Schaltkreisen ausgelegt ist, kann sie Smart Contracts nicht direkt ausführen. Um dieses Problem zu lösen, haben viele Entwickler versucht, zkEVM zu entwickeln, das intelligente Verträge auf eine Weise ausführen kann, die mit wissensfreien Berechnungen kompatibel ist. Für viele ZK-Rollups bedeutet das Erreichen der EVM-Äquivalenz das Erreichen einer vollständigen Kompatibilität auf Bytecode-Ebene. Derzeit ist zkEVM der Schlüssel zur Expansion von Ethereum.

In diesem Artikel werden fünf gängige zkEVM-Typen und der Fortschritt verschiedener Projekttypen untersucht und die Designherausforderungen jedes zkEVM-Typs aufgezeigt.

Was ist zkEVM?

zkEVM ist eine EVM-kompatible virtuelle Maschine, die wissensfreies Computing unterstützt. Es handelt sich um eine Anwendungsentwicklungsplattform, die auf der Ethereum-Blockchain-Technologie basiert. Der EVM-Vertrag kann ohne Änderung direkt bereitgestellt und ausgeführt werden, und die Ausführung des Programms kann die Gültigkeit seiner Berechnung durch Zero-Knowledge nachweisen.

Vorteile von zkEVM

1.zkEVM verbessert die Kompatibilität. zkEVM ist hochkompatibel mit Smart Contracts, die für die Ausführung in EVM geschrieben wurden, und kann nahtlos in die EVM-Infrastruktur integriert werden. Entwickler können bestehende Ethereum-Anwendungen auf L2 migrieren, ohne Anwendungen neu entwickeln zu müssen, während zk Proof die Netzwerksicherheit von Ethereum übernimmt.

2.zkEVM verbessert die Skalierbarkeit. zkEVM verwendet nicht interaktive Beweise, was den Durchsatz verbessert und die Latenz reduziert, da die Validierung von Beweisen für L2-Blöcke schneller ist als die erneute Ausführung jeder Transaktion in einem neu vorgeschlagenen Block.

3.zkEVM reduziert die Speicherkosten. zkEVM Rollup kann sich dafür entscheiden, Verpflichtungen zu seinem Endzustand nur auf Ethereum L1 zu veröffentlichen, wodurch die Speicherkosten in der Kette gesenkt werden. Gültigkeitsnachweise garantieren die Richtigkeit des neuen Zustands von zkEVM, sodass der Sequenzer nicht alle Daten veröffentlichen muss, die zur erneuten Durchführung von Zustandsübergangsänderungen erforderlich sind.

Durch die kontinuierliche Verbesserung von zkEVM werden die Einschränkungen von ZK Rollup gelöst. Mithilfe der Sicherheit und Effizienz von ZK Rollup in Verbindung mit der Kompatibilität von EVM können Anwendungen mit Smart Contracts interagieren und das Anwendungserlebnis verbessern.

Fünf verschiedene Arten von zkEVM und verwandte Projekte

Als EVM ursprünglich entwickelt wurde, wurde nicht davon ausgegangen, dass es Zero-Knowledge-Proofs unterstützt, was es schwierig machte, eine EVM-kompatible zk-virtuelle Maschine zu erstellen. Mit fortschreitender Forschung können EVM-Berechnungen jedoch in Zero-Knowledge-Proofs zusammengefasst werden. Verschiedene zkEVM-Projekte verwenden unterschiedliche Ansätze, die die EVM-Ausführung mit wissensfreier Berechnung kombinieren.

Vitalik Buterin, der Gründer von Ethereum, veröffentlichte auch einen Artikel, in dem er die Kompromisse zwischen verschiedenen Arten von zkEVM erläutert. Vitalik Buterin glaubt, dass die Kernziele dieser Projekte dieselben sind: die Verwendung der ZK-SNARK-Technologie, um kryptografische Beweise für die Ausführung zu liefern von Transaktionen ähnlich wie bei Ethereum, sodass es einfacher ist, die Ethereum-Kette selbst zu überprüfen oder ZK-Rollups zu erstellen, die dem Angebot von Ethereum entsprechen, aber skalierbarer als Ethereum sind.

Typ 1 (Äquivalenz auf Konsensebene – völlig gleichwertig mit Ethereum)

Typ 1 zkEVM strebt danach, vollständig mit Ethereum gleichwertig zu sein. Es ändert keinen Teil des Ethereum-Systems, um die Generierung von Beweisen zu erleichtern, und ersetzt weder Hashes, Zustandsbäume, Transaktionsbäume, Vorkompilierung noch andere Konsenslogiken.

Der Vorteil von zkEVM Typ 1 besteht darin, dass es perfekt mit Ethereum kompatibel ist. Langfristig können Änderungen an Ethereum, die in ZK-EVMs vom Typ 2 oder Typ 3 getestet wurden, in Ethereum selbst eingeführt werden, aber diese Neuarchitektur hat ihre eigenen Komplexitäten, sodass Typ 1 letztendlich benötigt wird, um Ethereum Fang L1 selbst zu etwas mehr zu machen skalierbar. Gleichzeitig eignen sich zkEVMs vom Typ 1 auch ideal für Rollups, da sie es Rollups ermöglichen, eine große Menge an Infrastruktur wiederzuverwenden.

Der Nachteil von zkEVM Typ 1 ist die Überprüfungszeit. Ethereum wurde ursprünglich nicht auf ZK-Freundlichkeit ausgelegt, daher erfordern viele Teile des Ethereum-Protokolls umfangreiche Berechnungen, um ZK-Beweise durchzuführen. ZkEVM vom Typ 1 ist als exakte Nachbildung von Ethereum konzipiert und kann diese Ineffizienzen daher nicht abmildern. ZkEVM vom Typ 1 ist das begehrteste zkEVM, und es gibt viele Projekte, die diesen Typ entwickeln oder erforschen.

Zu den zkEVM-bezogenen Projekten vom Typ 1 gehören derzeit Taiko und Kakarot.

Das von Taiko entwickelte Typ-1-zkEVM ermöglicht es Entwicklern und Benutzern, Ethereum sicher, mit geringeren Transaktionsgebühren und ohne zu berücksichtigende Änderungen zu erleben. Es sammelte 22 Millionen US-Dollar in zwei Startfinanzierungsrunden, die erste mit 10 Millionen US-Dollar unter der Leitung von Sequoia China und die zweite mit 12 Millionen US-Dollar unter der Leitung von Generative Ventures. Am 7. Juni startete Taiko das Alpha-3-Incentive-Testnetzwerk. Laut Taiko-Beamten konzentriert sich das Testnetz auf den dezentralen, Ethereum-äquivalenten ZK-EVM-Teil.

Kakarot zkEVM ist ein EVM, das mithilfe der Cario-Sprache bereitgestellt wird und die Zuverlässigkeit des Starknet-Ökosystems durch verbesserte EVM-Kompatibilität erhöht. Kakarot zkEVM kann in verschiedenen Formen existieren, in der ersten Phase wird es EVM zu Starknet bringen, in der zweiten Phase werden Kakarot und Madara zu einem einheitlichen Stack zusammengeführt, um L3 zkEVM zu unterstützen, in der dritten Phase können Kakarot und Madara auch kombiniert werden Aktivieren Sie gemeinsam Typ 1 zkEVM. Am 2. Juni schloss Kakarot zkEVM eine Pre-Seed-Finanzierungsrunde ab, an der Institutionen wie StarkWare und LambdaClass sowie Angel-Investoren wie Vitalik Buterin, Nicolas Bacca und Rand Hindi teilnahmen.

Typ 2 (Äquivalent auf Bytecode-Ebene – genau das Gleiche wie EVM)

Typ2 zkEVM strebt danach, vollständig mit EVM, aber nicht vollständig mit Ethereum gleichwertig zu sein. Das heißt, sie sehen intern genauso aus wie Ethereum, weisen aber äußerlich einige Unterschiede auf, insbesondere in Bezug auf Datenstrukturen, wie Blockstrukturen und Zustandsbäume. Ziel ist es, mit bestehenden Anwendungen vollständig kompatibel zu sein, aber einige kleine Änderungen an Ethereum vorzunehmen, um die Entwicklung zu vereinfachen und die Beweiserstellung schneller zu machen.

Der Vorteil von Typ 2 zkEVM ist die perfekte Äquivalenz auf VM-Ebene. Typ 2 zkEVM nimmt Änderungen an den Datenstrukturen vor, die Dinge wie den Ethereum-Status enthalten. Hierbei handelt es sich um Strukturen, auf die die EVM selbst nicht direkt zugreifen kann. Daher werden Anwendungen, die auf Ethereum ausgeführt werden, fast immer auf einem zkEVM-Rollup vom Typ 2 ausgeführt. Dieser Typ kann die Ethereum-Ausführungsclients nicht unverändert verwenden, es ist jedoch möglich, sie mit einigen Modifikationen zu verwenden und dennoch EVM-Debugging-Tools und andere Infrastruktur zu verwenden.

Der Nachteil von zkEVM vom Typ 2 besteht darin, dass die Überprüfungszeiten immer noch langsam sind. Typ-2-zkEVM bietet schnellere Verifizierungszeiten als Typ-1-zkEVM, vor allem durch die Entfernung von Teilen des Ethereum-Stacks, die auf unnötig komplexer und ZK-unfreundlicher Kryptografie basieren. Beispielsweise können sie die Keccak- und RLP-basierten Merkle-Patricia-Bäume von Ethereum sowie möglicherweise die Block- und Empfangsstrukturen ändern. Diese Modifikationen verkürzen die Prüfzeit erheblich, lösen jedoch nicht alle Probleme. Aufgrund all der Ineffizienzen und ZK-Unfreundlichkeit, die EVM innewohnen, ist der Nachweis von EVM immer noch langsam.

Zu den zkEVM-bezogenen Projekten vom Typ 2 gehören derzeit Linea und Polygon.

Linea ist ein zkEVM vom Typ 2, das von Consensys betrieben wird. Durch die Integration von ZKP mit vollständiger EVM-Kompatibilität können Entwickler skalierbare DApps erstellen oder bestehende DApps auf neue Plattformen verschieben, ohne Code zu ändern oder Smart Contracts neu zu schreiben. Das öffentliche Testnetz wurde am 28. März dieses Jahres gestartet und zu den Standardnetzwerkoptionen der Metamask-Erweiterung hinzugefügt. Linea hat am 13. Juni um 12:00 Uhr Alpha v0.2 veröffentlicht. Diese Version konzentriert sich auf das Testen wesentlicher Architektur-Upgrades als Vorbereitung für den Start des Mainnets.

Polygon zkEVM ist Open Source und verwendet zkEVM vom Typ 2. Es nutzt ZK-Proofs, um Transaktionsgebühren zu senken und den Durchsatz zu erhöhen, während gleichzeitig die Sicherheit von Ethereum L1 gewahrt bleibt. Polygon gab am 14. Februar dieses Jahres an, dass Polygon zkEVM 100 % der für zkEVM geeigneten Ethereum-Testvektoren bestanden hat. Entwickler müssen keinen Code ändern oder neu schreiben und alle Ethereum-Tools können nahtlos mit Polygon zkEVM zusammenarbeiten Die Kompatibilität von ZK Rollup hat einen weiteren großen Schritt gemacht und das Niveau von Typ 2 erreicht, das völlig äquivalent zu EVM ist. Die Betaversion des Polygon zkEVM-Mainnets wurde am 27. März 2023 offiziell gestartet.

Typ 2.5 (EVM-Äquivalent, außer Gaskosten)

Eine Möglichkeit, die Überprüfungszeiten zu verbessern, besteht darin, die Gaskosten für bestimmte Vorgänge im EVM, die nur schwer ZK-sicher zu machen sind, erheblich zu erhöhen. Dies kann eine Vorkompilierung, das Löschen von Opcodes und möglicherweise bestimmte Muster für den Aufruf von Verträgen oder den Zugriff auf Arbeitsspeicher oder Speicher oder Wiederherstellung umfassen.

Eine Änderung der Gaskosten kann die Kompatibilität von Entwicklertools verringern und einige Anwendungen beschädigen, wird jedoch im Allgemeinen als weniger riskant angesehen als „tiefgreifendere“ EVM-Änderungen. Entwickler sollten darauf achten, nicht mehr als einen Gasblock in einer Transaktion anzufordern und keine Anrufe mit fest codierten Gasmengen zu tätigen.

Derzeit gibt es kein spezifisches Projekt für EVM vom Typ 2.5, es tritt gerade in die Phase von Typ 2 ein.

Typ 3 (Äquivalent auf Bytecode-Ebene – fast äquivalent zu EVM)

Typ 3 zkEVM ist nahezu EVM-äquivalent, es werden jedoch einige Abstriche für die exakte Äquivalenz gemacht, um die Beweiszeit weiter zu verkürzen und die Entwicklung von EVM zu vereinfachen.

Die Vorteile von zkEVM vom Typ 3 bestehen darin, dass es einfacher zu erstellen ist und eine schnellere Überprüfungszeit bietet. Typ 3 zkEVM entfernt möglicherweise einige Funktionen, die in zkEVM-Implementierungen besonders schwierig zu implementieren sind. Darüber hinaus weisen zkEVMs vom Typ 3 manchmal geringfügige Unterschiede in der Art und Weise auf, wie sie mit Vertragscode, Speicher oder Stapeln umgehen.

Der Nachteil von Typ 3 zkEVM ist die schlechtere Kompatibilität. Typ 3 zkEVM zielt darauf ab, mit den meisten Anwendungen kompatibel zu sein, während für den Rest nur minimales Umschreiben erforderlich ist. Allerdings wird es einige Anwendungen geben, die neu geschrieben werden müssen, weil sie eine Vorkompilierung verwenden, die das Typ-3-zkEVM entfernt, oder weil subtile Abhängigkeiten von Randfällen bestehen, die die VM anders behandelt.

Zu den zkEVM-bezogenen Projekten vom Typ 3 gehört derzeit Scroll.

Scroll ist das EVM-Äquivalent zk-Rollup, das vom Scroll-Team in Zusammenarbeit mit der PSE-Gruppe (Privacy and Scaling Explorations) der Ethereum Foundation entwickelt wurde. Es befindet sich derzeit im Pre-Alpha-Testnet-Stadium und soll auf Bytecode-Ebene vollständig mit EVM kompatibel sein . . Dies bedeutet, dass Entwickler intelligente Verträge in jeder EVM-kompatiblen Sprache erstellen und in Scroll bereitstellen können. Obwohl Scroll derzeit eine Typ-2-EVM erstellt, sind viele der komplexeren Vorkompilierungen noch nicht implementiert und gelten daher als Typ-3-EVMs. Laut Scroll wird erwartet, dass es im Juli oder August dieses Jahres im Mainnet veröffentlicht wird, und kündigte an, dass möglicherweise ein Partnerprogramm zur Förderung der ökologischen Entwicklung gestartet wird.

Derzeit ist Typ 3 EVM nur eine Übergangsphase, bis die komplexe Arbeit des Hinzufügens der Vorkompilierung abgeschlossen ist und dann Projekte auf Typ 2.5 zkEVM umgestellt werden können. Aber in Zukunft könnten EVMs vom Typ 1 und Typ 3 eine neue ZK-SNARK-freundliche Vorkompilierung hinzufügen, um Entwicklern Funktionen mit geringer Verifizierungszeit und niedrigen Gaskosten zu bieten.

Typ 4 (Äquivalent auf Entwicklungssprachenebene – Hochsprachenäquivalent zu EVM)

Typ 4 EVM kompiliert intelligenten Vertragsquellcode, der in einer Hochsprache (z. B. Solidity, Vyper oder einer Zwischensprache) geschrieben ist, in eine Sprache, die explizit für ZK-SNARK-freundlich konzipiert ist.

Der Vorteil von Typ 4 zkEVM ist eine schnellere Proof-Geschwindigkeit. Da dieser Typ nicht alle verschiedenen Teile jedes EVM-Ausführungsschritts zk-sicher macht, sondern direkt mit dem High-Level-Code beginnt, können viele Kosten vermieden werden.

Der Nachteil von Typ 4 zkEVM besteht darin, dass es weniger kompatibel ist. Erstens können sich die Adressen von Verträgen im Typ-4-System von ihren Adressen im EVM unterscheiden. Zweitens verwenden viele Anwendungen in einigen Teilen handgeschriebenen EVM-Bytecode, um die Effizienz zu verbessern, was vom Typ-4-System möglicherweise nicht unterstützt wird Debugging-Grundlagen Einrichtungen können ebenfalls nicht vererbt werden.

Derzeit umfassen zkEVM-bezogene Projekte vom Typ 4 zkSync Era und StarkNet.

zkSync Era wurde von Matters Lab erstellt. Die zkSync-Ära ist die erste EVM, die im Mainnet gestartet wird, und hat vollen Zugriff auf die Öffentlichkeit, um ihre Gelder an das System zu übermitteln oder ihren Code im Netzwerk bereitzustellen. Die zkSync-Ära verwendet ein anderes Bytecode-Format und unterstützt Solidity durch die Bereitstellung eines Compilers. Es unterstützt Solidity, aber nicht den EVM-Bytecode selbst. Tools wie Hardhat können nicht direkt verwendet werden, zkSync-Plugins können jedoch verwendet werden.

StarkNet wurde von StarkWare entwickelt und ist ein zk-Rollup L2, das wissensfreie Beweise verwendet, um eine Off-Chain-Ausführungsschicht für Ethereum zu erstellen. Tatsächlich ist EVM keine native Funktion von Starknet. Starknet verwendet den Warp-Konverter (bereitgestellt von Nethermind), um Solidity-Code in Cairo zu konvertieren und so die Bereitstellung intelligenter Verträge zu unterstützen.

Herausforderungen und Zukunft von zkEVM

Da EVM nicht im Hinblick auf ZK-Proof-Berechnungen entwickelt wurde, verfügt es über Eigenschaften, die für Proof-Schaltungen ungünstig sind, insbesondere im Hinblick auf spezielle Opcodes, den Speicheraufwand der stapelbasierten Architektur und die Proof-Kosten. Doch mehrere Durchbrüche in der Zero-Knowledge-Technologie haben es ermöglicht, diese Probleme zu lindern.

Es gibt keine klare Unterscheidung zwischen den fünf Typen von zkEVM. Die Typen mit der niedrigeren Nummer sind besser mit der vorhandenen Infrastruktur kompatibel, aber langsamer, während die Typen mit der höheren Nummer mit der vorhandenen Infrastruktur weniger kompatibel, aber langsamer sind. Im Allgemeinen ist es für verschiedene Projekte von Vorteil, verschiedene Arten für die Entwicklung von zkEVM und Ethereum zu erkunden.

Zukünftig wird es mehrere zkEVM-Implementierungen geben, die sowohl für ZK Rollup als auch zur Validierung der Ethereum-Kette selbst verwendet werden können. Theoretisch muss Ethereum für L1 kein einziges Standard-zkEVM verwenden, verschiedene Kunden können unterschiedliche Beweise verwenden. Allerdings wird es noch einige Zeit dauern, eine solche Zukunft zu verwirklichen. Gleichzeitig werden wir mehr Innovationen auf verschiedenen Wegen zur Skalierung von Ethereum und Ethereum-basierten ZK-Rollups sehen.