Foresight Ventures: Entschlüsselung von zk, zkVM, zkEVM und ihrer Zukunft

Einsteiger12/27/2023, 3:12:52 PM
Dieser Artikel bietet eine detaillierte Einführung in Konzepte wie zk, zkVM, zkEVM usw., die darauf abzielen, durch eine einfache Analyse ein tieferes Verständnis der zk-Technologie zu vermitteln.

Zu lang; nicht gelesen

  • Die Zero-Knowledge-Proof-Technologie gewährleistet die Integrität, Korrektheit und Privatsphäre von Berechnungen und findet Anwendungen in der Skalierbarkeit und Privatsphäre von Blockchains.
  • zk-SNARK und zk-STARK haben jeweils ihre Vorteile, und ihre vernünftige Kombination birgt noch mehr Potenzial.
  • zkVM ermöglicht Anwendungen mit Zero-Knowledge Proof-Fähigkeiten und ist in Mainstream, EVM oder neuen Befehlssatz-basierten Implementierungen kategorisiert.
  • Die Anpassung der EVM umfasst EVM-Kompatibilität, Äquivalenz und Spezifikationskonformität.
  • zkEVM ist eine umgebungsfreundliche Zero-Knowledge-Proof-Umgebung, die mit EVM kompatibel ist und in native und kompilierte Varianten unterteilt ist.
  • Native zkEVM ist die Zukunft von Ethereum und Blockchain.
  • Ein allgemeiner zkVM, der das Solidity-Ökosystem unterstützt, ist die Zukunft von Web3.

0. Nullwissensnachweise

Hier ist eine einfache und leicht verständliche Einführung in Null-Wissen-Beweise:

Stellen Sie sich vor, Sie sind in der Grundschule. Der Lehrer ist der Verifizierer, und Sie als Schüler sind der Beweiser. Wie können Sie beweisen, dass Sie die Formel zur Lösung quadratischer Gleichungen verstehen? Hier kommt eine Mathematikprüfung ins Spiel.

Der Lehrer wird Ihnen zehn verwandte Fragen zufällig stellen, und wenn Sie das Konzept wirklich verstehen, werden Sie in der Lage sein, alle zu lösen. Während dieses Prozesses müssen Sie sich nicht die spezifischen Inhalte der Formel merken oder aufschreiben, aber der Lehrer kann leicht Ihr Wissensniveau überprüfen.

Tatsächlich handelt es sich um die Methode, die von Tartaglia und Cardano (ja, das ist der Name) verwendet wurde, um darum zu konkurrieren, wer die Lösung für die kubische Gleichung entdeckt hat. Beide wollten den Inhalt ihrer Formeln nicht gegenseitig offenlegen, aber durch Problemlösung konnten sie leicht überprüfen und bestimmen, ob sie dieses Wissen beherrscht hatten, ohne die Einzelheiten preiszugeben.

Was ist der Zweck von Zero-Knowledge-Beweisen? Der Zweck besteht darin, Rechenleistung zu sparen und den On-Chain-Speicherplatz im gesamten Prozess zu reduzieren. Darüber hinaus bietet es Datenschutz, der sich mit den Eigenschaften der Vertrauenslosigkeit in der Blockchain und den Prinzipien der Kryptographie deckt.

1. SNARK und STARK

Im Bereich der Blockchain bezieht sich der Begriff "zk", der verwendet oder erwähnt wird, in der Regel nicht auf tatsächliche Zero-Knowledge-Beweise, sondern bezieht sich oft auf Gültigkeitsbeweise. Aufgrund der Begriffsverwirrung werden in bestimmten Teilen dieses Textes weiterhin diese "falsch verwendeten" Begriffe verwendet.

In der aktuellen Blockchain-Landschaft kann zk als die führende und optimale Lösung für Blockchain-Skalierbarkeit (nicht true zk, sondern Validity Proof) und Datenschutztechnologie (true zk) angesehen werden, die in Projekten wie Tornado.cash, ZCash, zkSync, zk.money, Filecoin und Mina verwendet wird.

Die aktuellen technischen Lösungen sind hauptsächlich in zwei Kategorien unterteilt: SNARK und STARK. Bei STARK steht das "S" für skalierbar, was bedeutet, dass die bewiesenen Aussagen wiederkehrende Strukturen aufweisen, während SNARK beliebige Schaltkreise unterstützt, die vorverarbeitet werden, um prägnante Beweise zu erbringen. Dabei hat die praktische Implementierung von SNARKs die führende Position eingenommen, während STARKs hauptsächlich in großem Maßstab in den von StarkWare eingeführten Produkten angenommen werden. Im Folgenden folgt ein Vergleich zwischen ihnen.

Aus der Perspektive von Meme ist STARK besser als SNARK (😊, Star Wars, Star Trek).

Wenn SNARK die Zukunft von Ethereum 2.0 ist, dann wird STARK die Zukunft von Ethereum 3.0 sein. Ernsthaft, die Vorteile von STARK sind:

  • Niedrigere Gasgebühren (bessere Skalierbarkeit)
  • Größere Batchgröße (viel bessere Skalierbarkeit)
  • Schnellere Beweise (mehr als bessere Skalierbarkeit)
  • Kein vertrauenswürdiges Setup (die generierten Parameter sind nur für die aktuelle Anwendung gültig, und bei Änderungen ist ein neues Setup erforderlich)
  • Post-Quanten-Sicherheit

Die von STARK generierten Proofs sind jedoch sehr umfangreich. Aufgrund bestimmter Einschränkungen, wie z. B. der WASM, können während des Baus zusätzliche Vorgänge erforderlich sein (hier beziehen wir uns auf SNARK). Kürzlich hat Mir eine praktische Implementierung eines AIR-basierten STARK unter Verwendung von Starky bereitgestellt, das Teil von Plonky2 ist (die Beziehung zwischen Plonky2 und Starky ist ziemlich komplex...). Meiner persönlichen Meinung nach kann die Größe zwar mit verschiedenen Techniken optimiert werden, aber es ist schwierig, die Zeitkomplexität des Algorithmus selbst weiter zu komprimieren.

Diese Zero-Knowledge-Proof-Technologien können auf vernünftige Weise kombiniert werden, um leistungsstärkere Anwendungen zu entwickeln. Zum Beispiel verwendet Polygon Hermez SNARK, um die Korrektheit von STARK zu überprüfen und damit die Gasgebühr beim Veröffentlichen des Nachweises zu reduzieren.

Insgesamt sind SNARK und STARK beide ausgezeichnete Zero-Knowledge-Beweistechnologien, von denen jede ihre eigenen Stärken hat, und ihre vernünftige Kombination hat noch mehr Potenzial.

2. zkVM

Die zuvor genannten Tornado.cash und zk.money sind ähnliche Anwendungen, die nur Transferoperationen unter Verwendung von Zero-Knowledge-Beweisen unterstützen. Sie unterstützen keine allgemeine Berechnung. Im Vergleich dazu haben diese Anwendungen nur die Funktionalität von Bitcoin, weit weniger als das Turing-vollständige Ethereum, geschweige denn den Aufbau eines Ökosystems (Die Smart Contracts auf Bitcoin müssen noch ein blühendes Ökosystem etablieren).

zkVM ist eine virtuelle Maschine, die sichere, überprüfbare und vertrauenswürdige Eigenschaften mithilfe von Zero-Knowledge-Beweisen gewährleistet. In einfachen Worten nimmt sie einen alten Zustand und ein Programm als Eingabe und gibt einen neuen Zustand zurück. Sie verleiht allen Anwendungen die Superkraft der Zero-Knowledge-Beweise.

Midens Präsentation auf der ETH Amsterdam fasste effektiv zusammen, was zkVM mit einer einzigen Folie ist.

Vorteile von zkVM:

  • Leicht zu bedienen: Entwickler können zkVM verwenden, um Programme auszuführen und die Rechensicherheit zu gewährleisten, ohne Kryptographie oder die Entwicklung von Zero-Knowledge erlernen zu müssen (dies bedeutet nicht, dass es keine Einstiegshürden gibt).
  • Universal: zkVM kann Beweise für jedes Programm und jede Berechnung generieren.
  • Konzise: Der gesamte VM kann mit vergleichsweise wenigen Einschränkungen beschrieben werden, ohne den gesamten VM-Schaltkreis wiederholt generieren zu müssen.
  • Rekursion: Kostenlose Rekursionsfunktion. Ähnlich wie bei seiner Universalität kann die Überprüfung der VM mithilfe der VM selbst durchgeführt werden. Dies ist ziemlich interessant, zum Beispiel können Sie eine zkVM innerhalb einer zkVM haben, ähnlich dem von StarkWare erwähnten Konzept von L3.

Nachteile von zkVM:

  • Spezifische Rechenarchitektur: Nicht alle Nullwissenbeweissysteme können für zkVM verwendet werden.
  • Leistungsprobleme: Schaltkreise müssen optimiert werden und können speziell für bestimmte Berechnungen optimiert werden.

Derzeit gibt es drei Haupttypen von zkVM, mit ihren jeweiligen Anweisungssätzen in Klammern: Mainstream (WASM, RISC-V), EVM (EVM-Bytecode), ZK-Optimized (ein neuer Befehlssatz, optimiert für Zero-Knowledge-Beweise, wie Cairo und zkSync). Im Folgenden finden Sie eine Vergleichstabelle dieser Typen basierend auf Miden's Präsentation auf der ETH Amsterdam.

Vieles, was im Nullwissensbeweis-Entwicklungssystem getan wird, dreht sich hauptsächlich darum, Entwickler zu befähigen, die Circom-Bibliothek (und zum Beispiel Snarkyjs) oder andere neu erstellte Sprachen (wie Leo oder Cairo, die ihre eigenen einzigartigen Einschränkungen haben) für die Entwicklung von allgemeinen zk DApps zu nutzen. Dies ist jedoch nicht so geradlinig und einfach zu erlernen wie die Verwendung von Solidity auf Ethereum.

Darüber hinaus gibt es viele Projekte wie zkSync, Scroll oder mehrere unter dem Dach von Polygon, die mit zkEVM oder anderen zkVM-Lösungen experimentieren.

3. EVM

Die EVM ist Ethereums virtuelle Maschine, die auch als Satz von Ausführungsumgebungen für die Ausführung von Smart Contracts verstanden werden kann.

Im Laufe der Jahre haben verschiedene öffentliche Blockchains kontinuierlich versucht, kompatibel mit der EVM zu werden und sich damit in das Entwicklungsökosystem von Ethereum zu integrieren. Dieses Konzept hat zur Ableitung von Begriffen wie EVM-Kompatibilität, EVM-Äquivalenz und anderen Definitionen geführt.

  • EVM-Kompatibilität: Anpassung auf der Sprachebene, wie z.B. mit Solidity.
  • EVM-Äquivalenz: Anpassung auf der EVM-Bytecode-Ebene.
  • EVM-Spezifikationsanpassung: Dies wird normalerweise als das echte zkEVM bezeichnet. In den meisten Fällen handelt es sich sogar um ein rückwärtskompatibles, optimiertes Superset, das Funktionen bieten kann, die nicht von der EVM bereitgestellt werden, wie z.B. Kontenabstraktion (wobei jedes Konto ein Smart Contract ist).

4. zkEVM

Lassen Sie uns zkEVM weiter interpretieren. Nach Definition ist zkEVM eine virtuelle Maschine, die mit EVM kompatibel ist und auch freundlich zu Zero-Knowledge-Beweisen ist, um die vollständige Korrektheit von Programmen, Operationen und Ein- / Ausgabe zu gewährleisten.

Um eine universelle Berechnung zu erreichen, gibt es zwei Hauptprobleme bei der Entwicklung von zkEVM:

a) Schaltkreiskomplexität

Verschiedene Verträge erfordern die Generierung verschiedener Schaltkreise, und diese Schaltkreise sind ziemlich 'komplex'.

Dieser Aspekt beruht hauptsächlich auf verschiedenen Optimierungen. Zum Beispiel verwendet Aleo (obwohl es nicht vom direkten ZK-Typ ist... nur ein Beispiel für Optimierung) verteilte Cluster für gleichzeitige Beweisberechnungen oder verschiedene Hardware-Optimierungen zur Beschleunigung.

b) Designschwierigkeiten

zkEVM erfordert nicht nur eine Neukonstruktion des EVM, sondern auch eine Neukonstruktion des gesamten Zustandsübergangs von Ethereum unter Verwendung der Zero-Knowledge-Proof-Technologie.

Das ursprüngliche Design der EVM hat die Entwicklung von zkEVM nicht vorausgesehen, was zu erheblichen Schwierigkeiten geführt hat. Dies hat zu zwei Ansätzen geführt, wie im Diagramm dargestellt.

Oder, um nach der Architektur einer virtuellen Maschine (VM) zu unterscheiden, wie im Diagramm unten (großer Dank an Scroll Tech für die ursprüngliche Bildzusammenfassung!). Opcode bezieht sich auf EVM-Opcode. Der StarkWare-Bereich verwendet Warp, um Solidity-Verträge in Cairo-Verträge umzuwandeln, oder kann Verträge direkt in Cairo schreiben und trotzdem eine gute Entwicklungserfahrung und einen vollständigen Satz von Tools erhalten.

Auf Entwickler- und Benutzerebene sind diese Lösungen meiner Meinung nach im Grunde nicht voneinander zu unterscheiden. In Bezug auf die Infrastruktur gilt: Je weiter rechts die Lösung ist, desto besser ist die EVM-Kompatibilität. Sie kann nahtlos in die Infrastruktur wie Geth integriert werden, aber der Entwicklungsfortschritt ist im Allgemeinen langsamer.

5. zkEVM und zkVM

Die Existenz von zkEVM ist meiner Meinung nach innovativ und trägt zur Prosperität von Ethereum und seinem Ökosystem bei. Auf der anderen Seite stärkt die Existenz des zkVM Ethereum möglicherweise nicht unbedingt, aber sie bietet eine größere Vorstellungskraft.

Obwohl das Cairo VM von StarkNet möglicherweise nicht das perfekte zkVM ist, das ich mir vorgestellt hatte, kann es mehr als das EVM oder zkEVM. Diese Funktionen gehen über das Niveau der EIP-Erweiterungen hinaus. Auf dem Cairo VM können Machine-Learning-Modelle ausgeführt werden, und es wird sogar eine Plattform für Machine-Learning-Modelle auf StarkNet aufgebaut.

Im Vergleich zu zkEVM ist der Aufbau eines zkVM einfacher (ohne sich um die technischen Schulden von EVM zu kümmern), flexibler (ohne sich um Updates von EVM zu kümmern) und einfacher zu optimieren (Schaltkreis- und Beweisoptimierer sind viel einfacher und günstiger als der Aufbau von zkEVM).

Allerdings hat zkVM einen kleinen, aber potenziell tödlichen Nachteil. Wenn zkVM keine EVM-Kompatibilität auf der Ebene der Solidity-Sprache bieten kann, wird es für zkVM schwierig sein, ein umfassendes und ausgereiftes Web3-Entwicklungsumfeld ähnlich dem von EVM zu schaffen.

zkVM könnte ein größerer Trend sein, der die vertikale Optimierung des EVM ermöglichen und die horizontale Erweiterung des EVM-Ökosystems vorantreiben kann, um sich von den Einschränkungen des EVM zu lösen.

6. Die Zukunft von zkVM

Wenn es eine universelle zkVM gäbe, die Smart Contracts aller Programmiersprachen, nicht nur Solidity, nicht nur Cairo, sondern auch Rust, C++, Go, sicher mit Zero-Knowledge-Proofs ausführen könnte, wäre das nicht großartig? (Stellar hat es versucht, ist aber gescheitert.)

Wie @kelvinfichtererwähnt: Warum zkEVM, wenn zkMIPS? Wie@KyleSamaniErwähnt: EVM ist ein Fehler, kein Feature. Warum zkEVM, wenn zkVM?

Winterfall, Distaff, Miden VM und andere zkVMs haben noch kein hohes Maß an Entwicklerfreundlichkeit erreicht. Nervos verfügt über eine RISC-V VM, nutzt jedoch keine Zero-Knowledge-Proof-Technologie.

Die optimale Lösung in der aktuellen Situation besteht darin, einen WASM oder RISC-V zkVM zu erstellen, noch besser, wenn es Sprachen wie Rust, Go, C++ und sogar Solidity unterstützen könnte (zkSync scheint bedeutende Beiträge leisten zu können). Wenn es einen solchen universellen zkVM gäbe, wäre dies ein erheblicher Schlag für zkEVM.

Die Anzahl der Web3-Entwickler beträgt ungefähr 0,07% aller Entwickler. Dies impliziert, dass die Anzahl der Solidity-Entwickler noch kleiner als 0,07% ist, und noch weniger Entwickler würden Cairo zur Vertragsverfassung oder Leo zur Schaltungserstellung verwenden. Aus diesem Grund zielt das perfekte zkVM darauf ab, fast 100% der Entwickler zu bedienen, da jeder Entwickler eine perfekte Zero-Knowledge-Ausführungsumgebung mit nahezu jeder Programmiersprache erhalten kann.

Wenn Web3 und Krypto eines Tages die Welt dominieren sollten, glaube ich, dass es definitiv nicht das EVM-Ökosystem sein wird, das 100 % aller Entwickler einnimmt, sondern dass sich alle Entwickler allmählich zu Web3- und Krypto-Entwicklern entwickeln. Hier liegt die Genialität des universellen zkVM.

Native zkEVM ist die Zukunft der Blockchain.

Universal zkVM ist die Zukunft von Web3.

Haftungsausschluss:

  1. Dieser Artikel wurde aus [nachgedrucktForesight Research]. Alle Urheberrechte gehören dem Originalautor [ msfew @ Foresight Ventures]. Wenn es Einwände gegen diesen Nachdruck gibt, wenden Sie sich bitte an die Gate LearnTeam, und sie werden es schnell bearbeiten.
  2. Haftungsausschluss: Die Ansichten und Meinungen, die in diesem Artikel zum Ausdruck gebracht werden, sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verteilen oder Plagiieren der übersetzten Artikel untersagt.

Foresight Ventures: Entschlüsselung von zk, zkVM, zkEVM und ihrer Zukunft

Einsteiger12/27/2023, 3:12:52 PM
Dieser Artikel bietet eine detaillierte Einführung in Konzepte wie zk, zkVM, zkEVM usw., die darauf abzielen, durch eine einfache Analyse ein tieferes Verständnis der zk-Technologie zu vermitteln.

Zu lang; nicht gelesen

  • Die Zero-Knowledge-Proof-Technologie gewährleistet die Integrität, Korrektheit und Privatsphäre von Berechnungen und findet Anwendungen in der Skalierbarkeit und Privatsphäre von Blockchains.
  • zk-SNARK und zk-STARK haben jeweils ihre Vorteile, und ihre vernünftige Kombination birgt noch mehr Potenzial.
  • zkVM ermöglicht Anwendungen mit Zero-Knowledge Proof-Fähigkeiten und ist in Mainstream, EVM oder neuen Befehlssatz-basierten Implementierungen kategorisiert.
  • Die Anpassung der EVM umfasst EVM-Kompatibilität, Äquivalenz und Spezifikationskonformität.
  • zkEVM ist eine umgebungsfreundliche Zero-Knowledge-Proof-Umgebung, die mit EVM kompatibel ist und in native und kompilierte Varianten unterteilt ist.
  • Native zkEVM ist die Zukunft von Ethereum und Blockchain.
  • Ein allgemeiner zkVM, der das Solidity-Ökosystem unterstützt, ist die Zukunft von Web3.

0. Nullwissensnachweise

Hier ist eine einfache und leicht verständliche Einführung in Null-Wissen-Beweise:

Stellen Sie sich vor, Sie sind in der Grundschule. Der Lehrer ist der Verifizierer, und Sie als Schüler sind der Beweiser. Wie können Sie beweisen, dass Sie die Formel zur Lösung quadratischer Gleichungen verstehen? Hier kommt eine Mathematikprüfung ins Spiel.

Der Lehrer wird Ihnen zehn verwandte Fragen zufällig stellen, und wenn Sie das Konzept wirklich verstehen, werden Sie in der Lage sein, alle zu lösen. Während dieses Prozesses müssen Sie sich nicht die spezifischen Inhalte der Formel merken oder aufschreiben, aber der Lehrer kann leicht Ihr Wissensniveau überprüfen.

Tatsächlich handelt es sich um die Methode, die von Tartaglia und Cardano (ja, das ist der Name) verwendet wurde, um darum zu konkurrieren, wer die Lösung für die kubische Gleichung entdeckt hat. Beide wollten den Inhalt ihrer Formeln nicht gegenseitig offenlegen, aber durch Problemlösung konnten sie leicht überprüfen und bestimmen, ob sie dieses Wissen beherrscht hatten, ohne die Einzelheiten preiszugeben.

Was ist der Zweck von Zero-Knowledge-Beweisen? Der Zweck besteht darin, Rechenleistung zu sparen und den On-Chain-Speicherplatz im gesamten Prozess zu reduzieren. Darüber hinaus bietet es Datenschutz, der sich mit den Eigenschaften der Vertrauenslosigkeit in der Blockchain und den Prinzipien der Kryptographie deckt.

1. SNARK und STARK

Im Bereich der Blockchain bezieht sich der Begriff "zk", der verwendet oder erwähnt wird, in der Regel nicht auf tatsächliche Zero-Knowledge-Beweise, sondern bezieht sich oft auf Gültigkeitsbeweise. Aufgrund der Begriffsverwirrung werden in bestimmten Teilen dieses Textes weiterhin diese "falsch verwendeten" Begriffe verwendet.

In der aktuellen Blockchain-Landschaft kann zk als die führende und optimale Lösung für Blockchain-Skalierbarkeit (nicht true zk, sondern Validity Proof) und Datenschutztechnologie (true zk) angesehen werden, die in Projekten wie Tornado.cash, ZCash, zkSync, zk.money, Filecoin und Mina verwendet wird.

Die aktuellen technischen Lösungen sind hauptsächlich in zwei Kategorien unterteilt: SNARK und STARK. Bei STARK steht das "S" für skalierbar, was bedeutet, dass die bewiesenen Aussagen wiederkehrende Strukturen aufweisen, während SNARK beliebige Schaltkreise unterstützt, die vorverarbeitet werden, um prägnante Beweise zu erbringen. Dabei hat die praktische Implementierung von SNARKs die führende Position eingenommen, während STARKs hauptsächlich in großem Maßstab in den von StarkWare eingeführten Produkten angenommen werden. Im Folgenden folgt ein Vergleich zwischen ihnen.

Aus der Perspektive von Meme ist STARK besser als SNARK (😊, Star Wars, Star Trek).

Wenn SNARK die Zukunft von Ethereum 2.0 ist, dann wird STARK die Zukunft von Ethereum 3.0 sein. Ernsthaft, die Vorteile von STARK sind:

  • Niedrigere Gasgebühren (bessere Skalierbarkeit)
  • Größere Batchgröße (viel bessere Skalierbarkeit)
  • Schnellere Beweise (mehr als bessere Skalierbarkeit)
  • Kein vertrauenswürdiges Setup (die generierten Parameter sind nur für die aktuelle Anwendung gültig, und bei Änderungen ist ein neues Setup erforderlich)
  • Post-Quanten-Sicherheit

Die von STARK generierten Proofs sind jedoch sehr umfangreich. Aufgrund bestimmter Einschränkungen, wie z. B. der WASM, können während des Baus zusätzliche Vorgänge erforderlich sein (hier beziehen wir uns auf SNARK). Kürzlich hat Mir eine praktische Implementierung eines AIR-basierten STARK unter Verwendung von Starky bereitgestellt, das Teil von Plonky2 ist (die Beziehung zwischen Plonky2 und Starky ist ziemlich komplex...). Meiner persönlichen Meinung nach kann die Größe zwar mit verschiedenen Techniken optimiert werden, aber es ist schwierig, die Zeitkomplexität des Algorithmus selbst weiter zu komprimieren.

Diese Zero-Knowledge-Proof-Technologien können auf vernünftige Weise kombiniert werden, um leistungsstärkere Anwendungen zu entwickeln. Zum Beispiel verwendet Polygon Hermez SNARK, um die Korrektheit von STARK zu überprüfen und damit die Gasgebühr beim Veröffentlichen des Nachweises zu reduzieren.

Insgesamt sind SNARK und STARK beide ausgezeichnete Zero-Knowledge-Beweistechnologien, von denen jede ihre eigenen Stärken hat, und ihre vernünftige Kombination hat noch mehr Potenzial.

2. zkVM

Die zuvor genannten Tornado.cash und zk.money sind ähnliche Anwendungen, die nur Transferoperationen unter Verwendung von Zero-Knowledge-Beweisen unterstützen. Sie unterstützen keine allgemeine Berechnung. Im Vergleich dazu haben diese Anwendungen nur die Funktionalität von Bitcoin, weit weniger als das Turing-vollständige Ethereum, geschweige denn den Aufbau eines Ökosystems (Die Smart Contracts auf Bitcoin müssen noch ein blühendes Ökosystem etablieren).

zkVM ist eine virtuelle Maschine, die sichere, überprüfbare und vertrauenswürdige Eigenschaften mithilfe von Zero-Knowledge-Beweisen gewährleistet. In einfachen Worten nimmt sie einen alten Zustand und ein Programm als Eingabe und gibt einen neuen Zustand zurück. Sie verleiht allen Anwendungen die Superkraft der Zero-Knowledge-Beweise.

Midens Präsentation auf der ETH Amsterdam fasste effektiv zusammen, was zkVM mit einer einzigen Folie ist.

Vorteile von zkVM:

  • Leicht zu bedienen: Entwickler können zkVM verwenden, um Programme auszuführen und die Rechensicherheit zu gewährleisten, ohne Kryptographie oder die Entwicklung von Zero-Knowledge erlernen zu müssen (dies bedeutet nicht, dass es keine Einstiegshürden gibt).
  • Universal: zkVM kann Beweise für jedes Programm und jede Berechnung generieren.
  • Konzise: Der gesamte VM kann mit vergleichsweise wenigen Einschränkungen beschrieben werden, ohne den gesamten VM-Schaltkreis wiederholt generieren zu müssen.
  • Rekursion: Kostenlose Rekursionsfunktion. Ähnlich wie bei seiner Universalität kann die Überprüfung der VM mithilfe der VM selbst durchgeführt werden. Dies ist ziemlich interessant, zum Beispiel können Sie eine zkVM innerhalb einer zkVM haben, ähnlich dem von StarkWare erwähnten Konzept von L3.

Nachteile von zkVM:

  • Spezifische Rechenarchitektur: Nicht alle Nullwissenbeweissysteme können für zkVM verwendet werden.
  • Leistungsprobleme: Schaltkreise müssen optimiert werden und können speziell für bestimmte Berechnungen optimiert werden.

Derzeit gibt es drei Haupttypen von zkVM, mit ihren jeweiligen Anweisungssätzen in Klammern: Mainstream (WASM, RISC-V), EVM (EVM-Bytecode), ZK-Optimized (ein neuer Befehlssatz, optimiert für Zero-Knowledge-Beweise, wie Cairo und zkSync). Im Folgenden finden Sie eine Vergleichstabelle dieser Typen basierend auf Miden's Präsentation auf der ETH Amsterdam.

Vieles, was im Nullwissensbeweis-Entwicklungssystem getan wird, dreht sich hauptsächlich darum, Entwickler zu befähigen, die Circom-Bibliothek (und zum Beispiel Snarkyjs) oder andere neu erstellte Sprachen (wie Leo oder Cairo, die ihre eigenen einzigartigen Einschränkungen haben) für die Entwicklung von allgemeinen zk DApps zu nutzen. Dies ist jedoch nicht so geradlinig und einfach zu erlernen wie die Verwendung von Solidity auf Ethereum.

Darüber hinaus gibt es viele Projekte wie zkSync, Scroll oder mehrere unter dem Dach von Polygon, die mit zkEVM oder anderen zkVM-Lösungen experimentieren.

3. EVM

Die EVM ist Ethereums virtuelle Maschine, die auch als Satz von Ausführungsumgebungen für die Ausführung von Smart Contracts verstanden werden kann.

Im Laufe der Jahre haben verschiedene öffentliche Blockchains kontinuierlich versucht, kompatibel mit der EVM zu werden und sich damit in das Entwicklungsökosystem von Ethereum zu integrieren. Dieses Konzept hat zur Ableitung von Begriffen wie EVM-Kompatibilität, EVM-Äquivalenz und anderen Definitionen geführt.

  • EVM-Kompatibilität: Anpassung auf der Sprachebene, wie z.B. mit Solidity.
  • EVM-Äquivalenz: Anpassung auf der EVM-Bytecode-Ebene.
  • EVM-Spezifikationsanpassung: Dies wird normalerweise als das echte zkEVM bezeichnet. In den meisten Fällen handelt es sich sogar um ein rückwärtskompatibles, optimiertes Superset, das Funktionen bieten kann, die nicht von der EVM bereitgestellt werden, wie z.B. Kontenabstraktion (wobei jedes Konto ein Smart Contract ist).

4. zkEVM

Lassen Sie uns zkEVM weiter interpretieren. Nach Definition ist zkEVM eine virtuelle Maschine, die mit EVM kompatibel ist und auch freundlich zu Zero-Knowledge-Beweisen ist, um die vollständige Korrektheit von Programmen, Operationen und Ein- / Ausgabe zu gewährleisten.

Um eine universelle Berechnung zu erreichen, gibt es zwei Hauptprobleme bei der Entwicklung von zkEVM:

a) Schaltkreiskomplexität

Verschiedene Verträge erfordern die Generierung verschiedener Schaltkreise, und diese Schaltkreise sind ziemlich 'komplex'.

Dieser Aspekt beruht hauptsächlich auf verschiedenen Optimierungen. Zum Beispiel verwendet Aleo (obwohl es nicht vom direkten ZK-Typ ist... nur ein Beispiel für Optimierung) verteilte Cluster für gleichzeitige Beweisberechnungen oder verschiedene Hardware-Optimierungen zur Beschleunigung.

b) Designschwierigkeiten

zkEVM erfordert nicht nur eine Neukonstruktion des EVM, sondern auch eine Neukonstruktion des gesamten Zustandsübergangs von Ethereum unter Verwendung der Zero-Knowledge-Proof-Technologie.

Das ursprüngliche Design der EVM hat die Entwicklung von zkEVM nicht vorausgesehen, was zu erheblichen Schwierigkeiten geführt hat. Dies hat zu zwei Ansätzen geführt, wie im Diagramm dargestellt.

Oder, um nach der Architektur einer virtuellen Maschine (VM) zu unterscheiden, wie im Diagramm unten (großer Dank an Scroll Tech für die ursprüngliche Bildzusammenfassung!). Opcode bezieht sich auf EVM-Opcode. Der StarkWare-Bereich verwendet Warp, um Solidity-Verträge in Cairo-Verträge umzuwandeln, oder kann Verträge direkt in Cairo schreiben und trotzdem eine gute Entwicklungserfahrung und einen vollständigen Satz von Tools erhalten.

Auf Entwickler- und Benutzerebene sind diese Lösungen meiner Meinung nach im Grunde nicht voneinander zu unterscheiden. In Bezug auf die Infrastruktur gilt: Je weiter rechts die Lösung ist, desto besser ist die EVM-Kompatibilität. Sie kann nahtlos in die Infrastruktur wie Geth integriert werden, aber der Entwicklungsfortschritt ist im Allgemeinen langsamer.

5. zkEVM und zkVM

Die Existenz von zkEVM ist meiner Meinung nach innovativ und trägt zur Prosperität von Ethereum und seinem Ökosystem bei. Auf der anderen Seite stärkt die Existenz des zkVM Ethereum möglicherweise nicht unbedingt, aber sie bietet eine größere Vorstellungskraft.

Obwohl das Cairo VM von StarkNet möglicherweise nicht das perfekte zkVM ist, das ich mir vorgestellt hatte, kann es mehr als das EVM oder zkEVM. Diese Funktionen gehen über das Niveau der EIP-Erweiterungen hinaus. Auf dem Cairo VM können Machine-Learning-Modelle ausgeführt werden, und es wird sogar eine Plattform für Machine-Learning-Modelle auf StarkNet aufgebaut.

Im Vergleich zu zkEVM ist der Aufbau eines zkVM einfacher (ohne sich um die technischen Schulden von EVM zu kümmern), flexibler (ohne sich um Updates von EVM zu kümmern) und einfacher zu optimieren (Schaltkreis- und Beweisoptimierer sind viel einfacher und günstiger als der Aufbau von zkEVM).

Allerdings hat zkVM einen kleinen, aber potenziell tödlichen Nachteil. Wenn zkVM keine EVM-Kompatibilität auf der Ebene der Solidity-Sprache bieten kann, wird es für zkVM schwierig sein, ein umfassendes und ausgereiftes Web3-Entwicklungsumfeld ähnlich dem von EVM zu schaffen.

zkVM könnte ein größerer Trend sein, der die vertikale Optimierung des EVM ermöglichen und die horizontale Erweiterung des EVM-Ökosystems vorantreiben kann, um sich von den Einschränkungen des EVM zu lösen.

6. Die Zukunft von zkVM

Wenn es eine universelle zkVM gäbe, die Smart Contracts aller Programmiersprachen, nicht nur Solidity, nicht nur Cairo, sondern auch Rust, C++, Go, sicher mit Zero-Knowledge-Proofs ausführen könnte, wäre das nicht großartig? (Stellar hat es versucht, ist aber gescheitert.)

Wie @kelvinfichtererwähnt: Warum zkEVM, wenn zkMIPS? Wie@KyleSamaniErwähnt: EVM ist ein Fehler, kein Feature. Warum zkEVM, wenn zkVM?

Winterfall, Distaff, Miden VM und andere zkVMs haben noch kein hohes Maß an Entwicklerfreundlichkeit erreicht. Nervos verfügt über eine RISC-V VM, nutzt jedoch keine Zero-Knowledge-Proof-Technologie.

Die optimale Lösung in der aktuellen Situation besteht darin, einen WASM oder RISC-V zkVM zu erstellen, noch besser, wenn es Sprachen wie Rust, Go, C++ und sogar Solidity unterstützen könnte (zkSync scheint bedeutende Beiträge leisten zu können). Wenn es einen solchen universellen zkVM gäbe, wäre dies ein erheblicher Schlag für zkEVM.

Die Anzahl der Web3-Entwickler beträgt ungefähr 0,07% aller Entwickler. Dies impliziert, dass die Anzahl der Solidity-Entwickler noch kleiner als 0,07% ist, und noch weniger Entwickler würden Cairo zur Vertragsverfassung oder Leo zur Schaltungserstellung verwenden. Aus diesem Grund zielt das perfekte zkVM darauf ab, fast 100% der Entwickler zu bedienen, da jeder Entwickler eine perfekte Zero-Knowledge-Ausführungsumgebung mit nahezu jeder Programmiersprache erhalten kann.

Wenn Web3 und Krypto eines Tages die Welt dominieren sollten, glaube ich, dass es definitiv nicht das EVM-Ökosystem sein wird, das 100 % aller Entwickler einnimmt, sondern dass sich alle Entwickler allmählich zu Web3- und Krypto-Entwicklern entwickeln. Hier liegt die Genialität des universellen zkVM.

Native zkEVM ist die Zukunft der Blockchain.

Universal zkVM ist die Zukunft von Web3.

Haftungsausschluss:

  1. Dieser Artikel wurde aus [nachgedrucktForesight Research]. Alle Urheberrechte gehören dem Originalautor [ msfew @ Foresight Ventures]. Wenn es Einwände gegen diesen Nachdruck gibt, wenden Sie sich bitte an die Gate LearnTeam, und sie werden es schnell bearbeiten.
  2. Haftungsausschluss: Die Ansichten und Meinungen, die in diesem Artikel zum Ausdruck gebracht werden, sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verteilen oder Plagiieren der übersetzten Artikel untersagt.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!