Zero-Knowledge privates maschinelles Lernen auf Bitcoin

| |

Dieser Beitrag wurde zuerst veröffentlicht am Mittel.

Bisherhaben wir den Betrieb eines vollwertigen tiefen neuronalen Netzwerks auf Bitcoin demonstriert, bei dem sowohl die Eingabe als auch das Modell des Algorithmus für maschinelles Lernen (ML) öffentlich sind. In der Praxis ist es oft wünschenswert, die Eingabe oder das Modell off-chain und somit privat zu halten und gleichzeitig sicherzustellen, dass der ML-Algorithmus zuverlässig ausgeführt wird. Wir erreichen dies, indem wir Zero-Knowledge Proof (ZKP) auf ML anwenden.

Zero-Knowledge-On-Chain-Maschinenlernen

Es gibt zwei Kategorien von privaten Informationen, wenn es um ML geht.

Private Eingabe

Die Eingabe für das Modell ist verborgen, aber das Modell selbst ist öffentlich. Dies ist besonders nützlich für Anwendungen mit sensiblen und privaten Daten wie Finanzaufzeichnungen, biometrischen Daten (z. B. Fingerabdruck, Gesicht), Krankenakten und Standortinformationen. Beispielsweise kann man nachweisen, dass er über 21 Jahre alt ist, ohne sein Alter preiszugeben. Oder eine Versicherungsgesellschaft verwendet ein Kredit-Score-Modell für die Kreditgenehmigung. Das Modell wird aus Gründen der Transparenz veröffentlicht, aber die Eingaben, wie das Gehalt und die Kontoauszüge eines Bewerbers, sollten vertraulich behandelt werden.

Privatmodell

Der Input für das Modell ist öffentlich, aber das Modell selbst ist privat, oft weil es geistiges Eigentum ist. Zum Beispiel verwenden wir ein Tumorklassifizierungsmodell, das einem privaten Unternehmen gehört, um Tumore anhand von Bildern zu erkennen. Dem Modell wird eine Genauigkeit von 99 % bei der Klassifizierung eines öffentlichen Datensatzes bescheinigt. Das Unternehmen kann einfach die kryptografische Verpflichtung seines Modells veröffentlichen, dh den Hash aller Modellparameter. Wir können sicher sein, dass das Modell legitim ist, ohne es zu sehen. Die kryptografische Verpflichtung stellt aus Gründen der Fairness auch sicher, dass das gleiche Modell auf alle angewendet wird. Dies ist z. B. in einem Zulassungsmodell erwünscht, das Kandidaten auf der Grundlage ihrer öffentlichen Informationen einstuft.

ZKP ist eine natürliche Lösung für die Wahrung der Privatsphäre bei der Verwendung von On-Chain-ML, da es Informationen außerhalb der Kette verbergen und gleichzeitig beweisen kann, dass ML-Inferenz korrekt ist.

Klassifizieren von handgeschriebenen Ziffern

Zur Demonstration haben wir ein einfaches Modell zur Klassifizierung von handschriftlichen Ziffern implementiert. Das Modell wurde mit beschrifteten Beispielen aus dem trainiert MNIST-Datensatz. Die Architektur des Modells ist derjenigen sehr ähnlich, die wir für unsere verwendet haben Vollständiges On-Chain-Modell.

ZK Schaltplan

Wir gebrauchen ZoKrates um ZK-Schaltungen zu bauen, die beliebige Eingaben trivial privat machen können, indem sie einfach mit Schlüsselwort deklariert werden Privatgelände.

Private Eingabe

Aus dem obigen Code können wir sehen, dass die Eingaben des Modells, model_inputswerden als bestanden Privatgelände Parameter, während die Modellparameter (Gewichte und Verzerrungen) öffentlich sind. Sobald wir die Eingabe an das Modell übergeben haben, führt die Schaltung alle Modelloperationen an den Daten aus und gibt die Vorhersage/Klasse des Modells aus.

Privatmodell

Das Folgende ist der Code, um das Modell privat zu machen.

Anstatt die Eingabedaten des Modells zu übergeben, übergeben wir hier die Modellparameter selbst als privat. Unter Verwendung dieser geheimen Parameter führt die Schaltung alle notwendigen Operationen des Modells durch und vergleicht die Ergebnisse mit einer Reihe von Testbeispielen. Wenn das Modell einen bestimmten Schwellenwert für die Klassifizierungsgenauigkeit (CA) erreicht, ist die Ausführung erfolgreich.

Der vollständige Code der beiden erstes Szenario und die zweites Szenario finden Sie auf GitHub.

Zusammenfassung

Wir haben gezeigt, wie wir die ZK-Eigenschaft von zk-SNARKS für maschinelles Lernen in der Kette nutzen können. Dadurch können wir bestimmte Teile der ML-Berechnung ausblenden.

Verweise

https://0xparc.org/blog/zk-mnist

width=”560″ height=”315″ frameborder=”0″ allowfullscreen=”allowfullscreen”>

Ansehen: Das Panel der BSV Global Blockchain Convention, Blockchain for Digital Transformation of Nations

width=”560″ height=”315″ frameborder=”0″ allowfullscreen=”allowfullscreen”>

Neu bei Bitcoin? Schauen Sie sich CoinGeeks an Bitcoin für Anfänger Abschnitt, der ultimative Ressourcenleitfaden, um mehr über Bitcoin – wie ursprünglich von Satoshi Nakamoto vorgesehen – und Blockchain zu erfahren.

Previous

E Java Governor betont die Bedeutung von „One Data“ in der Politikgestaltung

Hier ist, warum Sie das Windows 11 2022-Update herunterladen sollten

Next

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.