Die aktuelle Wachstumsrate von Zero-Knowledge-Proof-Projekten (ZKP) in der Blockchain-Branche ist erstaunlich, insbesondere der Anstieg von ZKP-Anwendungen auf den beiden Ebenen Erweiterung und Datenschutz, der uns einer Vielzahl von Zero-Knowledge-Proof-Projekten ausgesetzt hat. Aufgrund der extrem mathematischen Natur von ZKP ist es für Verschlüsselungsbegeisterte deutlich schwieriger, ZK im Detail zu verstehen. Daher hoffen wir auch, einige Änderungen in der ZKP-Theorie und -Anwendung von Anfang an zu klären und mit den Lesern die Auswirkungen und den Wert auf die Kryptoindustrie zu erkunden – gemeinsam durch mehrere Berichte zu lernen, die auch als Zusammenfassung der Gedanken des HashKey dienen Kapitalforschungsteam. Dieser Artikel ist der erste in der Reihe und stellt hauptsächlich die Entwicklungsgeschichte, Anwendungen und einige Grundprinzipien von ZKP vor.
Das moderne Zero-Knowledge-Proof-System entstand aus dem von Goldwasser, Micali und Rackoff gemeinsam veröffentlichten Artikel „The Knowledge Complexity of Interactive Proof Systems“ (GMR85), der 1985 vorgeschlagen und 1989 veröffentlicht wurde. In diesem Artikel wird hauptsächlich erläutert, wie viel Wissen nach K Interaktionsrunden in einem interaktiven System ausgetauscht werden muss, um zu beweisen, dass eine Aussage korrekt ist. Wenn das ausgetauschte Wissen zu Null gemacht werden kann, spricht man von einem Zero-Knowledge-Beweis. Es wird davon ausgegangen, dass der Prüfer über unbegrenzte Ressourcen verfügt und der Verifizierer nur über begrenzte Ressourcen. Das Problem bei interaktiven Systemen besteht darin, dass der Beweis nicht vollständig mathematisch beweisbar, sondern im probabilistischen Sinne korrekt ist, obwohl die Wahrscheinlichkeit sehr gering ist (1/2^n).
Daher ist das interaktive System nicht perfekt und weist nur annähernde Vollständigkeit auf. Das auf dieser Grundlage geborene nicht-interaktive System (NP) ist vollständig und wird zur perfekten Wahl für das wissensfreie System.
Den frühen Zero-Knowledge-Proof-Systemen mangelte es an Effizienz und Benutzerfreundlichkeit, sodass sie immer auf der theoretischen Ebene blieben. Erst in den letzten 10 Jahren begannen sie zu blühen. Als die Kryptographie in der Kryptografie an Bedeutung gewann, rückten wissensfreie Beweise in den Vordergrund und wurden zu einer entscheidenden Richtung. Insbesondere die Entwicklung eines allgemeinen, nicht interaktiven, wissensfreien Protokolls mit begrenzter Beweisgröße ist eine der kritischsten Forschungsrichtungen.
Grundsätzlich ist der wissensfreie Beweis ein Kompromiss zwischen der Geschwindigkeit des Beweises, der Geschwindigkeit der Verifizierung und der Größe des Beweises. Das ideale Protokoll ist ein schneller Beweis, eine schnelle Verifizierung und eine kleine Beweisgröße.
Der wichtigste Durchbruch im Zero-Knowledge-Beweis ist Groths 2010 erschienene Arbeit Short Pairing-based Non-interactive Zero-Knowledge Arguments, die auch der theoretische Pionier der wichtigsten Gruppe von zk-SNARKs in ZKP ist.
Die wichtigste Entwicklung bei der Anwendung von Zero-Knowledge-Proofs ist das von Z-Cash im Jahr 2015 verwendete Zero-Knowledge-Proof-System, das die Vertraulichkeit von Transaktionen und Beträgen schützt. Später entwickelte sich daraus eine Kombination aus zk-SNARK und Smart Contracts, und zk-SNARK trat in breitere Anwendungsszenarien ein.
Zu den wichtigen akademischen Erfolgen in dieser Zeit gehören:
Andere Entwicklungen wie PLONK, Halo2 usw. sind ebenfalls äußerst wichtige Fortschritte und haben auch einige Verbesserungen an zk-SNARK vorgenommen.
Die beiden am weitesten verbreiteten Anwendungen von Zero-Knowledge-Proofs sind der Schutz der Privatsphäre und die Kapazitätserweiterung. In den Anfängen, mit der Einführung von Datenschutztransaktionen und mehreren bekannten Projekten wie Zcash und Monero, wurden Datenschutztransaktionen einst zu einer sehr wichtigen Kategorie. Da die Notwendigkeit von Datenschutztransaktionen jedoch nicht so ausgeprägt war, wie von der Branche erhofft, begann sich diese Art von repräsentativen Projekten zu verlangsamen. Betreten Sie langsam die Lager der zweiten und dritten Stufe (ziehen Sie sich nicht von der Bühne der Geschichte zurück). Auf Anwendungsebene ist der Erweiterungsbedarf so stark gestiegen, dass sich Ethereum 2.0 (das in Konsensschicht umbenannt wurde) im Jahr 2020 in eine Rollup-zentrierte Route verwandelt hat. Die ZK-Serie ist offiziell wieder in die Aufmerksamkeit der Branche gerückt und in den Mittelpunkt gerückt.
Datenschutztransaktionen: Es gibt viele Projekte, die Datenschutztransaktionen implementiert haben, darunter Zcash mit SNARK, Tornado, Monero mit Bulletproof und Dash. Dash nutzt ZKP nicht im engeren Sinne, sondern ein einfaches und grobes Währungsmischsystem, das nur die Adresse, nicht aber den Betrag verbergen kann. Ich werde es hier nicht erwähnen.
Die von Zcash angewandten zk-SNARKs-Transaktionsschritte sind wie folgt:
Quelle: Entmystifizierung der Rolle von zk-SNARKs in Zcash
Zcash hat immer noch Einschränkungen bei der Verwendung von Zero-Knowledge, das heißt, es basiert auf UTXO, sodass ein Teil der Transaktionsinformationen nur abgeschirmt und nicht wirklich verheimlicht wird. Da es sich um ein separates Netzwerk handelt, das auf dem Design von Bitcoin basiert, ist es schwierig zu erweitern (mit anderen Anwendungen zu kombinieren). Die tatsächliche Nutzungsrate der Abschirmung (d. h. privater Transaktionen) beträgt weniger als 10 %, was zeigt, dass private Transaktionen nicht erfolgreich ausgeweitet wurden. (ab 2202)
Der von Tornado verwendete einzelne große Mischpool ist vielseitiger und basiert auf einem „erprobten“ Netzwerk wie Ethereum. Torndao ist im Wesentlichen ein Währungsmischpool, der zk-SNARK verwendet, und die Vertrauenseinstellung basiert auf dem Groth 16-Papier. Zu den mit Tornado Cash verfügbaren Funktionen gehören:
Vitalik erwähnte, dass Datenschutz im Vergleich zur Erweiterung relativ einfach umzusetzen sei. Wenn einige Erweiterungsprotokolle eingerichtet werden können, ist der Datenschutz grundsätzlich kein Problem.
Erweiterung: Die Erweiterung von ZK kann im Netzwerk der ersten Ebene, z. B. Mina, oder im Netzwerk der zweiten Ebene, z. B. zk-roll-up, erfolgen. Die Idee des ZK-Roll-Ups könnte aus Vitaliks Beitrag aus dem Jahr 2018 stammen: On-Chain-Skalierung auf potenziell ~500 TX/Sek. durch Massen-TX-Validierung.
ZK-Rollup hat zwei Arten von Rollen: eine ist Sequencer und die andere ist Aggregator. Der Sequencer ist für das Verpacken von Transaktionen verantwortlich, und der Aggregator ist dafür verantwortlich, eine große Anzahl von Transaktionen zusammenzuführen, ein Rollup zu erstellen und einen SNARK-Beweis zu erstellen (es kann sich auch um einen wissensfreien Beweis handeln, der auf anderen Algorithmen basiert). Dieser Beweis wird mit dem vorherigen Status von Layer1 verglichen, dann wird der Ethereum-Merkle-Baum aktualisiert und ein neuer Statusbaum berechnet.
Quelle: Polygon
Vor- und Nachteile des ZK-Rollups:
Quelle: Ethereum-Forschung
Basierend auf Datenverfügbarkeit und Beweismethoden verfügt Starkware über ein klassisches Klassifizierungsdiagramm für L2 (die Datenverfügbarkeitsschicht von Volition kann in der Kette oder außerhalb der Kette ausgewählt werden):
Quelle: Starkware
Zu den wettbewerbsfähigsten ZK-Rollup-Projekten, die derzeit auf dem Markt sind, gehören: StarkNet von Starkware, zkSync von Matterlabs und Aztec connect von Aztec, Hermez und Miden von Polygon, Loopring, Scroll usw.
Grundsätzlich liegt der technische Weg in der Wahl von SNARK (und seinen verbesserten Versionen) und STARK sowie der Unterstützung von EVM (einschließlich Kompatibilität oder Äquivalenz).
Besprechen Sie kurz die EVM-Kompatibilitätsprobleme:
Die Kompatibilität zwischen ZK-System und EVM bereitete schon immer Kopfzerbrechen, und die meisten Projekte werden sich zwischen beiden entscheiden. Diejenigen, die ZK betonen, erstellen möglicherweise eine virtuelle Maschine in ihrem eigenen System und verfügen über eine eigene ZK-Sprache und einen eigenen Compiler. Dies erschwert jedoch das Erlernen für Entwickler und wird zu einer Blackbox, da es sich im Grunde nicht um Open Source handelt . Generell hat die Branche derzeit zwei Möglichkeiten. Eine besteht darin, vollständig mit den Opcodes von Solidity kompatibel zu sein, und die andere darin, eine neue virtuelle Maschine zu entwerfen, die ZK-freundlich und mit Solidity kompatibel ist. Die Branche hatte zu Beginn nicht mit einer so schnellen Integration gerechnet, aber die schnelle Iteration der Technologie in den letzten ein oder zwei Jahren hat die EVM-Kompatibilität auf ein neues Niveau gebracht, und Entwickler können ein gewisses Maß an nahtloser Migration erreichen (d. h. das Ethereum-Main). Kette zum ZK-Rollup) ist eine spannende Entwicklung, die sich auf die Entwicklungsökologie und Wettbewerbslandschaft von ZK auswirken wird. Wir werden dieses Thema in den folgenden Berichten ausführlich besprechen.
Goldwasser, Micali und Rackoff schlugen vor, dass wissensfreie Beweise drei Eigenschaften haben:
Um ZKP zu verstehen, beginnen wir also mit zk-SNARK, da viele aktuelle Blockchain-Anwendungen mit SNARK beginnen. Werfen wir zunächst einen Blick auf zk-SNARK.
zk-SNARK bedeutet: Zero-Knowledge Proof (zh-SNARK) ist Zero-Knowledge, prägnante, nicht interaktive Argumente des Wissens.
Das Beweisprinzip von zk-SNARK von Groth16 lautet wie folgt:
Quelle: https://learnblockchain.cn/article/3220
Die Schritte sind:
Im nächsten Artikel beginnen wir mit der Untersuchung der Prinzipien und Anwendungen von zk-SNARK, überprüfen die Entwicklung von ZK-SNARK anhand mehrerer Fälle und untersuchen seine Beziehung zu zk-STARK.
Die aktuelle Wachstumsrate von Zero-Knowledge-Proof-Projekten (ZKP) in der Blockchain-Branche ist erstaunlich, insbesondere der Anstieg von ZKP-Anwendungen auf den beiden Ebenen Erweiterung und Datenschutz, der uns einer Vielzahl von Zero-Knowledge-Proof-Projekten ausgesetzt hat. Aufgrund der extrem mathematischen Natur von ZKP ist es für Verschlüsselungsbegeisterte deutlich schwieriger, ZK im Detail zu verstehen. Daher hoffen wir auch, einige Änderungen in der ZKP-Theorie und -Anwendung von Anfang an zu klären und mit den Lesern die Auswirkungen und den Wert auf die Kryptoindustrie zu erkunden – gemeinsam durch mehrere Berichte zu lernen, die auch als Zusammenfassung der Gedanken des HashKey dienen Kapitalforschungsteam. Dieser Artikel ist der erste in der Reihe und stellt hauptsächlich die Entwicklungsgeschichte, Anwendungen und einige Grundprinzipien von ZKP vor.
Das moderne Zero-Knowledge-Proof-System entstand aus dem von Goldwasser, Micali und Rackoff gemeinsam veröffentlichten Artikel „The Knowledge Complexity of Interactive Proof Systems“ (GMR85), der 1985 vorgeschlagen und 1989 veröffentlicht wurde. In diesem Artikel wird hauptsächlich erläutert, wie viel Wissen nach K Interaktionsrunden in einem interaktiven System ausgetauscht werden muss, um zu beweisen, dass eine Aussage korrekt ist. Wenn das ausgetauschte Wissen zu Null gemacht werden kann, spricht man von einem Zero-Knowledge-Beweis. Es wird davon ausgegangen, dass der Prüfer über unbegrenzte Ressourcen verfügt und der Verifizierer nur über begrenzte Ressourcen. Das Problem bei interaktiven Systemen besteht darin, dass der Beweis nicht vollständig mathematisch beweisbar, sondern im probabilistischen Sinne korrekt ist, obwohl die Wahrscheinlichkeit sehr gering ist (1/2^n).
Daher ist das interaktive System nicht perfekt und weist nur annähernde Vollständigkeit auf. Das auf dieser Grundlage geborene nicht-interaktive System (NP) ist vollständig und wird zur perfekten Wahl für das wissensfreie System.
Den frühen Zero-Knowledge-Proof-Systemen mangelte es an Effizienz und Benutzerfreundlichkeit, sodass sie immer auf der theoretischen Ebene blieben. Erst in den letzten 10 Jahren begannen sie zu blühen. Als die Kryptographie in der Kryptografie an Bedeutung gewann, rückten wissensfreie Beweise in den Vordergrund und wurden zu einer entscheidenden Richtung. Insbesondere die Entwicklung eines allgemeinen, nicht interaktiven, wissensfreien Protokolls mit begrenzter Beweisgröße ist eine der kritischsten Forschungsrichtungen.
Grundsätzlich ist der wissensfreie Beweis ein Kompromiss zwischen der Geschwindigkeit des Beweises, der Geschwindigkeit der Verifizierung und der Größe des Beweises. Das ideale Protokoll ist ein schneller Beweis, eine schnelle Verifizierung und eine kleine Beweisgröße.
Der wichtigste Durchbruch im Zero-Knowledge-Beweis ist Groths 2010 erschienene Arbeit Short Pairing-based Non-interactive Zero-Knowledge Arguments, die auch der theoretische Pionier der wichtigsten Gruppe von zk-SNARKs in ZKP ist.
Die wichtigste Entwicklung bei der Anwendung von Zero-Knowledge-Proofs ist das von Z-Cash im Jahr 2015 verwendete Zero-Knowledge-Proof-System, das die Vertraulichkeit von Transaktionen und Beträgen schützt. Später entwickelte sich daraus eine Kombination aus zk-SNARK und Smart Contracts, und zk-SNARK trat in breitere Anwendungsszenarien ein.
Zu den wichtigen akademischen Erfolgen in dieser Zeit gehören:
Andere Entwicklungen wie PLONK, Halo2 usw. sind ebenfalls äußerst wichtige Fortschritte und haben auch einige Verbesserungen an zk-SNARK vorgenommen.
Die beiden am weitesten verbreiteten Anwendungen von Zero-Knowledge-Proofs sind der Schutz der Privatsphäre und die Kapazitätserweiterung. In den Anfängen, mit der Einführung von Datenschutztransaktionen und mehreren bekannten Projekten wie Zcash und Monero, wurden Datenschutztransaktionen einst zu einer sehr wichtigen Kategorie. Da die Notwendigkeit von Datenschutztransaktionen jedoch nicht so ausgeprägt war, wie von der Branche erhofft, begann sich diese Art von repräsentativen Projekten zu verlangsamen. Betreten Sie langsam die Lager der zweiten und dritten Stufe (ziehen Sie sich nicht von der Bühne der Geschichte zurück). Auf Anwendungsebene ist der Erweiterungsbedarf so stark gestiegen, dass sich Ethereum 2.0 (das in Konsensschicht umbenannt wurde) im Jahr 2020 in eine Rollup-zentrierte Route verwandelt hat. Die ZK-Serie ist offiziell wieder in die Aufmerksamkeit der Branche gerückt und in den Mittelpunkt gerückt.
Datenschutztransaktionen: Es gibt viele Projekte, die Datenschutztransaktionen implementiert haben, darunter Zcash mit SNARK, Tornado, Monero mit Bulletproof und Dash. Dash nutzt ZKP nicht im engeren Sinne, sondern ein einfaches und grobes Währungsmischsystem, das nur die Adresse, nicht aber den Betrag verbergen kann. Ich werde es hier nicht erwähnen.
Die von Zcash angewandten zk-SNARKs-Transaktionsschritte sind wie folgt:
Quelle: Entmystifizierung der Rolle von zk-SNARKs in Zcash
Zcash hat immer noch Einschränkungen bei der Verwendung von Zero-Knowledge, das heißt, es basiert auf UTXO, sodass ein Teil der Transaktionsinformationen nur abgeschirmt und nicht wirklich verheimlicht wird. Da es sich um ein separates Netzwerk handelt, das auf dem Design von Bitcoin basiert, ist es schwierig zu erweitern (mit anderen Anwendungen zu kombinieren). Die tatsächliche Nutzungsrate der Abschirmung (d. h. privater Transaktionen) beträgt weniger als 10 %, was zeigt, dass private Transaktionen nicht erfolgreich ausgeweitet wurden. (ab 2202)
Der von Tornado verwendete einzelne große Mischpool ist vielseitiger und basiert auf einem „erprobten“ Netzwerk wie Ethereum. Torndao ist im Wesentlichen ein Währungsmischpool, der zk-SNARK verwendet, und die Vertrauenseinstellung basiert auf dem Groth 16-Papier. Zu den mit Tornado Cash verfügbaren Funktionen gehören:
Vitalik erwähnte, dass Datenschutz im Vergleich zur Erweiterung relativ einfach umzusetzen sei. Wenn einige Erweiterungsprotokolle eingerichtet werden können, ist der Datenschutz grundsätzlich kein Problem.
Erweiterung: Die Erweiterung von ZK kann im Netzwerk der ersten Ebene, z. B. Mina, oder im Netzwerk der zweiten Ebene, z. B. zk-roll-up, erfolgen. Die Idee des ZK-Roll-Ups könnte aus Vitaliks Beitrag aus dem Jahr 2018 stammen: On-Chain-Skalierung auf potenziell ~500 TX/Sek. durch Massen-TX-Validierung.
ZK-Rollup hat zwei Arten von Rollen: eine ist Sequencer und die andere ist Aggregator. Der Sequencer ist für das Verpacken von Transaktionen verantwortlich, und der Aggregator ist dafür verantwortlich, eine große Anzahl von Transaktionen zusammenzuführen, ein Rollup zu erstellen und einen SNARK-Beweis zu erstellen (es kann sich auch um einen wissensfreien Beweis handeln, der auf anderen Algorithmen basiert). Dieser Beweis wird mit dem vorherigen Status von Layer1 verglichen, dann wird der Ethereum-Merkle-Baum aktualisiert und ein neuer Statusbaum berechnet.
Quelle: Polygon
Vor- und Nachteile des ZK-Rollups:
Quelle: Ethereum-Forschung
Basierend auf Datenverfügbarkeit und Beweismethoden verfügt Starkware über ein klassisches Klassifizierungsdiagramm für L2 (die Datenverfügbarkeitsschicht von Volition kann in der Kette oder außerhalb der Kette ausgewählt werden):
Quelle: Starkware
Zu den wettbewerbsfähigsten ZK-Rollup-Projekten, die derzeit auf dem Markt sind, gehören: StarkNet von Starkware, zkSync von Matterlabs und Aztec connect von Aztec, Hermez und Miden von Polygon, Loopring, Scroll usw.
Grundsätzlich liegt der technische Weg in der Wahl von SNARK (und seinen verbesserten Versionen) und STARK sowie der Unterstützung von EVM (einschließlich Kompatibilität oder Äquivalenz).
Besprechen Sie kurz die EVM-Kompatibilitätsprobleme:
Die Kompatibilität zwischen ZK-System und EVM bereitete schon immer Kopfzerbrechen, und die meisten Projekte werden sich zwischen beiden entscheiden. Diejenigen, die ZK betonen, erstellen möglicherweise eine virtuelle Maschine in ihrem eigenen System und verfügen über eine eigene ZK-Sprache und einen eigenen Compiler. Dies erschwert jedoch das Erlernen für Entwickler und wird zu einer Blackbox, da es sich im Grunde nicht um Open Source handelt . Generell hat die Branche derzeit zwei Möglichkeiten. Eine besteht darin, vollständig mit den Opcodes von Solidity kompatibel zu sein, und die andere darin, eine neue virtuelle Maschine zu entwerfen, die ZK-freundlich und mit Solidity kompatibel ist. Die Branche hatte zu Beginn nicht mit einer so schnellen Integration gerechnet, aber die schnelle Iteration der Technologie in den letzten ein oder zwei Jahren hat die EVM-Kompatibilität auf ein neues Niveau gebracht, und Entwickler können ein gewisses Maß an nahtloser Migration erreichen (d. h. das Ethereum-Main). Kette zum ZK-Rollup) ist eine spannende Entwicklung, die sich auf die Entwicklungsökologie und Wettbewerbslandschaft von ZK auswirken wird. Wir werden dieses Thema in den folgenden Berichten ausführlich besprechen.
Goldwasser, Micali und Rackoff schlugen vor, dass wissensfreie Beweise drei Eigenschaften haben:
Um ZKP zu verstehen, beginnen wir also mit zk-SNARK, da viele aktuelle Blockchain-Anwendungen mit SNARK beginnen. Werfen wir zunächst einen Blick auf zk-SNARK.
zk-SNARK bedeutet: Zero-Knowledge Proof (zh-SNARK) ist Zero-Knowledge, prägnante, nicht interaktive Argumente des Wissens.
Das Beweisprinzip von zk-SNARK von Groth16 lautet wie folgt:
Quelle: https://learnblockchain.cn/article/3220
Die Schritte sind:
Im nächsten Artikel beginnen wir mit der Untersuchung der Prinzipien und Anwendungen von zk-SNARK, überprüfen die Entwicklung von ZK-SNARK anhand mehrerer Fälle und untersuchen seine Beziehung zu zk-STARK.