Ein ZK-Coprozessor ist ein Off-Chain-Berechnungssystem, das einen kryptografischen Nachweis über Blockchain-Daten erstellt, etwa ob eine Tatsache bei Block N wahr war, sodass ein Smart Contract das Ergebnis verifizieren kann, ohne einer Multisig vertrauen oder dafür bezahlen zu müssen, alles On-Chain neu zu berechnen.
Auf einen Blick
- Ein ZK-Coprozessor weist Berechnungen über bestehende Blockchain-Daten nach, anstatt als neue Ausführungskette für gewöhnliche Transaktionen zu dienen.
- Er kann DeFi-Risiko-Engines, private Identitätsprüfungen und günstigere Berechnungen unterstützen, aber Nachweise verursachen weiterhin echte Kosten und Latenz.
- Anders als ein Oracle weist er normalerweise eine Behauptung nach, die aus angegebenen Chain-Daten abgeleitet ist, statt eine externe Tatsache wie einen Preis zu melden.
- Projekte wie Axiom, RISC Zero und Succinct zeigen unterschiedliche Ansätze, während die Produktionsreife von Soundness, Leistung und Integrationsdetails abhängt.
Was ist ein ZK-Coprozessor?
Ein ZK-Coprozessor ist ein System, das Berechnungen außerhalb einer Blockchain ausführt und anschließend einen Nachweis erstellt, dass die Berechnung korrekt durchgeführt wurde. ZK bedeutet Zero-Knowledge, eine Familie kryptografischer Techniken, die eine Aussage beweisen können, ohne jede einzelne Information offenzulegen, die zu ihrem Nachweis verwendet wurde. In vielen Coprozessor-Designs ist die nützliche Eigenschaft nicht allein Geheimhaltung. Es ist Verifizierbarkeit.
Stellen Sie sich vor, ein Smart Contract fragt: Gehörte diese Wallet bei Block N zu den Top-Nutzern eines Protokolls? Hielt ein Konto während eines vergangenen Zeitraums mindestens ein bestimmtes Guthaben? Blieb ein Pool über Tausende von Blöcken hinweg unter einer Risikoschwelle? Ein herkömmlicher Contract kann diese Fragen möglicherweise nicht günstig beantworten, weil Blockchains darauf ausgelegt sind, aktuelle Zustandsübergänge auszuführen, nicht wiederholt ihre gesamte Historie zu durchsuchen.
Ein ZK-Coprozessor liest oder empfängt historische Blockchain-Daten, führt die angeforderte Berechnung Off-Chain aus und gibt ein Ergebnis mit einem Nachweis zurück. Ein Verifier-Contract prüft diesen Nachweis anhand kryptografischer Regeln. Wenn der Nachweis gültig ist, kann der Contract auf Grundlage des Ergebnisses handeln, ohne eine einfache Behauptung eines Serverbetreibers akzeptieren zu müssen.
Am besten versteht man dies als verifizierbaren ausgelagerten Computer für Blockchain-Daten. Er macht einen Contract nicht allwissend und macht eine Anwendung nicht automatisch privat, dezentral oder günstig. Diese Eigenschaften hängen von der Datenquelle, der Schaltung oder virtuellen Maschine, dem Nachweissystem, dem Verifier und dem wirtschaftlichen Design rund um den Dienst ab.
Die wichtigsten Risiken und Fehlermodi
Das Wort Nachweis kann absoluter klingen, als es ist. Ein gültiger Nachweis belegt im Allgemeinen, dass eine definierte Berechnung mit definierten Eingaben unter einem definierten Nachweissystem korrekt durchgeführt wurde. Er beweist nicht, dass der Entwickler die richtige Frage gewählt, die richtige Chain abgerufen, einen Contract korrekt interpretiert oder rund um die Antwort eine sichere Anwendung gebaut hat.
Die zentrale technische Annahme ist die Soundness des Nachweissystems. Soundness ist die Eigenschaft, die es praktisch unmöglich macht, einen gültig aussehenden Nachweis für eine falsche Aussage zu erstellen. Wenn die Kryptografie, Implementierung, Schaltung, der Verifier-Contract oder das Trusted Setup einen schwerwiegenden Fehler aufweist, kann ein Angreifer möglicherweise ein falsches Ergebnis einreichen, das der Contract akzeptiert. Ein Zero-Knowledge-Label ist kein Ersatz für die Prüfung dieser Komponenten.
Es gibt auch gewöhnliche Infrastrukturrisiken. Ein Prover kann nicht verfügbar werden, ein Datenanbieter kann eine unvollständige Historie zurückgeben, ein Dienst kann nur ausgewählte Chains unterstützen oder ein Contract kann darauf angewiesen sein, dass ein Koordinator Nachweise einreicht. Manche Systeme reduzieren das Vertrauen in eine Multisig, hängen aber weiterhin von Betreibern für Verfügbarkeit, Datenverfügbarkeit, Gebührenzahlung oder Softwareupdates ab. Governance-Schlüssel und Upgrade-Berechtigungen verdienen dieselbe Prüfung wie das Nachweissystem.
Der finanzielle Fehlermodus ist in DeFi besonders wichtig. Eine fehlerhafte historische Berechnung könnte Sicherheiten falsch bepreisen, Belohnungen an die falschen Konten verteilen, Liquidationen auslösen oder einen schlechten Kredit genehmigen. Ein Nachweis kann zeigen, dass Code wie geschrieben ausgeführt wurde, während der Code selbst einen wirtschaftlichen Fehler enthält. Nutzer sollten daher Audits, Verifier-Adressen, Upgrade-Kontrollen, unterstützte Datenquellen und Notfallverfahren prüfen, bevor sie eine durch einen Coprozessor gestützte Anwendung als sicherer als eine herkömmliche betrachten.
Wie historische Chain-Daten nachgewiesen werden
Der grundlegende Ablauf hat mehrere Phasen. Zuerst definiert eine Anwendung eine Abfrage und die Daten, die sie benötigt. Die Abfrage kann Salden, Swaps, Liquiditätspositionen, Kreditaktivitäten oder Zustandszusagen betreffen, die in früheren Ethereum-Blöcken aufgezeichnet wurden. Anschließend beschafft das System die relevanten Block-Header, Transaktionsdaten, Receipts und Zustandsinformationen, je nachdem, was die Berechnung erfordert.
Als Nächstes führt ein Off-Chain-Worker das angeforderte Programm aus. Dieses Programm kann eine spezialisierte Schaltung oder eine universell einsetzbare Zero-Knowledge Virtual Machine sein, oft zkVM genannt. Eine zkVM ermöglicht es Entwicklern, Logik in einer vertrauteren Programmierumgebung auszudrücken, während das System die Ausführung in eine beweisbare Form umwandelt. Das Ergebnis umfasst sowohl eine Antwort als auch einen Proof, der an die Eingabedaten und das Programm gebunden ist.
Der On-Chain-Verifier spielt normalerweise nicht jede historische Transaktion erneut ab. Er prüft einen kompakten Proof mithilfe eines Verification Keys und öffentlicher Eingaben wie einer Blockkennung, einer Datenzusage, den Abfrageparametern und dem behaupteten Ergebnis. Wenn der Proof besteht, kann ein Contract das Ergebnis speichern oder sofort verwenden. Der Contract muss dennoch validieren, dass der Block und die Zustandszusage das bedeuten, was die Anwendung erwartet.
Der Zugriff auf historische Daten ist komplizierter, als einfach einen Node nach einer Zahl zu fragen. Ein Saldo kann vom Contract-Speicher in einem bestimmten Block abhängen. Eine zeitgewichtete Kennzahl kann viele Zustands-Snapshots erfordern. Ein auf Logs basierendes Ergebnis kann Informationen übersehen, die nicht als Event ausgegeben wurden. Das System muss definieren, ob es Archive-Node-Daten, eine indexierte Darstellung, eine Blockzusage oder eine andere Quelle nachweist. Diese Entscheidungen beeinflussen sowohl Korrektheit als auch Vertrauen.
Was ein Proof tatsächlich aussagt
Angenommen, ein Contract erhält die Behauptung, dass eine Adresse vor einem ausgewählten Block mindestens 100 Tage lang Liquidität bereitgestellt hat. Der Proof kann belegen, dass ein bestimmtes Programm bestimmte Eingaben geprüft und dieses Ergebnis erreicht hat. Er belegt nicht unabhängig, dass die Frage ein sinnvoller Maßstab für Loyalität ist, dass die Adresse von einer Person kontrolliert wird oder dass die Anwendung eine Belohnung auszahlen sollte.
Diese Unterscheidung ist der Grund, warum reproduzierbare Abfragen und transparente Eingabezusagen wichtig sind. Entwickler sollten in der Lage sein, die Chain, den Blockbereich, Contract-Adressen, die Programmversion und die Annahmen hinter einem Ergebnis zu identifizieren. Ohne diesen Kontext kann ein Proof mathematisch gültig sein, für Nutzer aber schwer zu interpretieren.
Coprocessor versus Rollup
Ein Rollup ist ein Skalierungssystem, das Transaktionsbatches außerhalb der Main Chain ausführt und genügend Daten oder Zusagen veröffentlicht, damit die Base Chain den daraus resultierenden Zustand verifizieren oder rekonstruieren kann. Seine Hauptaufgabe besteht darin, einen Ort bereitzustellen, an dem Nutzer Transaktionen durchführen können, wobei das Rollup einen eigenen Konto- und Anwendungszustand verwaltet. Ein ZK Rollup verwendet Validity Proofs, um zu zeigen, dass seine Zustandsänderung gemäß seinen Regeln ausgeführt wurde.
Ein Coprocessor hat eine andere Aufgabe. Er verwaltet in der Regel nicht den kanonischen Kontozustand für eine neue Transaktionsumgebung, und er ist nicht hauptsächlich ein Ort, an dem Nutzer Assets einzahlen und gewöhnliche Anwendungsaufrufe ausführen. Er führt ausgewählte Berechnungen über Daten aus, die bereits auf einer Blockchain existieren, und sendet anschließend ein Ergebnis und einen Proof zurück an einen Contract auf dieser Chain.
Die Grenze kann verschwimmen. Ein Rollup kann einen coprocessor-ähnlichen Dienst für Analytics verwenden, und ein Coprocessor kann Rollup-artige Proving-Infrastruktur oder eine zkVM nutzen. Die praktische Frage ist nicht, welches Label in einem Pitch Deck steht. Fragen Sie, ob das System dafür verantwortlich ist, Nutzertransaktionen in seiner eigenen Ausführungsumgebung zu ordnen und abzuwickeln, oder ob es verifizierbare Abfragen zur Historie einer anderen Chain beantwortet.
Für Nutzer verändert dieser Unterschied die Risikofläche. Ein Rollup wirft Fragen zu Bridge-Verwahrung, Data Availability, Sequencer-Verhalten, Auszahlungen und Zustandskorrektheit auf. Ein Coprocessor wirft Fragen zu Abfrageeingaben, Proof-Soundness, Abdeckung historischer Daten, Verfügbarkeit von Provern und dazu auf, ob der Ziel-Contract das Ergebnis sicher verarbeitet. Keine der beiden Kategorien beseitigt jedes Vertrauen oder jedes operative Risiko.
Wie er sich von einem Oracle unterscheidet
Ein Oracle liefert einem Smart Contract Informationen, die der Contract nicht direkt erhalten kann. Price Feeds sind das vertraute Beispiel. Ein Oracle-Netzwerk kann ETH-Preise von Börsen aggregieren und einen Wert für Kreditmärkte veröffentlichen. Der Contract vertraut dem Design des Oracle, den teilnehmenden Reportern, der Aggregationsmethode und den Schutzmechanismen gegen Manipulation.
Ein ZK Coprocessor beweist normalerweise eine Berechnung aus bestimmten Blockchain-Daten. Er könnte beweisen, dass eine Adresse mit einem Protokoll interagiert hat, dass die historische Exponierung eines Vaults einen Schwellenwert überschritten hat oder dass eine Reihe von Transaktionen eine Regel erfüllt. Der Proof beantwortet, ob eine Berechnung ihren Eingaben korrekt gefolgt ist. Er beweist nicht automatisch, dass ein externer Marktpreis, eine reale Identität oder eine rechtliche Tatsache wahr ist.
Die beiden Systeme können zusammenarbeiten. Ein Oracle kann eine signierte oder anderweitig authentifizierte Preiseingabe bereitstellen, und ein Coprocessor kann eine Risikoberechnung beweisen, die diese Eingabe zusammen mit historischen On-Chain-Positionen verwendet. In diesem Design kann der Proof die Berechnung absichern, während das Oracle ein Vertrauenspunkt für Daten aus der Außenwelt bleibt.
Es gibt außerdem eine nützliche Warnung zum Begriff trustless. Ein Proof kann die Abhängigkeit von einer Multisig oder einem einzelnen Server für Berechnungen reduzieren, aber er kann keine Fakten beweisen, die nie in seinen Eingaben dargestellt wurden. Wenn eine Anwendung einen realen Nachweis, einen aktuellen Börsenpreis oder einen Rechtsanspruch benötigt, braucht sie weiterhin einen geeigneten Attestierungs- oder Oracle-Mechanismus.
Was können Entwickler damit bauen?
Der unmittelbarste Vorteil ist günstigere oder ausdrucksstärkere Berechnung. Ethereum-Contracts bezahlen die Ausführung mit Gas, und lange Historien zu durchsuchen oder große Datensätze direkt on-chain zu verarbeiten, kann unpraktikabel sein. Ein Coprocessor verlagert die schwere Arbeit off-chain, während on-chain ein kompakter Verifizierungsschritt verbleibt. Die Gesamtkosten umfassen dennoch Proving, Datenabruf, Proof-Einreichung und manchmal eine Servicegebühr, daher bedeutet günstiger nicht kostenlos.
DeFi-Risiko-Engines
Ein Kreditprotokoll könnte historische Positionen verwenden, um Konzentration, Liquidationsverhalten oder die Beziehung eines Kreditnehmers zu anderen Märkten einzuschätzen. Ein Vault könnte ein längeres Risikofenster prüfen, als sein On-Chain-Code effizient verarbeiten kann. Ein Belohnungssystem könnte die Teilnahme über viele Blöcke hinweg berechnen, ohne jeden Zwischenwert on-chain zu speichern.
Diese Verwendungen sind wertvoll, weil DeFi-Anwendungen oft Kontext benötigen und nicht nur eine aktuelle Zahl. Risikomodelle werden jedoch nicht dadurch korrekt, dass sie bewiesen werden. Entwickler müssen weiterhin robuste Annahmen wählen, fehlende Daten und Flash-Loan-Verhalten berücksichtigen und definieren, wie das Protokoll reagiert, wenn ein Proof verzögert oder nicht verfügbar ist.
Private Identität und Berechtigung
Ein Nutzer könnte eine eng begrenzte Aussage über ein größeres Credential beweisen, ohne das Credential selbst offenzulegen. Zum Beispiel könnte eine Anwendung verifizieren, dass eine Person eine Alters- oder Zuständigkeitsanforderung erfüllt oder dass eine Wallet eine Teilnahmeregel erfüllt, während die dem Contract offengelegten Informationen begrenzt werden. Ob dies tatsächlich privat ist, hängt vom Credential-Aussteller, der Wallet, Metadaten, dem Widerrufsprozess und dem ab, was die Anwendung öffentlich aufzeichnet.
On-Chain-Aktivitäten sind oft verknüpfbar, selbst wenn ein Proof einige Eingaben verbirgt. Ein privater Proof garantiert keine privaten Transaktionen, kein anonymes Networking und keinen Schutz vor jeder Form der Analyse. Identitätssysteme stehen außerdem vor dem Problem zu beweisen, dass eine Person nur eine berechtigte Identität kontrolliert, was Kryptografie allein nicht löst.
Günstige Rechenleistung und komplexe Abfragen
Allgemeine Berechnung ist ein weiteres Ziel. Ein Entwickler möchte vielleicht Reputationslogik, Portfolio-Analytics, Governance-Berechnungen oder Spielregeln über die Blockchain-Historie ausführen. Ein universell einsetzbares System kann die Hürde senken, solche Aufgaben auszudrücken, verglichen damit, jede Operation als On-Chain-Contract zu schreiben.
Axiom konzentriert sich auf verifizierbare Abfragen über Blockchain-Daten. RISC Zero bietet einen universell einsetzbaren zkVM-Ansatz, der Programme beweisen kann, die in einer RISC-V-Umgebung laufen. Succinct entwickelt Proving-Infrastruktur und Tools, einschließlich seiner SP1 zkVM. Diese Projekte veranschaulichen einen breiten Designraum und nicht ein einzelnes standardisiertes Produkt. Ihre Performance, unterstützten Eingaben, Deployment-Modelle und Produktionsgarantien können sich erheblich unterscheiden, daher ist ein Projektname allein kein Beleg dafür, dass eine bestimmte Integration sicher oder ausgereift ist.
Aktuelle Grenzen: Nachweiskosten, Latenz und Akzeptanz
Das Erzeugen von Nachweisen für Berechnungen ist ressourcenintensiv. Eine Abfrage, die für einen normalen Server günstig ist, kann erhebliche Hardware, Speicher und Engineering-Arbeit erfordern, wenn jeder relevante Schritt in einem Nachweis dargestellt werden muss. Größere historische Zeiträume, komplexe Programme, kryptografische Operationen und viele gleichzeitige Nutzer können die Nachweiszeit und die Betriebskosten erhöhen.
Auch Latenz ist wichtig. Ein Contract-Aufruf, der sofort eine Antwort benötigt, ist möglicherweise nicht mit einem Nachweis kompatibel, dessen Erstellung Minuten oder länger dauert. Manche Anwendungen können asynchrone Aktualisierungen tolerieren. Andere benötigen einen Fallback, ein zwischengespeichertes Ergebnis, eine optimistische Frist oder eine konservative Aktion, während ein Nachweis aussteht. Diese Umgehungslösungen führen zu neuen Designentscheidungen und manchmal zu neuen Vertrauensannahmen.
Datenverfügbarkeit und Indexierung bleiben praktische Engpässe. Ein Prover benötigt möglicherweise Archivzugriff, spezialisierte Indizes oder vorverarbeitete Commitments. Wenn eine Chain reorganisiert wird, ein Datenformat ändert oder eine unvollständige historische Abdeckung hat, braucht die Anwendung eine klare Richtlinie. Der Nachweis ist nur so nützlich wie die Daten, die das Programm tatsächlich verarbeiten konnte.
Die Entwicklererfahrung verbessert sich, aber das Schreiben von Circuits oder zkVM-Programmen erfordert weiterhin Spezialwissen. Fehler können aus dem Anwendungscode, der Übersetzung in eine nachweisbare Form, dem Umgang mit öffentlichen und privaten Eingaben oder der Integration des Verifiers entstehen. Audits helfen, aber sie sind keine Garantien. Open-Source-Code, reproduzierbare Builds, unabhängige Verifizierung, Bug Bounties und konservative Limits sind aussagekräftige Signale, die man prüfen sollte.
Was das für Nutzer und Builder bedeutet
Für Builder gilt: Beginne mit der genauen Behauptung, die der Contract verifizieren muss. Definiere den Block, die Chain, Daten-Commitments, Programmversion, akzeptable Veralterung und das Verhalten, falls der Nachweis nicht erstellt werden kann. Vergleiche dann einen Coprocessor mit einfacheren Optionen, etwa dem Speichern eines rollierenden Aggregats, der Nutzung eines etablierten Oracle oder der direkten On-Chain-Berechnung. Die fortschrittlichste Architektur ist nicht automatisch die beste.
Für Nutzer gilt: Schau über den Ausdruck ZK-powered hinaus. Finde heraus, ob das Produkt echte Mainnet-Nutzung hat oder hauptsächlich eine Demonstration ist. Prüfe, welche Teile Open Source sind, wer den Verifier upgraden kann, ob ein Koordinator Nachweise zensieren oder verzögern kann, wie historische Daten bezogen werden und was nach einem falschen Ergebnis passiert. Wenn ein Protokoll große Einlagen akzeptiert, prüfe Audits und die Incident-Historie, statt dich auf kryptografisches Branding zu verlassen.
Es ist außerdem hilfreich, drei Fragen zu trennen. Kann das System das angeforderte Ergebnis berechnen? Kann es das Ergebnis solide nachweisen? Wird die Anwendung dieses Ergebnis unter gegnerischen Bedingungen sicher verwenden? Eine überzeugende Antwort auf die erste Frage klärt die anderen beiden nicht.
Als fortgeschrittener Leser möchtest du dieses Thema vielleicht auch mit how Ethereum scaling works und what zero-knowledge proofs are vergleichen. Diese Konzepte erklären, warum die Nachweiserstellung den On-Chain-Verifizierungsaufwand reduzieren kann, während sie dennoch sorgfältige Entscheidungen zu Daten, Berechnung und Vertrauen erfordert.
Bewerte Aussagen zu ZK Coprocessors kritisch
ZK Coprocessors entwickeln sich schnell, und die Aussagen darüber entwickeln sich oft noch schneller. Technische Releases, Integrationen und Sicherheitsmeldungen manuell zu verfolgen, ist schwierig. Zippfeed zeigt relevante Schlagzeilen mit einer Stimmungsbewertung von bullish, neutral oder bearish sowie einer Wichtigkeitseinstufung an und hilft dir, ein bedeutendes Produktions-Deployment von einem Prototyp, einer Partnerschaftsankündigung oder einem ungelösten Risiko zu unterscheiden. Nutze diesen Kontext, um die Technologie zu verfolgen, ohne Berichterstattung als Empfehlung zum Kauf oder zur Nutzung eines Projekts zu behandeln.