
Autor: Kernel Ventures Turbo Guo
Herausgeber: Kernel Ventures Rose, Kernel Ventures Mandy, Kernel Ventures Joshua
TLDR: Der ZK-Coprozessor ist eine Lösung für dApps zur Nutzung von Off-Chain-Rechenressourcen. Dieser Artikel untersucht die bestehenden Lösungen, verschiedene Anwendungen und die zukünftige Entwicklung von Coprozessoren. Die wichtigsten behandelten Themen sind die folgenden:
zkVM von RISC Zero ist eine ZK-Coprozessorlösung, die es On-Chain-Verträgen ermöglicht, die Off-Chain-zkVM aufrufen, um bestimmten Rust-Code auszuführen und die Ergebnisse an die Kette zurückzugeben, während zkp zur On-Chain-Verifizierung der Richtigkeit der Berechnung bereitgestellt wird.
Es gibt verschiedene Lösungen für ZK-Coprozessoren. Neben zkVM können Benutzer auch benutzerdefinierte ZK-Schaltkreise für ihre Programme schreiben oder vorgefertigte Frameworks zum Schreiben von Schaltkreisen verwenden, wodurch Verträge Off-Chain-Rechenressourcen nutzen können.
Der ZK-Coprozessor kann in DeFi eine Rolle spielen, beispielsweise indem er AMM-Berechnungen außerhalb der Kette auslagert, um einen Wert ähnlich dem MEV zu erfassen, oder indem er komplexe und rechenintensive Logik für AMMs ermöglicht. Der ZK-Coprozessor kann auch Echtzeit-Zinsberechnungen für Kreditprotokolle erleichtern und unter anderem Margenberechnungen transparent machen. zkAMM hat zwei Implementierungsansätze, einen mit zkVM und einen mit zkOracle.
Der ZK-Coprozessor hat auch andere potenzielle Anwendungsfälle, z. B. Wallets, die ihn zur Off-Chain-Identitätsüberprüfung verwenden. Er kann unter anderem komplexere Berechnungen für On-Chain-Spiele ermöglichen und den für die DAO-Verwaltung erforderlichen Gasverbrauch reduzieren.
Die Landschaft für ZK-Coprozessoren ist noch ungewiss, aber im Vergleich zu Benutzern, die ihre eigenen Schaltkreise schreiben, ist die Verwendung einer Lösung für die Off-Chain-Ressourcenschnittstelle benutzerfreundlicher. Die Frage, welche Rechendienstleister hinter dieser „Schnittstellen“-Lösung integriert sind, ob traditionelle Cloud-Anbieter oder dezentrale Netzwerke zur Ressourcenfreigabe, ist jedoch ein weiteres wichtiges Diskussionsthema.
1. Zweck und Anwendung von ZK-Coprozessoren

Quelle: Kernel Ventures
Der Kern des ZK-Coprozessors besteht darin, On-Chain-Berechnungen Off-Chain zu verlagern. Dabei werden ZK-Beweise verwendet, um die Zuverlässigkeit von Off-Chain-Berechnungen sicherzustellen. So können Smart Contracts problemlos große Mengen an Berechnungen verarbeiten und gleichzeitig die Zuverlässigkeit der Berechnungen überprüfen. Dies ähnelt der Idee von zkRollups, aber Rollups verwenden Off-Chain-Rechenressourcen auf der Chain-Protokollebene, während ZK-Coprozessoren von dApps verwendet werden, um Off-Chain-Ressourcen zu nutzen.
Am Beispiel von RISC Zero zur Erläuterung einer Lösung von ZK-Coprozessoren hat RISC Zero die Bonsai ZK-Coprozessorarchitektur entwickelt, deren Kern die zkVM von RISC Zero ist. Entwickler können auf zkVM zkp generieren, damit „ein bestimmter Rust-Code korrekt ausgeführt wird“. Mit zkVM sieht der spezifische Prozess zur Implementierung eines ZK-Coprozessors wie folgt aus:
Entwickler senden eine Anfrage an den Relay-Vertrag von Bonsai, d. h., sie fordern das vom Entwickler benötigte Programm in zkVM an.
Der Relay-Vertrag sendet die Anfrage an den Off-Chain-Anforderungspool.
Bonsai führt die Anfrage in einer Off-Chain-zkVM aus, führt umfangreiche Berechnungen durch und generiert dann eine Quittung.
Diese Nachweise, auch „Quittungen“ genannt, werden von Bonsai über den Relay-Vertrag wieder an die Kette zurückgegeben.

Quelle: RISC Zero
In Bonsai wird das nachgewiesene Programm als Gastprogramm bezeichnet, und die Quittung dient zum Nachweis, dass das Gastprogramm korrekt ausgeführt wurde. Die Quittung enthält ein Journal und ein Siegel. Insbesondere enthält das Journal die öffentliche Ausgabe der zkVM-Anwendung, während das Siegel zum Nachweis der Gültigkeit der Quittung verwendet wird, d. h. zum Nachweis, dass das Gastprogramm korrekt ausgeführt wurde. Das Siegel selbst ist ein vom Beweiser generierter zkSTARK. Durch die Überprüfung der Quittung wird sichergestellt, dass das Journal mit der richtigen Schaltung usw. erstellt wurde.
Bonsai vereinfacht für Entwickler den Prozess, Rust-Code in zkVM-Bytecode zu kompilieren, Programme hochzuladen, sie in der VM auszuführen und Feedback zu Beweisen zu erhalten, sodass sich Entwickler stärker auf das logische Design konzentrieren können. Es ermöglicht nicht nur die Ausführung einer teilweisen Vertragslogik, sondern der gesamten Vertragslogik außerhalb der Kette. RISC Zero nutzt auch Fortsetzungen, indem es die Generierung eines großen Beweises in kleinere Teile aufteilt und so die Beweisgenerierung für große Programme ermöglicht, ohne übermäßig viel Speicher zu verbrauchen. Neben RISC Zero gibt es andere Projekte wie IronMill, =nil; Foundation und Marlin, die ähnliche allgemeine Lösungen bieten.
2. Anwendung von ZK-Coprozessoren in DeFi
2.1 AMM - Bonsai als Coprozessor
zkUniswap ist ein AMM, das Off-Chain-Rechenressourcen nutzt. Seine Hauptfunktion besteht darin, einen Teil der Swap-Berechnung mithilfe von Bonsai Off-Chain auszulagern. Benutzer initiieren eine Swap-Anfrage On-Chain. Der Relay-Vertrag von Bonsai erhält die Anfrage, initiiert die Off-Chain-Berechnung und gibt nach Abschluss das Berechnungsergebnis und den Beweis an die Rückruffunktion des EVM zurück. Wenn der Beweis erfolgreich verifiziert wurde, wird der Swap ausgeführt.
Der Tausch wird jedoch nicht in einem Durchgang abgeschlossen. Die Anforderungs- und Ausführungsprozesse finden in unterschiedlichen Transaktionen statt, was gewisse Risiken mit sich bringt. Das heißt, zwischen der Übermittlung der Anforderung und dem Abschluss des Tauschs kann sich der Status des Pools ändern. Da die Überprüfung auf dem Status des Pools zum Zeitpunkt der Anforderungsübermittlung basiert, ist die Überprüfung ungültig, wenn eine Anforderung noch aussteht und sich der Status des Pools ändert. Dies ist eine wichtige Überlegung bei der Gestaltung und Sicherheit solcher Systeme.
Um dieses Problem zu lösen, haben Entwickler eine Poolsperre entwickelt. Wenn ein Benutzer eine Anfrage initiiert, werden alle Vorgänge außer der Abwicklung des Swaps vorübergehend gesperrt, bis Off-Chain-Computing den On-Chain-Swap erfolgreich auslöst oder der Swap abläuft (das Zeitlimit wird voreingestellt). Wenn ein Zeitlimit vorhanden ist, wird der Pool nicht auf unbestimmte Zeit gesperrt, selbst wenn es Probleme mit dem Relay oder ZKP gibt. Das spezifische Zeitlimit kann einige Minuten betragen.
zkUniswap hat ein einzigartiges Design, um MEV zu erfassen, da die Entwickler beabsichtigen, das Protokoll von MEV profitieren zu lassen. Theoretisch haben zkAMMs auch MEV, da die erste Person, die einen Swap einreicht, diesen sperren und anderen zuvorkommen kann, was zu Gaskriegen führen kann, und die Ersteller können die Transaktionssequenzierung weiterhin priorisieren. Allerdings nimmt zkUniswap die MEV-Gewinne für sich selbst, indem es eine Methode verwendet, die als Variable Rate Gradual Dutch Auction (VRGDA) bekannt ist. Dieser Ansatz ermöglicht es zkUniswap, den MEV-Wert für das Protokoll zu extrahieren.
Das Konzept von zkUniswap ist recht interessant. Es beinhaltet die Senkung des Preises gesperrter Vermögenswerte in einer Auktion. Wenn die gesperrten Vermögenswerte schnell verkauft werden, erkennt das Protokoll eine hohe Nachfrage und erhöht den Preis automatisch. Wenn der Verkauf gesperrter Vermögenswerte nachlässt, senkt das Protokoll den Preis. Dieser innovative Ansatz könnte möglicherweise eine neue Einnahmequelle werden. Im Wesentlichen führt das Protokoll einen einzigartigen Mechanismus zur Priorisierung von Transaktionen ein, und der Wettbewerb um die Preise kommt dem Projekt durch diesen Mechanismus direkt zugute.
2.2 AMM - zkOracle als Coprozessor
Neben der Verwendung von zkVM haben einige vorgeschlagen, zkOracle zu verwenden, um Off-Chain-Rechenressourcen zu nutzen. Es ist erwähnenswert, dass zkOracle ein I/O-Orakel (Eingabe und Ausgabe) ist, das sowohl Eingabe als auch Ausgabe verarbeitet. Im Allgemeinen gibt es zwei Arten von Orakeln, eines ist das Eingabeorakel und das andere ist das Ausgabeorakel. Das Eingabeorakel verarbeitet (berechnet) Off-Chain-Daten und legt sie in die Kette, während das Ausgabeorakel On-Chain-Daten verarbeitet (berechnet) und sie Off-Chain bereitstellt. Das I/O-Orakel (zkOracle) führt zuerst die Ausgabe und dann die Eingabe aus, sodass die Kette Off-Chain-Rechenressourcen nutzen kann.
Einerseits verwendet zkOracle On-Chain-Daten als Datenquelle und andererseits verwendet es ZK, um sicherzustellen, dass die Berechnungen der Oracle-Knoten ehrlich sind, und erfüllt so die Funktion eines Coprozessors. Daher kann die Kernberechnung von AMM in zkOracle platziert werden, was traditionelle AMM-Funktionalität ermöglicht und gleichzeitig komplexere und rechenintensivere Operationen mit zkOracle ermöglicht.

Quelle: github fewwwww/zkAMM
2.3 Kreditzinsberechnung, Margenberechnung und andere Anwendungen
Abgesehen von der Implementierungsmethode können durch das Hinzufügen von ZK-Coprozessoren viele Funktionen erreicht werden. Beispielsweise können Kreditprotokolle die Zinssätze anhand von Echtzeitparametern statt anhand vordefinierter Bedingungen anpassen. Beispielsweise kann der Zinssatz erhöht werden, um das Angebot anzuziehen, wenn die Nachfrage nach Krediten stark ist, und der Zinssatz kann gesenkt werden, wenn die Nachfrage sinkt. Dies erfordert, dass das Kreditprotokoll eine große Menge an On-Chain-Daten in Echtzeit erhält, die Daten vorverarbeitet und die Parameter außerhalb der Kette berechnet (es sei denn, die On-Chain-Kosten sind extrem niedrig).
Auch komplexe Berechnungen wie die Ermittlung von Margin-Salden, nicht realisierten Gewinnen/Verlusten usw. können mithilfe von Coprozessoren ausgeführt werden. Der Vorteil der Verwendung von Coprozessoren besteht darin, dass diese Anwendungen dadurch transparenter und überprüfbarer werden. Die Logik der Margin-Engine ist keine geheime Blackbox mehr. Obwohl die Berechnungen außerhalb der Kette durchgeführt werden, können Benutzer voll und ganz auf die Richtigkeit ihrer Ausführung vertrauen. Dieser Ansatz ist auch auf Optionsberechnungen anwendbar.
3. Andere Anwendungen von ZK-Coprozessoren
3.1 Wallet - Bonsai als Coprozessor verwenden
Bonfire Wallet verwendet zkVM, um die Berechnung der Identitätsüberprüfung außerhalb der Kette auszulagern. Das Ziel dieser Brieftasche ist es, Benutzern das Erstellen von Burner-Wallets mithilfe biometrischer Informationen (Fingerabdrücke) oder verschlüsselter Hardware-Yubey zu ermöglichen. Insbesondere verwendet Bonfire Wallet WebAuthn, einen gängigen Webauthentifizierungsstandard, damit Benutzer die Webidentitätsüberprüfung direkt mit Geräten ohne Kennwort durchführen können. In Bonfire Wallet generieren Benutzer also einen öffentlichen Schlüssel mit WebAuthn (nicht in der Kette, sondern für WebAuthn) und verwenden ihn dann zum Erstellen einer Brieftasche. Jede Burner-Wallet hat einen Vertrag in der Kette, der den öffentlichen Schlüssel von WebAuthn enthält. Der Vertrag muss die WebAuthn-Signatur des Benutzers überprüfen. Diese Berechnung ist jedoch umfangreich, daher wird Bonsai verwendet, um diese Berechnung außerhalb der Kette auszulagern, und zwar durch ein zkVM-Gastprogramm, um die Signatur außerhalb der Kette zu überprüfen und zkp für die Überprüfung in der Kette zu erstellen.

Quelle: Bonfire Wallet
3.2 On-Chain-Datenabruf – Von Benutzern geschriebene ZK-Schaltungen
Axiom ist eine Anwendung, die nicht zkVM, sondern eine andere Coprozessor-Lösung verwendet. Lassen Sie uns zunächst vorstellen, was Axiom erreichen will. Es nutzt einen ZK-Coprozessor, um Verträgen den Zugriff auf historische On-Chain-Informationen zu ermöglichen. In der Realität ist es ziemlich schwierig, Verträgen das Lesen historischer Daten zu ermöglichen, da Smart Contracts normalerweise On-Chain-Daten in Echtzeit abrufen, was sehr teuer sein kann. Für Verträge ist es schwierig, auf wertvolle On-Chain-Daten wie historische Kontostände oder Transaktionsaufzeichnungen zuzugreifen.

Quelle: Axiom-Demo
Axiom-Knoten greifen auf die erforderlichen On-Chain-Daten zu und führen die angegebene Berechnung Off-Chain durch. Anschließend generieren sie einen Zero-Knowledge-Beweis für die Berechnung, der beweist, dass das Ergebnis auf der Grundlage gültiger On-Chain-Daten korrekt berechnet wurde. Dieser Beweis wird On-Chain überprüft, um sicherzustellen, dass der Vertrag diesem Ergebnis vertrauen kann.
Um zkp für Off-Chain-Berechnungen zu generieren, müssen Programme in ZK-Schaltkreise kompiliert werden. Zuvor haben wir auch die Verwendung von zkVM hierfür erwähnt, aber Axiom hat vorgeschlagen, dass es hierfür viele Lösungen gibt und dass es notwendig ist, Leistung, Flexibilität und Entwicklungserfahrung in Einklang zu bringen:
Angepasste Schaltkreise: Wenn Entwickler Schaltkreise für ihre Programme anpassen, ist die Leistung sicherlich besser, die Entwicklung braucht jedoch Zeit.
eDSL/DSL: Entwickler schreiben immer noch ihre Schaltkreise, aber es gibt einige optionale Frameworks, die Entwicklern bei der Lösung von zk-bezogenen Problemen helfen und so Leistung und Entwicklungserfahrung in Einklang bringen.
zkVM: Entwickler führen ZK direkt auf einer vorhandenen virtuellen Maschine aus, was sehr praktisch ist, Axiom jedoch für ineffizient hält.
Aus diesem Grund hat sich Axiom für die zweite Option entschieden und stellt den Benutzern einen Satz optimierter ZK-Module zur Verfügung, mit denen sie ihre eigenen Schaltkreise entwerfen können.
Zu den ähnlichen Projekten wie Axiom gehört Herodotus, das als Middleware für Cross-Chain-Messaging konzipiert ist. Da die Informationsverarbeitung außerhalb der Kette erfolgt, ist es sinnvoll, verschiedene Ketten die Verarbeitung der Daten abfragen zu lassen. Ein weiteres Projekt, Space and Time, verwendet eine ähnliche Architektur zur Implementierung der Datenindizierung.
3.3 On-Chain-Spiele, DAO-Governance und andere Anwendungen
Zusätzlich zu den oben genannten On-Chain-Spielen kann die DAO-Governance auch ZK-Coprozessoren verwenden. RISC Zero ist der Ansicht, dass jede Berechnung, die mehr als 250.000 Gas erfordert, mit einem ZK-Coprozessor billiger wäre, aber wie dies berechnet wird, muss noch weiter untersucht werden. Die DAO-Governance kann auch ZK-Coprozessoren verwenden, da sie mehrere Personen und mehrere Verträge umfasst, was sehr rechenintensiv ist. RISC Zero behauptet, dass die Verwendung von Bonsai die Gasgebühren um 50 % senken kann. Viele ZKML-Projekte wie Modulus Labs und Giza verwenden dieselbe Lösung wie ZK-Coprozessoren, aber das Konzept der ZK-Coprozessoren ist breiter.
Erwähnenswert ist, dass es im Bereich der ZK-Coprozessoren einige Hilfsprojekte gibt, z. B. ezkl, das Compiler für ZK-Schaltungen, Toolkits für die Bereitstellung von ZK und Tools zum Auslagern von On-Chain-Berechnungen außerhalb der Chain bereitstellt.
4. Zukunftsaussichten
Coprozessoren versorgen On-Chain-Anwendungen mit externen Rechenressourcen ähnlich der „Cloud“ und bieten kostengünstige und umfangreiche Rechenleistung, während sich die On-Chain-Verarbeitung auf wesentliche Berechnungen konzentriert. In der Praxis kann zkVM auch in der Cloud ausgeführt werden. Im Wesentlichen sind ZK-Coprozessoren ein architektonischer Ansatz, der On-Chain-Berechnungen mit einer unbegrenzten Quelle an Off-Chain-Rechenressourcen in die Off-Chain verlagert.
Im Wesentlichen können Off-Chain-Computing-Ressourcen von herkömmlichen Cloud-Anbietern, sogar von dezentraler gemeinsamer Nutzung von Computing-Ressourcen und von lokalen Geräten bereitgestellt werden. Diese drei Richtungen haben jeweils ihre Besonderheiten. Herkömmliche Cloud-Anbieter können relativ ausgereifte Off-Chain-Computing-Lösungen bereitstellen, die „Robustheit“ zukünftiger dezentraler Computing-Ressourcen könnte stärker sein und auch lokales Computing birgt viel Potenzial. Derzeit befinden sich jedoch viele ZK-Coprozessor-Projekte in der Phase eines Closed-Source-Dienstanbieters, da das Ökosystem für diese Dienste noch nicht vollständig ausgebildet ist und die Spezialisierung der Dienste zwischen verschiedenen Projekten noch nicht definiert ist. Zwei mögliche Szenarien für die Zukunft sind:
In jedem Teil des ZK-Coprozessors konkurrieren zahlreiche Projekte miteinander.
Ein einzelnes Projekt mit hervorragender Serviceerfahrung kann den Markt dominieren.
Aus der Sicht eines Entwicklers interagieren ZK-Coprozessoren möglicherweise nur mit einem einzigen „Schnittstellen“-Projekt. Dies ist ähnlich dem Grund, warum Amazon Web Services einen beträchtlichen Marktanteil hat, da Entwickler dazu neigen, sich an eine bestimmte Bereitstellungsmethode zu gewöhnen. Die Frage, welche Computing-Dienstleister (traditionelle Cloud-Unternehmen, dezentrales Ressourcen-Sharing) hinter diesem Off-Chain-Projekt für Rechenressourcen „Schnittstellen“ integriert sind, ist jedoch ein weiteres Thema, das einer Diskussion bedarf.
Kernel Ventures ist ein von der Forschungs- und Entwicklungscommunity betriebener Krypto-VC-Fonds mit über 70 Investitionen in der Frühphase, der sich auf Infrastruktur, Middleware, dApps, insbesondere ZK, Rollup, DEX, Modular Blockchain und vertikale Bereiche konzentriert, die die nächste Milliarde Benutzer in Krypto einbinden werden, wie z. B. Kontoabstraktion, Datenverfügbarkeit, Skalierbarkeit usw. In den letzten sieben Jahren haben wir uns dazu verpflichtet, das Wachstum von Kernentwicklercommunities und universitären Blockchain-Verbänden auf der ganzen Welt zu unterstützen.
REFERENZ:
Ein Leitfaden zu ZK-Coprozessoren für Skalierbarkeit: https://www.risczero.com/news/a-guide-to-zk-coprocessors-for-scalability
Definition von zkOracle für Ethereum: https://ethresear.ch/t/defining-zkoracle-for-ethereum/15131
zkUniswap: ein einzigartiges zkAMM: https://ethresear.ch/t/zkuniswap-a-first-of-its-kind-zkamm/16839
Was ist ein ZK-Coprozessor?: https://blog.axiom.xyz/what-is-a-zk-coprocessor/
Eine kurze Einführung in Coprozessoren: https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA
Neueste Anwendungen, die auf Hyper Oracle basieren (Bonus: Dinge, die Sie jetzt erstellen können): https://mirror.xyz/hyperoracleblog.eth/Tik3nBI9mw05Ql_aHKZqm4hNxfxaEQdDAKn7JKcx0xQ
Bonfire-Wallet: https://ethglobal.com/showcase/bonfire-wallet-n1dzp



