
ZK Proofs ist ein mächtiger kryptografischer Primitiv, der es einer Partei (Sprichwort) ermöglicht, die andere Partei (Verb) davon zu überzeugen, dass eine bestimmte Erklärung wahr und gültig ist, ohne private Informationen zu enthüllen.In den letzten Jahren hat ZK in den Bereichen überprüfbares privates Computing weit verbreitete Aufmerksamkeit auf sich gezogen, die den Nachweis der Effektivität für Computerprogramme und Blockchain liefert und eine signifikante positive Rolle bei der Entwicklung der Welt gespielt hat.
Obwohl ZK eine aufstrebende Technologie ist, stammen seine grundlegenden Ideen und Konzepte in den 1980er Jahren.Nach der Kombination mit Blockchains wie Bitcoin und Ethereum hat sich die Entwicklung der ZK -Technologie erheblich beschleunigt.Da Blockchain seine Effektivität durch Snark und Stark beweisen und seine Skalierbarkeit erheblich verbessern kann, wird ZK im Blockchain -Feld beliebt.
Wie Starkware-Gründerin Eli Ben-Sasson sagte, haben wir in den letzten Jahren die „kambrische Explosion“ des kryptografischen Beweissystems miterlebt.Jedes Proof -System hat seine eigenen einzigartigen Stärken und Schwächen und wird bei der Gestaltung abgeschrieben.Die Weiterentwicklung von Hardware, besseren Algorithmen, neuen Argumenten und peripheren Tools hat die Leistungsverbesserung des ZK -Systems und die Geburt eines neuen Systems angeregt.In praktischen Anwendungen wurden viele Proof -Systeme übernommen, und die Menschen erweitern immer noch die Grenzen von ZK.
Dies veranlasst auch die Menschen, tief über eine Frage nachzudenken:Gibt es ein universelles ZK -Proof -System für alle Anwendungen?Wir glauben nicht, dass dies wahrscheinlich sehr wahrscheinlich sein wird.Es gibt drei Gründe:
1. Diversität der Anwendungen;
2. Verschiedene Einschränkungen (einschließlich Speicher, Überprüfungszeit und Nachweiszeit);
3. Die Notwendigkeit von Robustheit (wenn ein Proof -System gehackt wird, können wir weiterhin als Versicherung zu anderen Systemen wechseln).
Basierend auf den oben genannten Gründen beweist der ZK, dass das System vielfältig sein sollte.Aber selbst wenn es viele Arten von Beweissystemen gibt, muss es eine erhebliche Gemeinsamkeit geben: ZK -Beweis kann schnell überprüft werden.Und eine Verifizierungsschicht kann sich leicht an das neue Proof -System anpassen, um die relevanten Schwierigkeiten der zugrunde liegenden Schicht zu lösen, von der sie abhängt (z. B. Ethereum).
Im ZK-Feld wird häufig ZK-Snark erwähnt.Es handelt sich um eine Form der Realisierung von Null-Knowledge-Beweisen, die einen effizienten Null-Wissen-Beweis ermöglicht, indem komplexe mathematische Werkzeuge wie bilineare Paarung und arithmetische Schaltungen verwendet werden.Das Merkmal von ZK-Snark ist, dass der Beweisprozess einfach und nicht interaktiv ist und nur eine einzelne Kommunikation zwischen dem Prover und dem Verifizierer und dem Verifizierer erforderlich ist. Es sind keine mehreren Interaktionen erforderlich.Auch,Die Beweisgröße von ZK-Snark ist sehr kurz und hat eine hohe Überprüfungseffizienz, wodurch es für die Verwendung in ressourcenbezogenen Umgebungen geeignet ist.
Und ZK-Stark ist eine weitere gemeinsame Form, die einige Einschränkungen von ZK-Snark überwinden soll.ZK-Stark stützt sich nicht auf vertrauenswürdige Einstellungen und verwendet transparentere mathematische Konstruktionssysteme wie Polynom Engagement und endliche Domänenoperationen, Hash-Kollisionen usw., um Beweise zu generieren und zu überprüfen.ZK-Stark ist skalierbarer als ZK-Snark, geeignet für größeres Computing, das sich als schneller erzeugt, aber der Beweis selbst ist normalerweise größer.
Es kann gesagt werden, dass ZK-Snark und ZK-Stark häufig verwendet werden, in Null-Wissen-Beweis, aber sie variieren hinsichtlich Transparenz, Skalierbarkeit, Beweisgröße usw.
Gesamt,Ein ZK -Proof -System enthält normalerweise zwei Teile: PIOP (polynomisches interaktives Orakel) und PCs (Polynom -Engagement -Schema).Zu den allgemeinen PIOP-Lösungen gehören Plonkish, GKR usw., während gemeinsame PCS-Lösungen Fr, KZG, IPA usw. umfassen als Fr-basierte Special Zk-Snark angesehen werden.
Wenn detaillierter, verwenden verschiedene Arten von Proof -Systemen unterschiedliche Polynom -Verpflichtungsschemata (PCs), arithmetische Schemata, interaktive Oracle -Proofs (IOP) oder prüfbare Wahrscheinlichkeitsbeweis (PCP).
Weiter,Verschiedene ZK -Proof -Systeme unterscheiden sich in den folgenden Indikatoren häufig:
-
Kryptografische Hypothese: Anti-Kollisions-Hash-Funktion, diskrete logarithmische Probleme auf elliptischen Kurven, exponentielles Wissen
-
Transparente Einstellungen gegenüber vertrauenswürdigen Einstellungen
-
Zeitaufwändig, um Beweise zu erzeugen: linear gegen hyperlinear
-
Zeitaufwändig für die Überprüfung von Beweisen: Konstante Zeit, Protokollzeit, Sublinear, linear
-
Beweisen Sie die Größe der Größe
-
Die Einfachheit der Rekursion
-
Arithmetisches Schema
-
Univariate gegen multivariate Polynom
Im Folgenden werden wir kurz über den Ursprung der ZK -Technologie sprechen, seine grundlegenden Bausteine erkunden und den Anstieg und Fall verschiedener ZK -Proof -Systeme skizzieren.Gleichzeitig führt dieser Artikel keine detaillierte Analyse des Proof -Systems selbst durch, sondern konzentriert sich auf diejenigen, die einen tiefgreifenden Einfluss auf das Feld hatten.Schließlich ist die Entwicklung einer Branche nur durch die großen Ideen der Pioniere und die Praxis ansprechend möglich.
Der historische Entwicklungskontext von ZK-Snark
Herkunft: 1980er bis 1990er Jahre
Wie bereits erwähnt, ist Zero-Knowledge-Beweis kein neues Konzept.Der erste Auftritt fand in Goldflser, Micali (Gründer von Algorand) und Rackoffs Papieren stattDie Wissenskomplexität interaktiver Proof -Systeme„Mitte.
UndDie wichtigsten Ideen und Protokolle, die wir zum Aufbau der ZK-Snark-Technologie verwenden, wurden in den 1990er Jahren veröffentlicht.Zum Beispiel vereinfacht das Sumcheck -Protokoll die Erklärung der Summe der Bewertung mehrerer Polynome zur einzelnen Bewertung zufällig ausgewählter Punkte auf der elliptischen Kurve, die eine wichtige Grundlage für die ZK -Technologie bildet.
Daher ist die Entstehung von ZK -Ideen tatsächlich weit früher als die Entstehung von Bitcoin.Zu diesem Zeitpunkt gab es jedoch einen allgemeinen Mangel an geltenden Fällen für ZK, und die Menschen konnten nicht die leistungsstarke Rechenleistung bereitstellen, die erforderlich ist, um das ZK -Proof -System zu erfüllen.
GKR -Protokoll (2007)
GKR (Goldwasser-Kalai-Rothblum) ist ein interaktives Protokoll.Im GKR-Protokoll müssen der Prover und der Überprüfer auf die Betriebsergebnisse des doppelten Eingangs-Arithmetikschalters in einer endlichen Domäne zustimmen, deren Tiefe d ist, die D-T-Schicht ist die Eingangsschicht und die 0-TH Ebene ist die Ausgangsschicht.Das Protokoll beginnt mit einer Erklärung über den Ausgang des Schaltkreises und vereinfacht es zu einer Erklärung der vorherigen Schicht durch rekursiv.Schließlich können wir die Erklärung in die Ausgabe in eine Erklärung der Eingangsparameter der Schaltung umwandeln, die leicht überprüft werden kann.Es kann gesagt werden, dass das GKR -Protokoll aufgrund des oben genannten Sumcheck -Protokolls stark vereinfacht wird.
KZG Polynom Engagement Solution (2010)
Im Jahr 2010 drei Experten im ZK -Bereich——Kate von der deutschen Forschungseinrichtung MPI-SWS, Zaverucha von der Canadian Cryptography Company Certicom Research und Goldberg von der University of Waterloo veröffentlichten gemeinsam eine Arbeit „konstante Größe für Polynomien und ihre Anwendungen.Dieses PapierEin polynomielles Verpflichtungsschema unter Verwendung bilineare Paargruppen wird vorgeschlagen, KZG.
Dieses Versprechen besteht aus einem separaten Gruppenelement, und der Kommission kann eine korrekte Bewertung des Polynoms effizient aufzeigen, und mit Hilfe der Batch -Verarbeitungstechnologie kann die Bewertung mehrerer Polynome aufgedeckt werden.KZG versprach, einer der grundlegenden Bausteine einiger bekannter ZK-Proof-Systeme (z.Um das Konzept der Batch-Verarbeitungstechnologie intuitiver zu verstehen, können Sie sich auf den Artikel über Mina-Ehereum Bridge beziehen.
Referenz: https://blog.lambdaclass.com/mina-to-ethereum-bridge/
Praktisches ZK-Snark-System basierend auf elliptischen Kurven (2013)
Die erste praktische Struktur von ZK-Snark erschien im Jahr 2013 und erforderte einen Vorverarbeitungsschritt, um einen Beweisschlüssel und einen Überprüfungsschlüssel zu erstellen.Diese Schlüssel können von großer Größe sein und von den geheimen Parametern selbst abhängen;In diesem praktischen ZK-Snark-System, um den Code in ein bewährtes Formular umzuwandeln, müssen der Code in eine Reihe mathematischer Formen von Polynombeschränkungen zusammengestellt werden.
Zunächst muss der obige Vorgang manuell abgeschlossen sein, was sowohl zeitaufwändig als auch fehleranfällig ist.Später haben wir als Reaktion auf die technologischen Veränderungen in dieser Richtung hauptsächlich versucht, die folgenden Kernprobleme zu lösen:
-
Bieten Sie effizientere Beweise
-
Reduzieren Sie die Anzahl der Vorverarbeitung
-
Implementieren Sie eher universelle als schaltungsspezifische Einstellungen
-
Vermeiden Sie vertrauenswürdige Einstellungen
-
Entwickeln Sie Methoden zur Beschreibung von Schaltungen in Sprachen auf hoher Ebene, anstatt manuell polynomiale Einschränkungen zu schreiben
Pinocchio Protocol (2013)
Das Pinocchio-Protokoll ist das erste ZK-Snark-System, das tatsächlich verfügbar ist.Basierend auf einem quadratischen Arithmetikprogramm (QAP) beträgt die anfängliche Beweisgröße 288 Bytes.Die Toolchain von Pinocchio bietet einen Compiler, der die C -Sprache in arithmetische Schaltkreise zusammenstellt, die weiter in QAP umgewandelt werden können.Das Pinocchio-Protokoll benötigt den Verifizierer, um Schlüssel zu erzeugen, die nicht universell, aber schaltungsspezifisch sind.Die progressive Zeitkomplexität der Systemerzeugung und die Schlüsseleinstellungen des Proof -Systems hängt linear mit der Berechnungsskala zusammen, und die Überprüfungszeit hängt linear mit der Größe des gemeinsamen Eingangs und der gängigen Ausgabe zusammen.
Groth16 (2016)
Groth stellte einen neuen ZK-ILM-Algorithmus ein, der eine höhere Leistung bei der Behandlung von R1Cs erzielt.R1CS ist ein Einschränkungssystem erster Ordnung, bei dem es sich um eine Polynombeschränkung in ZK-Snark handelt.Gorths Beweis ist die kleinste Datengröße (einschließlich nur drei Gruppenelemente), und die Überprüfungsgeschwindigkeit ist sehr schnell.Führen Sie einfach drei Paarungsvorgänge und einen Vorverarbeitungsschritt durch, der die Referenzzeichenfolge strukturiert.Der Hauptnachteil von Gorth besteht jedoch darin, dass jedes Programm, das nachgewiesen werden muss, unterschiedliche vertrauenswürdige Einstellungen erfordert, was in praktischen Anwendungen recht unpraktisch ist.
Später wurde Groth16 in Zcash verwendet, einem relativ berühmten Blockchain -Projekt für Privatsphäre (von Starkware -Gründer ELI).
Bulletproofs und IPA (2016)
Eine der Hauptschwächen des oben genannten KZG -Polynom -Verpflichtungsschemas ist die Notwendigkeit einer vertrauenswürdigen Umgebung.Bootle et al.Der Nachweis des inneren Produktschutzes mit linearer Komplexität braucht Zeit, die Anzahl der Wechselwirkungen zwischen dem Prover und dem Verifizierer ist logarithmisch, die Überprüfungszeit ist jedoch linear.Darüber hinaus entwickelten Bootle et al.Diese Ideen wurden später von Halo2 und Kimchi übernommen.
Sonic, Marlin und Plonk (2019)
Sonic, Plonk und Marlin lösen das Problem, dass jedes Programm im Groth16 -Algorithmus vertrauenswürdige Einstellungen erfordert, um eine gemeinsame und aktualisierte strukturierte Referenzzeichenfolge einzuführen (zum Implementieren vertrauenswürdiger Einstellungen, die nur einmal erfordern).In,Marlin stellt ein Proof -System an, das auf R1Cs basiert, und ist zur Kerntechnologie von Aleo geworden.
Plonk führt ein neues arithmetisches Schema ein (später als Plonkish bekannt) und verwendet das Grandprodukt, um Replikationsbeschränkungen zu überprüfen.Plonkish ermöglicht auch die Einführung von dedizierten Schaltungslogik-Toren für bestimmte Operationen, sogenannte „benutzerdefinierte Gates“.Viele bekannte Blockchain-Projekte haben maßgeschneiderte Versionen von Plonk verwendet, darunter Aztec, ZkSync, Polygon Zkevm, Mina, Ethereum PSE Group und Scroll.
spartanisch(2019)
Spartan liefert einen IOP für Schaltkreise, die unter Verwendung von R1Cs beschrieben werden und die Eigenschaften multivariater Polynome und Sumentestprotokolle verwendet.Durch die Verwendung eines geeigneten Polynom-Verpflichtungsschemas implementiert es ein transparentes ZK-Snark-System und die zeitliche Komplexität der Erzeugung des Beweises ist linear.
Lookups (2020)
Gabizon und Williamson schlugen Plookup in ihrer Zeitung im Jahr 2020 vor.Verwenden Sie das Grandprodukt, um zu beweisen, dass ein Wert in der vorbereiteten Wahrheitstabelle enthalten ist und zeigt, wie Plookup-Parameter in den Plonk-Algorithmus eingeführt werden.
Diese Suchargumente haben jedoch ein gemeinsames Problem, und die Provers müssen viel Geld ausgeben, um einen vollständigen Wahrheitstisch zu erstellen, sodass frühere Arbeiten um Suchanlagen für die Reduzierung der Beweiskosten gewidmet sind.
Später führte Haböck Logup in sein Papier ein, das Log-Derivate verwendet, um die Grand-Product-Überprüfung in die Summe der Reziprokale umzuwandeln.Logup ist für Leistungsverbesserungen bei Polygon ZKEVMS von entscheidender Bedeutung, da sie die gesamte Wahrheitstabelle in mehrere Stark -Module aufteilen müssen.Diese Module müssen korrekt verknüpft sein, und Cross-Tisch-Lookups können dies erzwingen.Seitdem hat die Einführung von Logup-GKR die Leistung von Logup über das GKR-Protokoll verbessert.
Caulk ist die erste Lösung, um die nachgewiesene Zeit -Sublinear -Beziehung zur Größe der Wahrheitstabelle herzustellen.Andere Lösungen folgten, wie Baloo, Flookup, CQ und Caulk+.Darüber hinaus schlägt Lasso mehrere Verbesserungen vor, um zu vermeiden, dass sich die Wahrheitstabelle bei einer bestimmten Struktur verpflichtet hat.
Hyperplonk (2022)
Hyperplonk wurde in dem Papier „Hyperplonk: Plonk mit linearem Prover und hochgradigen benutzerdefinierten Toren“ vorgeschlagen.Hyperplonk basiert auf Plonks Konzept und nimmt multivariate Polynome an.Anstatt Division zu verwenden, um die Ausführung von Einschränkungen zu überprüfen, stützt sich das Summe-Test-Protokoll.Gleichzeitig unterstützt es auch Einschränkungen höherer Ordnung, ohne die Zeit der Beweiserzeugung zu beeinflussen.
Da multivariate Polynome verwendet werden, müssen keine schnellen Fourier -Transformation (FFT) durchgeführt werden, es wird bewiesen, dass die generierte Zeit linear mit der Schaltkalkskala zusammenhängt.Hyperplonk führt auch einen neuen Permutation IOP für kleine Felder ein und nimmt ein summierungsbasiertes Protokoll an, das die Arbeitsbelastung von Provers, die Beweisgröße und die Überprüfungszeit verringert.
ZK-Proof-System unter Verwendung von Anti-Kollisions-Hash-Funktion
Während Pinocchio im Jahr 2013 vorgeschlagen wurde, gibt es einige Lösungen für die Erzeugung von Schaltungs-/Arithmetikschemata, die beweisen können, dass die virtuelle Maschine Anweisungen korrekt ausführt.Obwohl die Entwicklung eines arithmetischen Schemas für eine virtuelle Maschine komplexer oder weniger effizienter ist als das Schreiben von speziellen Schaltungen für einige Programme, hat es einen wichtigen Vorteil: Unabhängig davon, wie komplex das Programm ist, beweisen Sie nur, dass es in der virtuellen Maschine korrekt ausgeführt wird.
Einige Ideen in Tinyram wurden später im Design von virtuellen Kairo-Maschinen verbessert, gefolgt von ZK-EVM und Allzweck-ZKVM.Die Verwendung von kollisionsbeständigen Hash-Funktionen in Proof-Systemen beseitigt die Notwendigkeit vertrauenswürdiger Einstellungen oder elliptischer Kurvenoperationen, jedoch auf Kosten der Beweis länger.
Tinyram (2013)
In „Snarks for C“ entwickelten sie ein auf PCP basierender Proof -System, um zu beweisen, dass die Ausführungsergebnisse von in C geschriebenen Programmen korrekt sind.Das Programm wird in Tinyram zusammengestellt, eine vereinfachte VM.Das VM verfügt über einen adressierbaren Zufallspeicher auf Byteebene, und die Schaltungsgröße erhöht die Quasi-linear in der Rechenskala und kann Operationen wie Schleifen, Steuerflüsse und Speicherzugriff effizient verarbeiten.
In,PCP bezieht sich auf probabilistisch prüfbare Beweise, was bedeutet, dass die Wahrscheinlichkeit überprüfbar ist.Im Gegensatz zu herkömmlichen Proof -Systemen, bei denen Überprüfer den gesamten Beweis überprüfen müssen, erfordert PCP nur eine begrenzte Zufälligkeit, um eine effiziente Überprüfung zu erreichen.
Ligero (2017)
Ligero führte ein Proof -System ein, das Beweise der Größe O (√ ̄n) implementieren kann, wobei n die Größe der Schaltung hat.Es arrangiert Polynomkoeffizienten in Matrixform.Brakedown basiert auf Ligero und führt das Konzept eines domänenunabhängigen Polynom-Engagements ein.
Starks (2018)
Starks (skalierbare transparente Wissensargumente) wurden 2018 von Eli Ben-Sasson et al.Sie implementieren die Beweiskomplexität von? (Log²?), Haben schnelle Überprüfungsgeschwindigkeiten, benötigen kein vertrauenswürdiges Setup und werden spekuliert, dass sie nach der Quantum-Sicherheit sind.Sie werden von Starkware/Starknet- und Kairo -Virtual -Maschinen verwendet.Zu den wichtigsten Innovationen gehören algebraische Intermediate-Repräsentation (Luft) und schnelle Interaktive-Oracle-Proof-Proof-Proof-Protokolle (Reed-Solomon).Darüber hinaus werden Starks auch von vielen bekannten Blockchain-Projekten verwendet (z. B. Polygon Miden, Risczero, Winterfell, Neptun, Zerosync, Zksync usw.).
Neue Entwicklungsrichtung
Die Verwendung verschiedener Beweissysteme in praktischen Anwendungen zeigt die Vorteile verschiedener Methoden und fördert die Entwicklung von ZK.Das arithmetische Schema von Plonkish bietet beispielsweise eine einfache Möglichkeit, benutzerdefinierte Logik -Tore und Suchargumente einzubeziehen.In der Zwischenzeit verbessert die Verwendung von Grandprodukten die Überprüfung der Luft (randomisierte Luft, die die Vorverarbeitung mit sich bringt) seine Leistung und vereinfacht die Parameter des Speicherzugriffs.ZK-Stark wird immer beliebter, da es in der Erzeugungseffizienz besser ist und zk-freundliche Hash-Funktionen eingeführt werden.
Neues Polynom -Verpflichtungsschema (2023)
Mit der Entstehung effizienter Snarks, die auf multivariaten Polynomen wie Spartan oder Hyperplonk basieren, besteht ein wachsendes Interesse an neuen Verpflichtungssystemen für solche Polynome.Binius, Zeromorph und Basebaste schlagen alle neue Wege vor, um multilineare Polynome zu versprechen.Binius hat den Vorteil, dass bei der Bezeichnung von Datentypen (während viele andere Proofsysteme mindestens 32-Bit-Feldelemente zur Darstellung einzelner Bits verwendet werden) und arbeitet an binären Domänen.Das Verpflichtungsschema verwendet eine Brems, die für feldunabhängige Zwecke ausgelegt ist.Die Basfold verallgemeinert Fr neben Reed-Solomon und erreicht so ein domänenunabhängiges Polynom-Engagement-Schema (PCS).
Domänenunabhängig ist eine Eigenschaft eines Polynom-Verpflichtungsschemas, das sich auf den Verpflichtungsprozess in einem Polynom-Verpflichtungsschema bezieht, das nicht von bestimmten Eigenschaften eines bestimmten Domäne abhängt.Dies bedeutet, dass Verpflichtungen für Polynome jeder algebraischen Struktur wie Finite -Domänen, elliptische Kurven und sogar ganzzahlige Ringe vorgenommen werden können.
Anpassbares Einschränkungssystem (2023)
CCS verallgemeinert R1Cs und erfasst die Arithmetik von R1Cs, Plonkish und Luft ohne zusätzlichen Overhead.Die Verwendung von CCs in Kombination mit Spartan IOP kann Superspartan erzeugen, was hochdimensionale Einschränkungen unterstützt, ohne dass die Verschlüsselungskosten proportional zur Einschränkungsreihenfolge tragen müssen.Insbesondere SupersPartan bietet Luft einen linearen Zeitschutz -Snark.
Zusammenfassen
Dieser Artikel überprüft den Fortschritt der ZK-Technologie seit Mitte der 1980er Jahre.Fortschritte in Informatik, Mathematik und Hardware in Verbindung mit der Einführung von Blockchain haben neue und effizientere ZK -Proof -Systeme geführt, die den Weg für viele Anwendungen eröffnet haben, die die Gesellschaft verändern können.
Forscher und Ingenieure schlugen Verbesserungen des ZK -Systems auf der Grundlage der Nachfrage vor und konzentrierten sich auf die Beweisgröße, den Speicherverbrauch, die Transparenz, den Quantensicherheitswiderstand, die Nachweiszeit und die Überprüfungszeit.Obwohl es immer zwei Hauptkategorien von ZKs Mainstream -Implementierungslösungen (Snark und Starks) gegeben hat, sind die Grenzen zwischen beiden allmählich verschwommen, und die Vorteile verschiedener Proof -Systeme werden kombiniert, z. Schema.
Wir können erwarten, dass das neue ZK -Proof -System weiterhin auftaucht und die Leistung weiter verbessert wird.Bei Anwendungen, die diese Proof -Systeme verwenden, können die neuesten Algorithmen, wenn sie nicht die iterative Entwicklung der neuesten Technologien befolgen und kontinuierlich rekonstruieren und anwenden, ihre aktuelle Hauptposition nur vorübergehend.
Originallink:https://blog.lambdaclass.com/our-highly-subjective-view-on-history-of-zero-knowledge-proofs/