Was ist Zero-Knowledge Proof und seine Rolle in der Blockchain-Welt?

Veröffentlicht: 2020-01-09

In den letzten Jahren haben wir uns daran gewöhnt, wie große Banken und andere Unternehmen auf unsere personenbezogenen Daten zugreifen und diese verwenden, um uns ein verbessertes Erlebnis zu bieten. Wir haben ihnen im Laufe der Zeit ein „grünes Signal“ für die Mechanismen gegeben, die unsere sensiblen Details verwenden, um uns zu helfen, auf eine bestimmte Weise zu überleben.

Aber dann trat die Blockchain-Technologie ein und veränderte alles total.

Die Blockchain-Technologie brachte verschiedene Eigenschaften wie Transparenz, Unveränderlichkeit, Dezentralisierung und verteiltes Hauptbuch hervor. Es ermöglichte Benutzern, anonym zu handeln und Transaktionen mit High-End-Sicherheit durchzuführen.

[Bevor wir weiter schauen, empfehlen wir dringend, sich die Zeit zu nehmen, um die Grundlagen von Blockchain zu verstehen .]

Blockchain gab den Benutzern, vereinfacht gesagt, die Kontrolle über ihre Privatsphäre und ihre Zukunft zurück.

Aber ist Blockchain das wirklich gelungen?

In einem Wort lautet die Antwort NEIN .

Viele Blockchain-Netzwerke verwenden öffentliche Datenbanken. So kann jeder, der über eine Internetverbindung verfügt, die Liste der Transaktionshistorie des Netzwerks einsehen. Sie können alle mit der Transaktion verbundenen Details und Ihre Brieftaschendetails sehen, aber der Name des Benutzers ist ihnen immer noch unbekannt. Stattdessen erscheinen sie als öffentlicher Schlüssel – der eindeutige Code, der den Benutzer im Blockchain-Netzwerk repräsentiert.

Auf diese Weise schützt der durch die Kryptografietechnik erstellte öffentliche Schlüssel Ihre Privatsphäre in gewissem Maße. Es ist jedoch immer noch möglich, Sie mit anderen Techniken zu entlarven.

Damit ist Ihre anonyme Tarnung aufgeflogen; den Mythos der Anonymität und Privatsphäre von Blockchain entlarven und Sie erkennen lassen, dass –

Die in einem Blockchain-Netzwerk gespeicherten sensiblen Informationen des Benutzers sind nur vertraulich, nicht anonym .

Quote 1

Ebenso gibt es verschiedene Blockchain-Netzwerke, die von Konsensalgorithmen gesteuert werden, um High-End-Datenschutz und Stabilität zu bieten, aber Dezentralisierung wird in solchen Fällen als zweite Priorität betrachtet. In vielen solchen Fällen vertrauen sich die beiden Parteien nicht. [Um mehr über diese Konsensmodelle im Detail zu erfahren, lesen Sie diesen Leitfaden zum Blockchain-Konsensalgorithmus .]

Dies insgesamt gibt einen klaren Hinweis darauf, dass Blockchain nicht so anonym und dezentralisiert ist, wie viele seiner Enthusiasten glauben. Und bringt sogar verschiedene Fragen hervor, wie zum Beispiel –

Müssen Blockchain-Netzwerke wirklich anonym sein? Wie kann Blockchain ihren Nutzern mehr Anonymität und besseren Datenschutz bieten?

In den derzeitigen Blockchain-Netzwerken werden die Transaktionen im öffentlichen Hauptbuch aufgezeichnet und sind transparenter Natur. Aus diesem Grund zögern verschiedene renommierte Marken und Märkte wie die Wall Street, Zero-Knowledge-Proof-Technologie einzuführen, da die Vertraulichkeit von Kunden und Transaktionen für sie ein Muss ist. Insgesamt stellt sich die Frage, ob Blockchain Web 3.0 überhaupt in der Lage sein wird, Unternehmen zu beeinflussen .

Quote 2

Zur zweiten Frage kommend, gibt es verschiedene Konzepte und Methoden wie Coin Mixing, Ringct und Coin Join, die Transaktionen in Blockchain anonymisieren, aber dasjenige, das sehr geschätzt wird, ist Zero-Knowledge Proof .

Diejenige , die wir in diesem Artikel ausführlich behandeln werden.

Beginnen wir also mit einer einfachen Definition von Zero-Knowledge- Proof-Blockchain .

Was ist Zero-Knowledge-Proof?

Zero-Knowledge Proof ist ein Verschlüsselungsschema, das in den 1980er Jahren von den MIT-Forschern Silvio Micali , Shafi Goldwasser und Charles Rackoff vorgeschlagen wurde. Bei dieser Methode kann eine Partei (Beweiser) beweisen, dass eine bestimmte Aussage für die andere Partei (Verifizierer) wahr ist, ohne zusätzliche Informationen preiszugeben.

Zero Knowledge Encryption stellt sicher, dass niemand außer Ihnen (nicht einmal der Dienstanbieter oder die Blockchain-App-Entwicklungsagentur) auf Ihre gesicherten Daten zugreifen kann.

Nachdem die Definition geklärt ist, nehmen wir ein Beispiel, um zu verstehen, wie ZKP funktioniert.

Beispiel: Kinder und Schokoriegel

Angenommen, zwei Kinder – Bob und Alice – haben Schokoriegel von einer Party bekommen. Bob will wissen, ob Alice die gleiche Anzahl Schokoriegel hat oder nicht. Aber gleichzeitig ist keiner von ihnen bereit, die genaue Zahl preiszugeben.

Was sie also tun, ist, dass Bob vier abschließbare Kisten in einen Raum bringt, vorausgesetzt, dass die Anzahl der erhaltenen Schokoriegel 10, 20, 30 und 40 beträgt. Er beschriftet jede Kiste mit einem Wert, der der Anzahl der Schokoriegel entspricht.

Dann behält Bob den Schlüssel zu der Kiste, die die Anzahl der Schokoriegel definiert, die er in seiner Tasche hat (sagen wir, er hat 30 Schokoriegel), und wirft die Schlüssel aller anderen Kisten weg. Und er verlässt den Raum.

Jetzt betritt Alice den Raum mit 4 kleinen Zetteln und schreibt auf eines davon '+' und auf jedes andere '-'. Hier bezeichnet „+“ die Anzahl der Schokoriegel, die sie erhalten hat, während „-“ jeden anderen Wert darstellt.

Sie schiebt das Papierstück mit dem „+“-Zeichen in eine Schachtel (sagen wir in die, die 20 Schokoriegel darstellt) und „-“ in die restlichen Schachteln. Und sie geht.

Nun betritt Bob erneut den Raum und öffnet die Kiste, deren Schlüssel sich in seiner Tasche befindet. Dann prüft er, ob das Kästchen einen Zettel mit „+“-Zeichen oder „-“-Zeichen hat. Wenn es ein „+“-Zeichen ist, erkennt er, dass Alice die gleiche Anzahl an Schokoriegeln hat. Während sie es im anderen Fall nicht tut.

Da wir wissen, dass Alice 20 Schokoriegel und Bob 30 Schokoriegel hat, ist klar, dass Bob in der abschließbaren Kiste, deren Schlüssel er hat, ein „-“-Zeichen finden wird. Dadurch wird ihm klar, dass beide nicht die gleiche Anzahl an Schokoriegeln haben.

Im selben Moment wird Alice den Raum wieder betreten und ein „-“-Zeichen in Bobs Hand finden und sie wird auch erfahren, dass sie eine andere Anzahl von Schokoriegeln haben.

Hinweis: Durch diese Methode erfährt Bob, dass sie nicht die gleiche Anzahl an Schokoriegeln haben. Aber er wird immer noch keine Ahnung haben, ob Alice mehr oder weniger Schokoriegel hat als er und umgekehrt.

Somit wahrt das Zero-Knowledge -Proof-Ethereum die Privatsphäre der sensiblen Informationen der Benutzer, während eine Transaktion durchgeführt wird (in diesem Fall wird bei der Transaktion festgestellt, ob sie die gleiche Anzahl von Schokoriegeln haben oder nicht).

Obwohl dieses Beispiel Ihnen geholfen hätte zu verstehen, was genau Zero Knowledge Proofs (ZKPs) sind, lassen Sie uns das Konzept mit einem Bild auffrischen:

Zero Knowledge Proofs (ZKPs)

Jetzt, wo das Konzept der Zero-Knowledge-Proofs (ZKPs) erklärt wird, ist es der beste Zeitpunkt, um zu untersuchen, warum jeder es anderen verfügbaren Optionen vorzieht. Lassen Sie uns auf die Vor- und Nachteile des Zero Knowledge Proof eingehen:

Vorteile von Zero Knowledge Proofs (ZKPs)

  1. Einfach – Einer der Hauptvorteile der Zero-Knowledge-Kryptografie besteht darin, dass sie keine komplexe Verschlüsselungsmethode beinhaltet.
  2. Sicher – Es ist nicht erforderlich, dass jemand irgendwelche Informationen preisgibt.
  3. Transaktionen – Ein weiterer überzeugender Vorteil im Zusammenhang mit ZKPs bezieht sich auf die Verkürzung von Transaktionen auf der Blockchain. Infolgedessen müssten sich Benutzer nicht um die Informationsspeicherung kümmern, um die Kompatibilität und Identität mit verschiedenen Arten von Assets einzubeziehen.

Während dies die Vorteile von Zero-Knowledge Proof sind, hat das Konzept auch einige Nachteile. Einige davon sind:-

  1. Langwierig In der Zero-Knowledge-Technologie gibt es etwa 2.000 Berechnungen, von denen jede eine gewisse Zeit für die Verarbeitung benötigt. Dies ist der größte Nachteil beim Zero-Knowledge-Proof.
  2. Unvollkommen – Die an den Verifizierer/Bestätiger übermittelten Nachrichten können zerstört oder modifiziert werden.
  3. Begrenzt – Das Zero-Knowledge-Protokoll verlangt, dass das Geheimnis ein numerischer Wert ist. In anderen Fällen ist eine Übersetzung erforderlich.

Nachdem dies abgedeckt ist, lassen Sie uns tiefer in die technischen Einzelheiten eintauchen, bevor wir bewerten, wann und wie Zero-Knowledge-Protokolle in das Blockchain-Ökosystem eingeführt werden können.

Beginnen wir damit, was die Kernmerkmale eines Zero-Knowledge-Beweises sind.

Eigenschaften von Zero-Knowledge-Beweisen

Zero-Knowledge Proofs Properties

1. Vollständigkeit

Wenn die Aussage wahr ist und beide Nutzer sich gewissenhaft an die Regeln halten, wäre der Verifizierer ohne fremde Hilfe zu überzeugen.

2. Solidität

Wenn die Aussage falsch ist, wird der Verifizierer in keinem Szenario überzeugt (selbst wenn der Beweiser sagt, dass die Aussage für eine kleine Wahrscheinlichkeit wahr ist).

3. Zero-Wissen

In beiden Fällen kann der Verifizierer keine Informationen darüber erhalten, ob die Aussage wahr oder falsch ist.

Während die Prinzipien von ZKP behandelt werden, lassen Sie uns über die verschiedenen Arten von ZKP sprechen, in die ein Geschäftsbegeisterter investieren kann.

Arten von Zero Knowledge Proofs

1. Interaktiver Zero-Knowledge-Beweis

Bei einem interaktiven Zero-Knowledge-Beweis führt ein Beweiser eine Reihe von Aktionen nach dem Mechanismus der mathematischen Wahrscheinlichkeit durch, um den Verifizierer von einer bestimmten Tatsache zu überzeugen.

2. Nicht-interaktiver Zero-Knowledge-Beweis (NIZKP)

Wie aus dem Namen hervorgeht, erfordert der nicht-interaktive Zero-Knowledge - Proof keinen interaktiven Prozess. Das bedeutet, dass der Prüfer alle Herausforderungen auf einmal generieren kann und die Prüfer später antworten können. Dies schränkt die Möglichkeit von Absprachen ein. Es erfordert jedoch zusätzliche Maschinen und Software, um die Reihenfolge der Experimente herauszufinden.

Hinweis: Ein Übergang vom nicht-interaktiven zum interaktiven ZKP ist möglich.

Improving Privacy on a Blockchain

Wo kann der Zero-Knowledge-Beweis im Blockchain-System implementiert werden?

1. Nachrichtenübermittlung

Beim Messaging ist eine Ende-zu-Ende-Verschlüsselung unerlässlich, damit niemand außer dem, mit dem Sie kommunizieren, Ihre private Nachricht lesen kann. Um die Sicherheit zu gewährleisten, fordern Messaging-Plattformen Benutzer auf, ihre Identität gegenüber dem Server zu überprüfen und umgekehrt.

Aber mit dem Aufkommen von ZKP werden sie in der Lage sein, ein End-to-End-Vertrauen in der Messaging-Welt aufzubauen, ohne zusätzliche Informationen preiszugeben. Dies ist eine der Hauptanwendungen von Zero-Knowledge-Proof in der Blockchain-Welt.

2. Authentifizierung

Zero-Knowledge-Proof kann auch die Übertragung sensibler Informationen wie Authentifizierungsinformationen mit höherer Sicherheit erleichtern. Es kann einen sicheren Kanal für die Benutzer aufbauen, um ihre Informationen zu verwenden, ohne sie preiszugeben. Und auf diese Weise vermeiden Sie Datenlecks in den schlimmsten Szenarien.

3. Speicherschutz

Ein weiterer möglicher Anwendungsfall von Zero-Knowledge Proofs (ZKPs) liegt im Bereich Storage Utility.

Der Zero-Knowledge-Proof wird mit einem Protokoll geliefert, das nicht nur die Speichereinheit schützt, sondern auch die darin enthaltenen Informationen. Natürlich sind auch die Zugangskanäle geschützt, um ein nahtloses und sicheres Erlebnis zu bieten.

4. Senden privater Blockchain-Transaktionen

Wenn es um das Senden privater Blockchain-Transaktionen geht, ist es äußerst wichtig, diese außerhalb der Reichweite Dritter zu halten. Nun, während die traditionellen Methoden etwas schützend sind, haben sie einige Schlupflöcher.

Auch hier kommt ZKP ins Spiel. Das Konzept, wenn es klug integriert ist, hilft dabei, es nahezu unmöglich zu machen, die privaten Blockchain-Transaktionen zu hacken oder abzufangen.

5. Komplexe Dokumentation

Da Zero-Knowledge-Proof das Potenzial hat, Daten in Blöcken zu verschlüsseln, ermöglicht es einem, bestimmte Blöcke zu kontrollieren, um einem bestimmten Benutzer Zugriff zu gewähren, während der Zugriff für andere eingeschränkt wird. So schützt das Konzept die komplexe Dokumentation vor Unbefugten.

6. Dateisystemsteuerung

Ein weiterer Ort, an dem Sie eine effektive Zero-Knowledge-Proof-Implementierung sehen können, ist das Dateisystem.

Das Konzept fügt den Dateien, Benutzern und sogar Anmeldungen verschiedene Sicherheitsebenen hinzu, was es ziemlich schwierig macht, die gespeicherten Daten zu hacken oder zu manipulieren.

Read here

7. Übertragung privater Blockchain-Transaktionen

Die Übertragung privater Blockchain-Austauschvorgänge ist eine der auffälligsten Mitteilungen unter verschiedenen herausragenden Ausführungen von ZKP in Blockchain. Private Blockchain-Transaktionen sollten beim Senden vor Dritten geschützt werden.

Die Hauptsorge beim Senden privater Blockchain-Transaktionen bezieht sich auf die verschiedenen Schlupflöcher, die in den regulären Strategien offensichtlich sind. Die leistungsstarke Integration von ZKP mit privaten Blockchain-Transaktionen kann sie vielseitig für jede Art von Hacking oder Interferenz machen.

8. Demokratisierung der Stimmverifizierung

Das offensichtlichste Beispiel für die Anwendung von ZKP mit Blockchain spielt auf ihre demokratische Rolle bei der Überprüfung von Stimmen an. ZKPs können zuverlässige Antworten für prüfbare Abstimmungen geben, indem sie die Stimmen auf einer öffentlichen Blockchain (wie Ethereum) aufzeichnen.

Danach bräuchten Abstimmungsvorgänge neben dem Ausschluss des Beschränkungserfordernisses keine Bestätigung durch Dritte. ZKPs können Wählern erlauben, ihre Berechtigung zur Stimmabgabe nachzuweisen, und in diesem Sinne verhindern, dass ihre sensiblen persönlichen Daten offengelegt werden. Ebenso können die Wähler unveränderliche Beweise für die Berücksichtigung ihrer Stimme bei der endgültigen Stimmenauszählung anfordern.

9. Sicherheit für sensible Informationen

Nicht zuletzt verfeinert der Zero-Knowledge-Beweis auch die Art und Weise , wie die Blockchain-Technologie Transaktionen umgestaltet .

ZKP fügt jedem Block, der vertrauliche Bankinformationen wie Ihre Kreditkartendaten und Ihren Verlauf enthält, eine High-End-Sicherheitsstufe hinzu, sodass Banken nur die erforderlichen Blöcke manipulieren müssen, wenn ein Benutzer Informationen anfordert. Andere Blöcke bleiben unberührt und somit geschützt.

Zum Beispiel

ZoKrates (eine digitale Toolbox) wird von erfahrenen Entwicklern verwendet, um ZKPs durch Solidity zu entwickeln und zu verifizieren – eine objektorientierte Programmiersprache, die zum Erstellen von Ethereum-basierten Smart Contracts verwendet wird.

Aztec versucht, Ethereum Zero Knowledge Proof in das bestehende Ethereum-Netzwerk einzubringen, indem es einen Stapel von datenschutzorientierten Smart Contracts entwickelt.

Dies waren also einige der Anwendungsfälle von Zero-Knowledge-Proof in den Blockchain- Entwicklungsdiensten . Um Ihre Markenpräsenz auf dem Markt zu stärken, indem Sie eines davon aufbauen, beauftragen Sie ein Blockchain-App-Entwicklungsunternehmen .

Und falls Sie über die Implementierung in der realen Welt verwirrt sind, suchen Sie nach den folgenden bestehenden Projekten, die mit der Konvergenz von zwei arbeiten.

Quote 3

Beispiele aus der Praxis für die Konvergenz von Zero Knowledge Proofs und Blockchain

1. ZBargeld

Zcash ist eine Open-Source- und erlaubnislose Blockchain-Plattform, die die Funktionalität bietet, Transaktionen gemäß den Anforderungen „transparent“ und „abgeschirmt“ zu halten.

Im ersteren Fall werden die Transaktionen, genau wie Bitcoin-Transaktionen, von einer t-Adresse geregelt. Während im letzteren Fall ein Zero-Knowledge-Beweis namens zk-SNARKs verwendet wird und die Transaktionen von einer z-Adresse gesteuert werden.

Es ist der erste Kryptowährungs-Anwendungsfall und die Anwendung von ZKP in der Kryptowelt. Es ist die erste Zero-Knowledge-Proof-Kryptowährung, die diese Technologie einsetzt.

2. ING

ING ist eine niederländische Bank, die ihre eigene Zero-Knowledge-Blockchain eingeführt hat. Sie haben jedoch ihr Zero-Knowledge-System modifiziert, um es zu einem Zero-Knowledge-Knowledge-Range-Proof zu machen, um den Bedarf an Rechenleistung zu senken.

Auf diese Weise haben sie ihr Zero-Knowledge-System vorbereitet, um die Wirkung von Blockchain in der Fintech zu erhöhen .

3. ZMünze

Das Unternehmen verwendet das Zerocoin-Protokoll, das auf Zero-Knowledge-Beweis basiert, um die Sicherheit und Anonymität im Transaktionsprozess zu verbessern. Was es jedoch von anderen Projekten unterscheidet, die an diesem Konzept arbeiten, ist, dass es auch Skalierbarkeit bietet.

Obwohl verschiedene internationale Akteure begonnen haben, Interesse an der Implementierung des Konzepts des Zero-Knowledge-Beweises in die Blockchain zu zeigen, ist das Einführungstempo zu langsam. Und der Hauptgrund dafür sind die folgenden Herausforderungen, die mit der Aufnahme von ZKP in die Blockchain-Umgebung verbunden sind.

Herausforderungen, denen Sie bei der Integration von ZKP in Ihr Blockchain-Projekt begegnen könnten

1. Fehlen von Standards

Da sich die Blockchain-Technologie selbst in einem frühen Einführungsstadium befindet, gibt es keine Standards, Systeme und homogenen Sprachen, die es App-Entwicklern und Geschäftsinteressenten ermöglichen, mit dem Konzept von ZKP zu interagieren und sein Potenzial auf effiziente Weise zu nutzen.

2. Skalierbarkeit

Eine weitere Herausforderung, die die Einführung von Zero-Knowledge-Beweisen in der Blockchain-Umgebung einschränkt, ist die Skalierbarkeit, vorausgesetzt, solche Algorithmen erfordern eine hohe Rechenkapazität, um auf hohem Niveau zu arbeiten.

Let's Get in Touch

Einpacken

Jetzt, da Ihnen das Konzept des ZKP und sein Umfang im Blockchain-Bereich (zusammen mit Beispielen aus der Praxis) klar ist, erwarten wir, dass Sie in die breitere Anwendung des Konzepts investieren, während Sie in die dezentralisierte Welt eintreten.

Falls Sie jedoch noch Fragen haben, wenden Sie sich an unsere Blockchain-Berater oder unsere Experten für Blockchain-App-Entwicklungsdienste in den USA.