Zksnark
Was ist ZK-SNARK? Kryptowährungsnutzung, Definition und Geschichte
Was ist ZK-SNARK?
Zk-SNARK steht für „Zero-Knowledge Succinct Non-Interactive Argument of Knowledge“. Es ist ein kryptografischer Beweis, der es einer Partei ermöglicht, zu beweisen, dass sie bestimmte Informationen besitzt, ohne diese preiszugeben. Ursprünglich in den 1980er Jahren aus Zero-Knowledge-Beweisen entwickelt, wird Zk-SNARK heute in Kryptowährungen eingesetzt, um die Privatsphäre zu verbessern, insbesondere bei Zcash, wo es Transaktionsdetails verbirgt, im Gegensatz zu Bitcoins transparentem Ledger. Neuere Upgrades wie Halo 2 haben dieses vertrauenslose Datenschutzmodell weiter gestärkt.
Wichtige Erkenntnisse
- Zk-SNARKs ermöglichen den Nachweis des Besitzes von Informationen, ohne die Informationen preiszugeben, und verbessern so die Privatsphäre der Nutzer in Kryptowährungen.
- In den 1980er Jahren entwickelt, werden zk-SNARKs heute von Zcash genutzt, um die Anonymität im Vergleich zu Bitcoin zu verbessern.
- Zk-SNARKs verwendeten zunächst ein Trusted Setup; diese Anforderung wurde mit Zcashs Halo-2-System im Jahr 2022 entfernt.
- Zk-SNARKs ermöglichen eine sofortige Verifikation ohne Interaktion zwischen dem Beweiser und dem Verifizierer im Blockchain-Prozess.
- Zu den Bedenken bezüglich zk-SNARKs gehören der potenzielle Missbrauch privater Schlüssel und die anfängliche „Gründersteuer“ auf Zcash-Token.
Wie ZK-SNARK die Privatsphäre von Kryptowährungen verbessert
Für viele ursprüngliche Mitglieder der Kryptowährungsgemeinschaft – hauptsächlich der Bitcoin-Community – war Privatsphäre ein selbstverständliches Ziel und Merkmal von Kryptowährungen. Allerdings war die Privatsphäre nachrangig aufgrund der Notwendigkeit eines „vertrauenslosen“ Systems, das die Integrität von Transaktionen gewährleistet.
In den frühen 2010er Jahren gingen Bitcoin-Nutzer manchmal davon aus, dass ihre Transaktionen anonym seien, weil ihre Offline-Identitäten nicht mit den öffentlichen Schlüsseln der Nutzer verknüpft waren. Aber bis zum Ende des Jahrzehnts zeigten Datenwissenschaftler, Hacker und Strafverfolgungsbehörden, dass es einfach ist, Personen aus pseudonymen Daten wiederzuidentifizieren.
Aufgrund des wahrgenommenen Mangels an Privatsphäre bei Bitcoin begannen Entwickler, datenschutzorientierte Coins zu erstellen. Der bekannteste davon ist Zcash, das auf einem Datenschutzkonzept namens zk-SNARKs basiert.
Das Konzept des Zero-Knowledge-Beweises in Kryptowährungen
Ein zk-SNARK („Zero-Knowledge Succinct Non-Interactive Argument of Knowledge“) nutzt ein Konzept, das als „Zero-Knowledge-Beweis“ bekannt ist. Vereinfacht ausgedrückt ist ein Zero-Knowledge-Beweis eine Situation, in der jede der beiden Parteien einer Transaktion der anderen bestätigen kann, dass sie einen bestimmten Satz von Informationen besitzt, ohne dabei preiszugeben, um welche Informationen es sich handelt.
Kurzer Fakt
Diese Beweise wurden erstmals in den 1980er Jahren entwickelt.
Bei den meisten Beweisen muss eine Partei auf alle Informationen zugreifen. Ein traditioneller Beweis kann mit einem Passwort verglichen werden, das für den Zugriff auf ein Online-Netzwerk verwendet wird. Der Benutzer gibt das Passwort ein, und das Netzwerk überprüft es auf Richtigkeit. Dazu muss das Netzwerk auch Zugriff auf den Inhalt des Passworts haben.
Bei einem Zero-Knowledge-Beweis zeigt der Benutzer dem Netzwerk, dass er das richtige Passwort hat, ohne es preiszugeben. Die Vorteile für Privatsphäre und Sicherheit in dieser Situation liegen auf der Hand: Wenn das Netzwerk das Passwort nicht irgendwo zu Überprüfungszwecken gespeichert hat, kann das Passwort nicht gestohlen werden.
Die Mathematik hinter zk-SNARKs ist komplex. Dennoch ermöglichen Beweise dieser Art einer Partei nicht nur nachzuweisen, dass eine bestimmte Information existiert, sondern auch, dass die betreffende Partei Kenntnis von dieser Information hat. Im Fall von Zcash können zk-SNARKs nahezu sofort verifiziert werden, und das Protokoll erfordert keine Interaktion zwischen dem Beweiser und dem Verifizierer.
Praktisches Beispiel von ZK-SNARK in Aktion
Da zk-SNARKs schwer zu verstehen sind, ist es am besten, ein einfaches Beispiel zu verwenden. Stellen Sie sich vor, Sie haben eine Sicherheitsbox mit einem Zahlenschloss in einer Bank, in der sich ein Zettel befindet. Auf dem Zettel stehen eine Unterschrift und ein gedruckter Name. Sie glauben, dass Sie der Einzige sind, der weiß, was darauf steht. Sie diskutieren mit einem Freund darüber, haben aber nichts über den Zettel verraten, außer dass er in dieser Sicherheitsbox existiert.
Der Freund sagt Ihnen, dass er weiß, was darauf steht, und nennt Ihnen dann den Namen auf dem Zettel. Er hat damit bewiesen, dass er die Kombination kennt und weiß, was auf dem Zettel steht, ohne es preiszugeben.
In einer Blockchain ist es viel komplizierter, aber das ist die Grundidee. Jemand liefert einen Beweis, dass er etwas weiß, ohne es preiszugeben.
Potenzielle Herausforderungen und Kritik an ZK-SNARKs
Es gibt natürlich Bedenken im Zusammenhang mit zk-SNARKs. Wenn beispielsweise jemand in der Lage wäre, auf den privaten Schlüssel zuzugreifen, der zur Erstellung der Parameter des Beweisprotokolls verwendet wurde, könnte er falsche Beweise erstellen, die für Verifizierer dennoch gültig erscheinen. Dies würde es dieser Person ermöglichen, durch einen Fälschungsprozess neue Zcash-Token zu erstellen. Um dies zu verhindern, wurde Zcash so konzipiert, dass die Beweisprotokolle ausgearbeitet und auf mehrere Parteien verteilt werden.
Obwohl die Konstruktion des Zcash-Beweisprozesses so erfolgte, dass die Möglichkeit der Token-Fälschung durch falsche Beweise minimiert wird, gibt es mindestens ein weiteres Problem im Zusammenhang mit der Kryptowährung. Zcash wurde mit einer 20%igen „Steuer“ auf alle Blöcke geschaffen, die in den ersten Jahren des Tokens erstellt wurden. Diese Steuer ist als „Gründersteuer“ bekannt und wird verwendet, um die Entwickler der Kryptowährung zu entschädigen.
Kritiker haben angedeutet, dass die Gründer diesen Aspekt des Systems nutzen könnten, um eine unendliche Anzahl von Zcash-Token zu erstellen, ohne dass jemand anderes von der Existenz dieser Token weiß. Aus diesem Grund ist es derzeit nicht vollständig möglich, die genaue Anzahl der im Umlauf befindlichen Zcash-Token zu kennen.
Seit 2019 arbeiten einige Entwickler daran, zk-SNARKs zu verbessern, indem sie das Trusted Setup entfernen. Im Jahr 2022 implementierten Zcash-Entwickler das Halo-2-Zero-Knowledge-System, das eines der größten Datenschutzprobleme der Blockchain beseitigt. Halo 2 erfordert kein Trust Setup zwischen den Benutzern.1
Was ist ein Beispiel für einen Zk-SNARK?
In Blockchains ist ein zk-SNARK ein Beweis, dass eine Entität etwas (Wissen, Daten usw.) besitzt, es aber einer anderen Entität nicht preisgegeben hat. Wenn eine Blockchain beispielsweise einen öffentlichen und einen geheimen Schlüssel für eine Transaktion erfordert, könnte eine Partei eine gehashte Lösung generieren, und die andere könnte eine Lösung generieren, die innerhalb eines bestimmten Bereichs liegt, was beweist, dass sie die erforderlichen Informationen besitzt.
Was ist eine ZK-SNARK-Schaltung?
Eine elektronische Schaltung wird manchmal verwendet, um zu beschreiben, wie zk-SNARK funktioniert oder bei der Gestaltung eines Zero-Knowledge-Prozesses, da bei der Erstellung von Workflows elektronische Begriffe wie „Gates“ und „Chips“ verwendet werden.2
Was ist der Unterschied zwischen ZK-SNARK und ZK-STARK?
Zk-STARK steht für Zero-Knowledge Scalable Transparent Argument of Knowledge und ist bei einer größeren Anzahl von Zeugen viel effizienter als zk-SNARK.