
Autor: Kernel Ventures Turbo Guo
Rezensenten: Kernel Ventures Mandy, Kernel Ventures Joshua
TLDR:
Der ZK-Coprozessor ist eine Lösung, die es dApps ermöglicht, Off-Chain-Rechenressourcen zu nutzen. In diesem Artikel werden hauptsächlich die Implementierung des Coprozessors, verschiedene Anwendungen und zukünftige Entwicklungsrichtungen erörtert.
Die zkVM von RISC Zero ist eine ZK-Coprozessorlösung, die es On-Chain-Verträgen ermöglicht, Off-Chain-zkVM aufzurufen, um spezifischen Rust-Code auszuführen und die Ergebnisse an die Kette zurückzugeben, während gleichzeitig zkp für den Vertrag bereitgestellt wird, um zu überprüfen, ob die Berechnung korrekt ist.
ZK-Coprozessoren verfügen über unterschiedliche Implementierungsmethoden. Zusätzlich zu zkVM können Benutzer auch benutzerdefinierte ZK-Schaltkreise für ihre eigenen Programme schreiben oder vorgefertigte Frameworks zum Schreiben von Schaltkreisen verwenden, sodass Verträge Off-Chain-Rechenressourcen nutzen können.
Der ZK-Coprozessor kann in DeFi eine Rolle spielen, indem er beispielsweise AMM-Berechnungen außerhalb der Kette platziert, dem Protokoll ermöglicht, MEV-ähnliche Werte zu erfassen, oder AMM die Implementierung komplexer und rechenintensiver Betriebslogik ermöglicht. Der ZK-Coprozessor kann es Kreditprotokollen auch ermöglichen, Zinssätze in Echtzeit zu berechnen, wodurch Margenberechnungen transparent werden usw. Es gibt zwei Implementierungen von zkAMM: eine verwendet zkVM und die andere verwendet zkOracle.
Es gibt weitere Einsatzmöglichkeiten des ZK-Coprozessors. Beispielsweise können Wallets den ZK-Coprozessor nutzen, um die Identitätsüberprüfung außerhalb der Kette durchzuführen. Der Coprozessor kann es auch On-Chain-Spielen ermöglichen, komplexere Berechnungen durchzuführen und den für die DAO-Governance erforderlichen Gasaufwand zu reduzieren. Warten.
Das Muster des ZK-Coprozessors ist unklar, aber im Vergleich zu Benutzern, die ihre eigenen Schaltkreise schreiben, ist es benutzerfreundlicher, ein Projekt als Schnittstelle zum Aufrufen von Ressourcen außerhalb der Kette zu verwenden. Aber welche Computerdienstleister (traditionelle Cloud-Anbieter, traditionelle Cloud-Anbieter usw.) usw.) sind hinter dem „Schnittstellen“-Projekt verbunden? Dezentrale gemeinsame Nutzung von Ressourcen) ist ein weiteres Thema, das es wert ist, diskutiert zu werden.
1. Die Bedeutung und Anwendung des ZK-Coprozessors

Bildquelle: Kernel Ventures
Der Kern des ZK-Coprozessors besteht darin, On-Chain-Berechnungen außerhalb der Kette zu verschieben und ZK zum Nachweis der Zuverlässigkeit des Off-Chain-Berechnungsprozesses zu verwenden, sodass Smart Contracts große Mengen an Berechnungen problemlos verarbeiten können und Verträge gleichzeitig die Zuverlässigkeit überprüfen können von Berechnungen. Dies ähnelt der Idee von zkRollup, aber Rollup ist eine Kettenprotokollschicht, die Off-Chain-Rechenressourcen nutzt, während der ZK-Coprozessor eine dApp ist, die Off-Chain-Ressourcen nutzt.
RISC Zero wird hier verwendet, um eine ZK-Coprozessor-Implementierung zu erklären, es gibt jedoch viele Implementierungen von ZK-Coprozessoren, die später vorgestellt werden. RISC Zero hat die Bonsai-ZK-Coprozessor-Architektur entwickelt, deren Kern die zkVM von RISC Zero ist. Entwickler können zkp auf zkVM für den Fall generieren, dass „ein bestimmter Teil des Rust-Codes korrekt ausgeführt wird“. Bei zkVM ist der spezifische Prozess zur Implementierung des ZK-Coprozessors:
Der Entwickler initiiert eine Anfrage an den Relay-Vertrag von Bonsai, dh das vom Entwickler angeforderte Programm wird in zkVM ausgeführt.
Der Relay-Vertrag sendet die Anfrage an den Off-Chain-Anfragepool
Bonsai führt die Anfrage in der Off-Chain-zkVM aus, führt Off-Chain-Großoperationen durch und generiert dann eine Quittung dafür.
Diese Nachweise, auch „Quittungen“ genannt, werden von Bonsai über einen Relay-Vertrag an die Kette zurückgesendet.

Bildquelle: RISC Zero
Das in Bonsai zertifizierte Programm wird als Gastprogramm bezeichnet und die Quittung dient als Nachweis dafür, dass das Gastprogramm korrekt ausgeführt wurde. Zu den Zeugnissen gehören ein Tagebuch und ein Siegel. Insbesondere enthält das Journal die öffentliche Ausgabe der zkVM-Anwendung, und das Siegel dient zum Nachweis der Gültigkeit des Zertifikats, d. h. zum Nachweis, dass das Gastprogramm korrekt ausgeführt wird. Das Siegel selbst ist ebenfalls ein vom Zertifizierer generierter zkSTARK . Durch die Überprüfung der Anmeldeinformationen wird sichergestellt, dass das Journal mit den richtigen Schaltkreisen usw. erstellt wurde.
Bonsai vereinfacht den Prozess für Entwickler von der Kompilierung des Rust-Codes zum zkVM-Bytecode, dem Hochladen des Programms, der Ausführung in der VM und dem Proof-Feedback, sodass sich Entwickler mehr auf das logische Design des Programms konzentrieren können. Und nicht nur ein Teil der Vertragslogik, sondern die gesamte Vertragslogik kann außerhalb der Kette ausgeführt werden. RISC Zero verwendet auch Fortsetzungen, die eine große Beweisgeneration in viele Teile aufteilen und dann jeden Teil unabhängig beweisen. Dadurch können Beweise für große Programme erstellt werden, ohne zu viel Speicher zu beanspruchen. Neben RISC Zero bieten auch mehrere Projekte wie IronMill, =nil Foundation und Marlin ähnliche allgemeine Lösungen an.
2. Anwendung des ZK-Coprozessors in DeFi
2.1 AMM – Bonsai als Coprozessor
zkUniswap ist ein AMM, das Off-Chain-Rechenressourcen nutzt. Sein Kern besteht darin, einen Teil der Swap-Berechnungen Off-Chain zu platzieren, und es verwendet Bonsai. Der Benutzer initiiert eine Swap-Anfrage in der Kette. Der Relay-Vertrag von Bonsai erhält die Anfrage und initiiert die Off-Chain-Berechnung. Nachdem Bonsai die Berechnung abgeschlossen hat, gibt er das Berechnungsergebnis und den Beweis an die Rückruffunktion im EVM zurück. Wenn der Nachweis erfolgreich verifiziert ist, wird der Tausch durchgeführt.
Der Austausch erfolgt jedoch nicht gleichzeitig in unterschiedlichen Transaktionen. Dies birgt bestimmte Risiken, d. h. der Status des Pools kann sich nach dem Absenden der Anforderung und vor Abschluss des Austauschs ändern. Denn die Validierung basiert auf dem Status des Pools zum Zeitpunkt der Übermittlung der Anfrage. Wenn sich der Poolstatus ändert, während eine Anfrage noch wartet, schlägt die Überprüfung fehl.
Um dieses Problem zu lösen, haben Entwickler eine Poolsperre entwickelt. Wenn ein Benutzer eine Anfrage initiiert, werden alle Vorgänge außer dem Settlement-Swap gesperrt, bis die Off-Chain den On-Chain-Swap erfolgreich auslöst oder der Swap abläuft (diese Zeit wird voreingestellt). Wenn es ein Zeitlimit gibt, wird der Pool nicht für immer gesperrt, selbst wenn ein Problem mit dem Relay oder ZKP vorliegt. Das konkrete Zeitlimit kann einige Minuten betragen.
zkUniswap hat ein spezielles Design für MEV, das heißt, die Entwickler möchten, dass das Protokoll den MEV-Wert erfasst. Theoretisch verfügen zkAMMs auch über MEV, da die erste Person, die eine Transaktion einreicht, diese sperren kann, sodass weiterhin alle um Gas konkurrieren und Bauherren auch angeforderte Transaktionen sortieren können. Aber zkUniswap wird die MEV-Einnahmen selbst verschlingen, indem es die niederländische Auktion mit variablem Zinsgradienten (VRGDA) nutzt.
zkUniswap nimmt das Schloss heraus und versteigert es zu einem reduzierten Preis. Wenn das Schloss schnell verkauft wird, erkennt das Protokoll, dass die Nachfrage derzeit hoch ist, und erhöht dann automatisch den Preis. Das Protokoll wird den Preis senken. Dadurch entsteht eine neue Einnahmequelle. Ebenso sieht die Vereinbarung eine neue Sache vor, um die Reihenfolge der Transaktionen zu bestimmen, und das Geld aus dem Wettbewerbspreis wird durch die neue Sache direkt an die Projektpartei weitergegeben.
2.2 AMM – zkOracle als Coprozessor
Zusätzlich zur Verwendung von zkVM haben einige Leute vorgeschlagen, zkOracle zu verwenden, um die Nutzung von Off-Chain-Rechenressourcen zu realisieren, und zkOracle ist ein Oracle, das sowohl Eingabe als auch Ausgabe berücksichtigt. Im Allgemeinen gibt es zwei Arten von Orakeln: Das eine ist das Eingabeorakel und das andere das Ausgabeorakel. Das Eingabeorakel sortiert (berechnet) die Off-Chain-Daten und fügt sie in die Kette ein, und das Ausgabeorakel sortiert (berechnet) die Daten On-Chain-Daten) und dann der Off-Chain zur Verfügung gestellt. Das I/O-Orakel (Eingabe und Ausgabe) (zkOracle) führt zuerst die Ausgabe und dann die Eingabe durch, sodass die Kette Off-Chain-Rechenressourcen nutzen kann.
Einerseits verwendet zkOracle On-Chain-Daten als Datenquelle, andererseits stellt ZK sicher, dass die Berechnungen des Oracle-Knotens nicht betrügerisch sind und die Funktion eines Co-Prozessors realisieren kann. Daher können die Kernberechnungen von AMM in zkOracle platziert werden. Während die traditionellen AMM-Funktionen realisiert werden, kann zkOracle auch zur Implementierung komplexerer und rechenressourcenintensiverer Vorgänge verwendet werden.

Bildquelle: Github Fewwww/zkAMM
2.3 Berechnung des Kreditzinssatzes, Margenberechnung und andere Anwendungen
Unabhängig von der Implementierung können mit dem ZK-Coprozessor viele Funktionen erreicht werden. Beispielsweise kann der Kreditvertrag keine Parameter mehr voreinstellen, sondern den Zinssatz anhand der Kreditkonditionen in Echtzeit anpassen. Beispielsweise können die Zinssätze erhöht werden, um das Angebot anzuziehen, wenn die Nachfrage nach Krediten hoch ist, und die Zinssätze werden dann gesenkt, wenn die Nachfrage niedrig ist. Dies erfordert, dass das Kreditprotokoll On-Chain-Daten in Echtzeit erhält und eine große Anzahl von Berechnungen durchführt, um geeignete Parameter zu erhalten, was Off-Chain-Berechnungen erfordert (es sei denn, die On-Chain-Kosten sind extrem niedrig).
Komplexe Vorgänge wie die Berechnung von Margin-Salden, nicht realisierten Gewinnen und Verlusten, Liquidationsbeträgen usw. können ebenfalls zur Ausführung an den Co-Prozessor übertragen werden. Der Vorteil der Verwendung eines Coprozessors besteht darin, dass diese Anwendungen transparenter und überprüfbarer werden und die Logik der Margin Engine keine geheime Blackbox mehr ist. Obwohl die Berechnung außerhalb der Kette erfolgt, können Benutzer voll und ganz auf die Korrektheit der Ausführung vertrauen. Darüber hinaus gilt dieser Ansatz auch für Optionsberechnungen.
3. Andere Anwendungen des ZK-Coprozessors
3.1 Wallet-Nutzung von Bonsai als Co-Prozessor
Bonfire Wallet verwendet zkVM, um Berechnungen zur Identitätsüberprüfung außerhalb der Kette zu verschieben. Das Ziel dieser Wallet besteht darin, Benutzern die Erstellung von Brenner-Wallets mit biometrischen Informationen (Fingerabdrücken) oder kryptografischer Hardware-Yubikey zu ermöglichen.
Konkret verwendet Bonfire Wallet WebAuthn, einen gängigen Standard zur Webseitenauthentifizierung, der es Benutzern ermöglicht, die Authentifizierung auf Webseiten ohne Passwörter direkt über ihre Geräte durchzuführen. Im Bonfire-Wallet generiert der Benutzer also einen öffentlichen Schlüssel über WebAuthn (nicht in der Kette, für WebAuthn) und verwendet ihn dann zum Erstellen einer Wallet.
Jede Burner-Wallet verfügt über einen Vertrag in der Kette, der den öffentlichen WebAuthn-Schlüssel enthält. Der Vertrag muss die WebAuthn-Signatur des Benutzers überprüfen. Da der Berechnungsaufwand jedoch sehr groß ist, wird Bonsai verwendet, um die Berechnung außerhalb der Kette zu platzieren, die Signatur außerhalb der Kette über ein zkVM-Gastprogramm zu überprüfen und ZKP für die Überprüfung in der Kette zu erstellen.

Bildquelle: Bonfire Wallet
3.2 Datenabruf in der Kette – Benutzer schreiben ZK-Schaltkreise selbst
Axiom ist eine Anwendung, die nicht zkVM, sondern eine andere Coprozessorlösung verwendet. Lassen Sie uns zunächst vorstellen, was Axiom tun möchte, um mithilfe des ZK-Coprozessors Verträgen den Zugriff auf historische Ketteninformationen zu ermöglichen. Tatsächlich ist es für Verträge schwierig, historische Daten zu lesen, da intelligente Verträge im Allgemeinen Echtzeit-On-Chain-Daten erhalten, und es ist für Verträge sehr schwierig, wertvolle On-Chain-Daten wie vergangene Kontostände zu erhalten Transaktionsaufzeichnungen.

Bildquelle: Axiom-Demo
Axiom-Knoten greifen auf die erforderlichen On-Chain-Daten zu und führen bestimmte Berechnungen außerhalb der Kette durch. Anschließend generieren sie einen wissensfreien Beweis für die Berechnung, der beweist, dass das Ergebnis auf der Grundlage gültiger On-Chain-Daten korrekt berechnet wurde. Dieser Beweis wird in der Kette überprüft, um sicherzustellen, dass der Vertrag dem Ergebnis vertrauen kann.
Um zkp für Off-Chain-Berechnungen zu generieren, müssen Sie das Programm in die ZK-Schaltung kompilieren. Ich habe auch die Verwendung von zkVM erwähnt, und Axiom hat offiziell darauf hingewiesen, dass es hierfür viele Lösungen gibt, bei denen Leistung und Flexibilität abgewogen werden müssen und Entwicklungserfahrung:
Angepasste Schaltkreise: Entwickler passen Schaltkreise für das Programm an, die definitiv die beste Leistung bieten, deren Entwicklung jedoch einige Zeit in Anspruch nehmen wird.
eDSL/DSL: Entwickler schreiben immer noch ihre eigenen Schaltkreise, aber es gibt einige optionale Frameworks, die Entwicklern bei der Lösung von ZK-bezogenen Problemen helfen, wodurch Leistung und Entwicklungserfahrung in Einklang gebracht werden können.
zkVM: Entwickler verwenden direkt vorgefertigte virtuelle Maschinen, um ZK auszuführen. Dies ist sehr praktisch, aber Axiom-Beamte glauben, dass die Effizienz sehr gering ist.
Daher entschied sich Axiom für die zweite Option und das Projektteam stellte den Benutzern außerdem einen Satz optimierter ZK-Module zur Verfügung, damit sie ihre eigenen Schaltkreise entwerfen können.
Ein ähnliches Projekt wie Axiom ist Herodotus, das jedoch eine Middleware für die kettenübergreifende Informationsübertragung entwickeln möchte. Da die Informationsverarbeitung außerhalb der Kette erfolgt, ist es eine vernünftige Idee, verschiedene Ketten verarbeitete Daten erhalten zu lassen. Ein anderes Projekt, Space and Time, verwendet eine ähnliche Architektur, um die Datenindizierung zu implementieren.
3.3 On-Chain-Spiele, DAO-Governance und andere Anwendungen
Darüber hinaus können ZK-Coprozessoren für On-Chain-Spiele und DAO-Governance verwendet werden. RISC Zero glaubt, dass jede Berechnung, die mehr als 250.000 Gas erfordert, mit dem ZK-Coprozessor günstiger sein wird, aber wie dies ermittelt wird, bleibt abzuwarten. Die DAO-Governance kann auch den ZK-Coprozessor verwenden, da mehrere Personen und mehrere Verträge beteiligt sind, was Rechenressourcen verbraucht. RISC Zero behauptet, dass die Benzingebühren nach der Nutzung von Bonsai um 50 % gesenkt werden können. ZKML ist im Wesentlichen die Idee des ZK-Coprozessors, daher sind Modulus Labs und Giza ebenfalls Projekte in diesem Bereich, aber das Konzept des ZK-Coprozessors ist umfassender.
Darüber hinaus gibt es einige Hilfsprojekte im Bereich der ZK-Coprozessoren, wie z. B. ezkl, das Compiler zum Erstellen von ZK-Schaltkreisen, Tool-Suiten für die ZK-Bereitstellung, Tools zum Verschieben von On-Chain-Berechnungen außerhalb der Chain usw. bereitstellt.
4. Zukunftsaussichten
Der Coprozessor ermöglicht es On-Chain-Anwendungen, über externe Rechenressourcen wie eine „Cloud“ zu verfügen, die relativ kostengünstig große Mengen an Berechnungen bereitstellt, während nur die notwendigen Berechnungen in der Kette verarbeitet werden. In tatsächlichen Situationen kann zkVM auch in der Cloud ausgeführt werden. Der ZK-Coprozessor ist im Wesentlichen eine Architektur, eine Möglichkeit, On-Chain-Computing außerhalb der Chain zu platzieren, und es gibt keine Begrenzung dafür, wer die Off-Chain-Computing-Ressourcen bereitstellt.
Im Wesentlichen werden Off-Chain-Computing-Ressourcen von traditionellen großen Herstellern gemeinsam genutzt, sogar von dezentralen Computing-Ressourcen und lokalen Geräten. Jede dieser drei Richtungen ist unterschiedlich. Traditionelle große Hersteller können in Zukunft relativ ausgereifte Off-Chain-Computing-Lösungen anbieten. Viele ZK-Coprozessor-Projekte entscheiden sich derzeit jedoch für die Bereitstellung von Diensten in einer Closed-Source-Phase, da der Upstream und Downstream dieser Spur noch nicht gebildet wurden und die Dienste nicht verfeinert und an verschiedene Projekte übergeben werden können Zukunft:
Für jeden Aspekt des ZK-Coprozessors konkurrieren zahlreiche Projekte
Ein Projekt mit guter Serviceerfahrung nimmt den größten Teil des Marktes ein
Aus der Sicht eines Entwicklers verwenden sie möglicherweise nur ein „Schnittstellen“-Projekt, wenn sie den ZK-Coprozessor verwenden. Aus diesem Grund nimmt Amazon Cloud einen großen Marktanteil ein und Entwickler sind an eine Bereitstellungsmethode gewöhnt. Aber als „Schnittstellen“-Projekt für Off-Chain-Computing-Ressourcen ist die Frage, welche Computing-Dienstleister (traditionelle Cloud-Anbieter, dezentrale Ressourcenfreigabe) dahinter verbunden sind, eine weitere diskussionswürdige Frage.
Kernel Ventures ist ein von der Forschungs- und Entwicklungsgemeinschaft getragener Krypto-Risikokapitalfonds mit über 70 Frühphaseninvestitionen, die sich auf Infrastruktur, Middleware, dApps, insbesondere ZK, Rollup, DEX, modulare Blockchains und die vertikalen Bereiche für Milliarden von Kryptonutzern konzentrieren die Zukunft, wie Kontoabstraktion, Datenverfügbarkeit, Skalierbarkeit usw. Seit sieben Jahren engagieren wir uns dafür, das Wachstum zentraler Entwicklungsgemeinschaften und universitärer Blockchain-Verbände auf der ganzen Welt zu unterstützen.
Verweise:
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

