Über die Leistung der Ethereum Virtual Machine (EVM)
Jeder Vorgang im Ethereum-Mainnet kostet eine bestimmte Menge Gas. Wenn wir alle zum Ausführen der Basisanwendung erforderlichen Berechnungen in die Kette einbinden, stürzt entweder die App ab oder der Benutzer geht bankrott.
Daraus entstand L2: OPRU führt einen Collator ein, um eine Reihe von Transaktionen zu bündeln, bevor sie an das Mainnet übergeben werden. Dies trägt nicht nur dazu bei, dass die App die Sicherheit von Ethereum gewährleistet, sondern bietet den Benutzern auch ein besseres Erlebnis. Benutzer können Transaktionen schneller einreichen und die Gebühren sind günstiger. Obwohl der Betrieb kostengünstiger geworden ist, wird weiterhin die native EVM als Ausführungsschicht verwendet. Ähnlich wie ZK-Rollups verwenden Scroll- und Polygon-zkEVM EVM-basierte ZK-Schaltungen oder werden diese verwenden, und der ZK-Proof wird bei jeder Transaktion oder einem großen Stapel von Transaktionen generiert, die auf seinem Prüfer ausgeführt werden. Während Entwickler dadurch „Full-Chain“-Anwendungen erstellen können, ist es dennoch effizient und kosteneffektiv, Hochleistungsanwendungen auszuführen?
**Welche dieser Hochleistungsanwendungen sind verfügbar? **
Zuerst fallen mir Spiele, On-Chain-Bestellbücher, Web3 Social, maschinelles Lernen, Genommodellierung usw. ein. All dies ist rechenintensiv und teuer in der Ausführung auf L2. Ein weiteres Problem bei EVM besteht darin, dass die Berechnungsgeschwindigkeit und -effizienz nicht so gut sind wie bei anderen aktuellen Systemen, wie z. B. SVM (Sealevel Virtual Machine).
Während die L3-EVM Berechnungen kostengünstiger machen kann, ist die Struktur der EVM selbst möglicherweise nicht die beste Möglichkeit, umfangreiche Berechnungen durchzuführen, da sie keine parallelen Operationen berechnen kann. Jedes Mal, wenn darüber eine neue Schicht aufgebaut wird, muss eine neue Infrastruktur (neues Netzwerk von Knoten) aufgebaut werden, um den Geist der Dezentralisierung aufrechtzuerhalten. Für die Erweiterung ist immer noch die gleiche Anzahl von Anbietern oder ein ganz neuer Satz von Knoten erforderlich Anbieter (Einzelpersonen/Unternehmen) müssen Ressourcen bereitstellen, oder beides ist erforderlich.
Daher muss bei jeder Entwicklung einer fortschrittlicheren Lösung die vorhandene Infrastruktur aktualisiert oder eine neue Ebene darauf aufgebaut werden. Um dieses Problem zu lösen, benötigen wir eine Post-Quantum-sichere, dezentrale, vertrauenswürdige Hochleistungs-Computing-Infrastruktur, die Quantenalgorithmen tatsächlich und effizient für die Berechnung dezentraler Anwendungen nutzen kann.
Alt-L1s wie Solana, Sui und Aptos sind zur parallelen Ausführung fähig, aber aufgrund der Marktstimmung, mangelnder Liquidität und des Mangels an Entwicklern auf dem Markt werden sie Ethereum nicht in Frage stellen. Aufgrund des mangelnden Vertrauens ist der von Ethereum errichtete Wassergraben mit Netzwerkeffekten ein Meilenstein. Bisher existiert der ETH/EVM-Killer nicht. Die Frage hier ist: Warum sollten alle Berechnungen in der Kette erfolgen? Gibt es ein ebenso vertrauenswürdiges, dezentrales Durchsetzungssystem? Dies kann das DCompute-System erreichen. **
Die DCompute-Infrastruktur muss dezentral, postquantensicher und vertrauenswürdig sein. Sie benötigt keine Blockchain/verteilte Technologie und sollte dies auch nicht sein, aber es ist sehr wichtig, die Berechnungsergebnisse zu überprüfen, Zustandsübergänge zu korrigieren und die endgültige Bestätigung vorzunehmen. wichtig. So funktioniert die EVM-Kette. Unter Beibehaltung der Sicherheit und Unveränderlichkeit des Netzwerks kann dezentrales, vertrauenswürdiges und sicheres Computing außerhalb der Kette verlagert werden.
Was wir hier größtenteils außer Acht lassen, ist die Frage der Datenverfügbarkeit. Der Schwerpunkt dieses Beitrags liegt nicht auf der Datenverfügbarkeit, da sich Lösungen wie Celestia und EigenDA bereits in diese Richtung bewegen.
1: Nur ausgelagerte Rechenleistung
(Quelle: Off-Chaining Models and Approaches to Off-Chain Computations, Jacob Eberhardt & Jonathan Heiss)
2. Datenverarbeitung und Datenverfügbarkeit auslagern
(Quelle: Off-Chaining Models and Approaches to Off-Chain Computations, Jacob Eberhardt & Jonathan Heiss)
Als wir Typ 1 sahen, machten zk-Rollups dies bereits, aber sie waren entweder durch die EVM eingeschränkt oder mussten Entwicklern eine völlig neue Sprache/einen völlig neuen Befehlssatz beibringen. Die ideale Lösung sollte effizient, effektiv (Kosten und Ressourcen), dezentral, privat und überprüfbar sein. ZK-Proofs können auf AWS-Servern erstellt werden, sie sind jedoch nicht dezentral. Lösungen wie Nillion und Nexus versuchen, das Problem des General Computing dezentral zu lösen. Diese Lösungen sind jedoch ohne ZK-Beweise nicht überprüfbar.
Typ 2 kombiniert ein Off-Chain-Berechnungsmodell mit einer Datenverfügbarkeitsschicht, die separat bleibt, die Berechnung muss jedoch noch in der Kette verifiziert werden.
Werfen wir einen Blick auf die verschiedenen heute verfügbaren dezentralen Computermodelle, die nicht vollständig vertrauenswürdig und möglicherweise völlig vertrauenswürdig sind.
Karte des Ethereum Outsourced Computing-Ökosystems (Quelle: IOSG Ventures)
TEE (Trusted Execution Environment) ist wie eine spezielle Box in einem Computer oder Smartphone. Es verfügt über ein eigenes Schloss und einen eigenen Schlüssel und nur bestimmte Programme (sogenannte vertrauenswürdige Anwendungen) können darauf zugreifen. Wenn diese vertrauenswürdigen Anwendungen innerhalb des TEE ausgeführt werden, werden sie durch andere Programme und sogar das Betriebssystem selbst geschützt.
Es ist wie ein geheimes Versteck, in das nur ein paar besondere Freunde eindringen können. Das häufigste Beispiel für ein TEE ist die Secure Enclave, die auf den von uns verwendeten Geräten vorhanden ist, etwa dem T1-Chip von Apple und dem SGX von Intel, um kritische Vorgänge innerhalb des Geräts auszuführen, etwa FaceID.
Da es sich beim TEE um ein isoliertes System handelt, kann der Authentifizierungsprozess aufgrund der Vertrauensannahmen bei der Authentifizierung nicht gefährdet werden. Stellen Sie sich das so vor, als hätten Sie eine Sicherheitstür, von der Sie glauben, dass sie sicher ist, weil Intel oder Apple sie gebaut haben, aber es gibt genügend Sicherheitsbrecher auf der Welt (einschließlich Hacker und andere Computer), die diese Sicherheitstür durchbrechen können. TEEs sind nicht „postquantensicher“, was bedeutet, dass ein Quantencomputer mit unbegrenzten Ressourcen die Sicherheit des TEEs knacken kann. Da Computer immer leistungsfähiger werden, müssen wir langfristige Computersysteme und Kryptografiesysteme unter Berücksichtigung der Post-Quanten-Sicherheit entwickeln.
SMPC (Secure Multi-Party Computing) ist ebenfalls eine bekannte Computerlösung in der Blockchain-Technologiebranche. Der allgemeine Arbeitsablauf im SMPC-Netzwerk besteht aus den folgenden drei Teilen:
Stellen Sie sich eine Automobilproduktionslinie vor, bei der die Bau- und Fertigungskomponenten des Autos (Motor, Türen, Spiegel) an den Erstausrüster (OEM) ausgelagert werden (Jobknoten), und dann gibt es eine Montagelinie, die alle Komponenten zusammenfügt um das Auto herzustellen (was zu einem Knoten führt).
Das Teilen von Geheimnissen ist für ein dezentrales Computermodell, das die Privatsphäre schützt, wichtig. Dies verhindert, dass eine einzelne Partei das vollständige „Geheimnis“ (in diesem Fall die Eingabe) erhält und in böswilliger Absicht fehlerhafte Ausgaben erzeugt. SMPC ist wahrscheinlich eines der einfachsten und sichersten dezentralen Systeme. Obwohl es derzeit kein vollständig dezentrales Modell gibt, ist es logischerweise möglich.
MPC-Anbieter wie Sharemind stellen MPC-Infrastruktur für die Datenverarbeitung bereit, die Anbieter sind jedoch immer noch zentralisiert. Wie kann die Privatsphäre gewährleistet werden, wie kann sichergestellt werden, dass das Netzwerk (oder Sharemind) nicht böswillig ist? Dies ist der Ursprung von ZK-Proof und ZK-überprüfbarer Berechnung.
NMC ist eine neue verteilte Rechenmethode, die vom Nillion-Team entwickelt wurde. Es handelt sich um eine aktualisierte Version von MPC, bei der Knoten nicht durch Interaktion über Ergebnisse kommunizieren müssen. Zu diesem Zweck verwendeten sie ein kryptografisches Primitiv namens One-Time Masking, das eine Reihe von Zufallszahlen, sogenannte Blinding-Faktoren, verwendet, um ein Geheimnis zu maskieren, ähnlich wie beim One-Time-Padding. OTM zielt darauf ab, auf effiziente Weise Korrektheit bereitzustellen, was bedeutet, dass NMC-Knoten keine Nachrichten austauschen müssen, um Berechnungen durchzuführen. Dies bedeutet, dass NMC nicht die Skalierbarkeitsprobleme von SMPC hat.
ZK Verifiable Computation (ZK Verifiable Computation) dient dazu, einen wissensfreien Beweis für eine Reihe von Eingaben und eine Funktion zu generieren und zu beweisen, dass jede vom System durchgeführte Berechnung korrekt durchgeführt wird. Obwohl die ZK-Verifizierungsberechnung neu ist, ist sie bereits ein sehr wichtiger Teil der Roadmap für die Erweiterung des Ethereum-Netzwerks.
ZK beweist, dass es verschiedene Implementierungsformen gibt (wie in der folgenden Abbildung dargestellt, gemäß der Zusammenfassung im Artikel „Off-Chaining_Models“):
(Quelle: IOSG Ventures, Off-Chaining Models and Approaches to Off-Chain Computations, Jacob Eberhardt & Jonathan Heiss)
Oben haben wir ein grundlegendes Verständnis der Implementierung von ZK-Beweisen erhalten. Was sind also die Bedingungen für die Verwendung von ZK-Beweisen zur Überprüfung von Berechnungen?
Entwicklerdilemma – Effizienzbeweis-Dilemma
Eine andere Sache, die ich sagen muss, ist, dass die Schwelle zum Erstellen von Schaltkreisen immer noch sehr hoch ist. Für Entwickler ist es nicht einfach, Solidity zu lernen. Jetzt müssen Entwickler Circom lernen, um Schaltkreise zu erstellen, oder eine bestimmte Programmiersprache (z. B. Cairo) lernen. ZK-Apps zu erstellen scheint eine ferne Perspektive zu sein.
(Quelle:
(Quelle:
Wie die obigen Statistiken zeigen, scheint die Nachrüstung einer Web3-Umgebung, um sie entwicklungsfreundlicher zu machen, nachhaltiger zu sein, als Entwickler in eine neue Web3-Entwicklungsumgebung einzubinden.
Wenn ZK die Zukunft von Web3 ist und Web3-Anwendungen mit vorhandenen Entwicklerkenntnissen erstellt werden müssen, müssen ZK-Schaltkreise so entworfen werden, dass sie Berechnungen unterstützen, die von Algorithmen durchgeführt werden, die in Sprachen wie Java oder Rust geschrieben sind, um Beweise zu generieren .
Solche Lösungen gibt es, und ich denke an zwei Teams: RiscZero und Lurk Labs. Beide Teams haben eine sehr ähnliche Vision: Sie ermöglichen Entwicklern die Entwicklung von ZK-Apps, ohne eine steile Lernkurve zu durchlaufen.
Für Lurk Labs steht es noch am Anfang, aber das Team arbeitet schon seit langem an diesem Projekt. Sie konzentrieren sich auf die Generierung von Nova Proofs durch Allzweckschaltungen. Nova-Beweise wurden von Abhiram Kothapalli von der Carnegie Mellon University und Srinath Setty von Microsoft Research sowie Ioanna Tziallae von der New York University vorgeschlagen. Im Vergleich zu anderen SNARK-Systemen weist Nova besondere Vorteile bei der Durchführung inkrementeller verifizierbarer Berechnungen (IVC) auf. Inkrementelle verifizierbare Berechnung (IVC) ist ein Konzept in der Informatik und Kryptographie, das darauf abzielt, die Verifizierung einer Berechnung zu ermöglichen, ohne die gesamte Berechnung von Grund auf neu berechnen zu müssen. Beweise müssen für IVC optimiert werden, wenn die Rechenzeit lang und komplex ist.
(Quelle: IOSG Ventures)
Nova-Proofe sind nicht „out of the box“ wie andere Proof-Systeme, Nova ist nur ein Falttrick und Entwickler benötigen immer noch ein Proof-System, um Proofs zu generieren. Aus diesem Grund hat Lurk Labs Lurk Lang entwickelt, eine LISP-Implementierung. Da es sich bei LISP um eine Sprache niedrigerer Ebene handelt, ist es einfach, Beweise für allgemeine Schaltkreise zu generieren und problemlos in Java zu übersetzen, was Lurk Labs dabei helfen wird, Unterstützung von 17,4 Millionen Java-Entwicklern zu erhalten. Auch Übersetzungen für andere gängige Sprachen wie Python werden unterstützt.
Alles in allem scheinen Nova-Proofe ein großartiges Original-Proof-System zu sein. Während ihr Nachteil darin besteht, dass die Größe des Beweises linear mit der Größe der Berechnung zunimmt, bieten Nova-Beweise andererseits Raum für weitere Komprimierung.
Die Größe von STARK-Beweisen nimmt mit der Berechnung nicht zu, sodass sie besser für die Verifizierung sehr großer Berechnungen geeignet sind. Um das Entwicklererlebnis weiter zu verbessern, haben sie außerdem das Bonsai Network veröffentlicht, ein verteiltes Computernetzwerk, das durch von RiscZero generierte Beweise verifiziert wird. Dies ist ein einfaches Diagramm, das die Funktionsweise des Bonsai-Netzwerks von RiscZero darstellt.
(Quelle:
Das Schöne am Bonsai-Netzwerkdesign besteht darin, dass Berechnungen in der gesamten Kette initialisiert, überprüft und ausgegeben werden können. Das klingt alles nach Utopie, doch der STARK-Beweis bringt auch Probleme mit sich – der Verifizierungsaufwand ist zu hoch.
Nova-Beweise scheinen für wiederholte Berechnungen (das Faltungsschema ist kostengünstig) und kleine Berechnungen gut geeignet zu sein, was Lurk zu einer guten Lösung für die Überprüfung von ML-Inferenzen machen könnte.
*
*
(Quelle: IOSG Ventures)
Einige zk-SNARK-Systeme erfordern während der Ersteinrichtungsphase einen vertrauenswürdigen Einrichtungsprozess, bei dem ein erster Parametersatz generiert wird. Die Vertrauensannahme hier ist, dass vertrauenswürdige Setups ehrlich und ohne böswilliges Verhalten oder Manipulation durchgeführt werden. Bei einem Angriff könnte es zur Erstellung ungültiger Beweise kommen.
STARK-Beweise setzen die Sicherheit von Tests niedriger Ordnung zur Überprüfung der Eigenschaften niedriger Ordnung von Polynomen voraus. Sie gehen außerdem davon aus, dass sich Hash-Funktionen wie zufällige Orakel verhalten.
Die ordnungsgemäße Implementierung beider Systeme ist ebenfalls eine Sicherheitsannahme.
Das SMPC-Netzwerk basiert auf Folgendem:
*Zu den SMPC-Teilnehmern können „ehrliche, aber neugierige“ Teilnehmer gehören, die versuchen können, durch Kommunikation mit anderen Knoten auf zugrunde liegende Informationen zuzugreifen. *Die Sicherheit des SMPC-Netzwerks beruht auf der Annahme, dass die Teilnehmer das Protokoll korrekt ausführen und nicht absichtlich Fehler oder böswilliges Verhalten einführen.
OTM ist ein Mehrparteien-Berechnungsprotokoll, das zum Schutz der Privatsphäre der Teilnehmer entwickelt wurde. Es gewährleistet den Schutz der Privatsphäre, indem es den Teilnehmern ermöglicht, ihre Eingabedaten bei der Berechnung nicht preiszugeben. Daher gäbe es keine „ehrlichen, aber neugierigen“ Teilnehmer, da diese nicht in der Lage wären, mit anderen Knoten zu kommunizieren, um auf die zugrunde liegenden Informationen zuzugreifen.
Gibt es einen klaren Gewinner? Wir wissen es nicht. Aber jede Methode hat ihre eigenen Vorteile. Während NMC wie ein offensichtliches Upgrade von SMPC aussieht, ist das Netzwerk noch nicht live oder kampferprobt.
Der Vorteil der Verwendung der überprüfbaren ZK-Berechnung besteht darin, dass sie sicher und die Privatsphäre schützend ist, jedoch nicht über eine integrierte Geheimfreigabe verfügt. Die Asymmetrie zwischen Beweiserstellung und Verifizierung macht es zu einem idealen Modell für nachweislich ausgelagerte Berechnungen. Wenn das System reine zk-sichere Berechnungen verwendet, muss der Computer (oder ein einzelner Knoten) sehr leistungsfähig sein, um viele Berechnungen durchführen zu können. Um Lastverteilung und -ausgleich unter Wahrung der Privatsphäre zu ermöglichen, muss eine geheime gemeinsame Nutzung erfolgen. In diesem Fall kann ein System wie SMPC oder NMC mit einem ZK-Generator wie Lurk oder RiscZero kombiniert werden, um eine leistungsstarke verteilte, überprüfbare, ausgelagerte Computerinfrastruktur zu schaffen.
Dies wird heute noch wichtiger, da MPC/SMPC-Netzwerke zentralisiert sind. Der derzeit größte MPC-Anbieter ist Sharemind, und eine darüber liegende ZK-Verifizierungsebene könnte sich als nützlich erweisen. Das Wirtschaftsmodell des dezentralen MPC-Netzwerks ist noch nicht aufgegangen. Theoretisch ist der NMC-Modus ein Upgrade des MPC-Systems, aber wir haben noch keinen Erfolg gesehen.
Im Rennen um ZK-Nachweissysteme wird es möglicherweise nicht zu einer Situation kommen, bei der der Gewinner alles bekommt. Jede Beweismethode ist für einen bestimmten Berechnungstyp optimiert und keine passt für alle Modelltypen. Es gibt viele Arten von Rechenaufgaben und es hängt auch von den Kompromissen ab, die Entwickler mit jedem Beweissystem eingehen. Der Autor glaubt, dass sowohl STARK-basierte Systeme als auch SNARK-basierte Systeme und ihre zukünftigen Optimierungen einen Platz in der Zukunft von ZK haben.