Vollständiges Wissen

Jan 16 2023
von James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels und Mahimna Kelkar „In diesem Leben wollen wir nichts als Fakten, Sir; nichts als Fakten!' – Charles Dickens, Hard Times In einem Artikel, den wir heute veröffentlicht haben, stellen wir ein neues kryptografisches Konzept vor, das wir Proofs of Complete Knowledge (CK) nennen. Wir berichten auch über einen Prototyp, der einen Weg bietet, CK für die Verwendung mit Smartphones nutzbar zu machen.

von James Austgen, Kushal Babel, Vitalik Buterin, Phil Daian, Ari Juels und Mahimna Kelkar

„In diesem Leben wollen wir nichts als Fakten, Sir; nichts als Fakten!'

— Charles Dickens, Harte Zeiten

In einem heute veröffentlichten Artikel stellen wir ein neues kryptografisches Konzept vor, das wir Proofs of Complete Knowledge (CK) nennen. Wir berichten auch über einen Prototyp, der einen Weg bietet, CK für die Verwendung mit Smartphones nutzbar zu machen.

Wie der Name schon sagt, ermöglichen Wissensnachweise einer Partei, z. B. Alice, eine andere Partei, z. B. Bob, davon zu überzeugen, dass sie ein bestimmtes Geheimnis kennt – beispielsweise einen privaten Schlüssel SK . Ein Beispiel sind digitale Signaturen. Stellen Sie sich eine von Alice erstellte Kryptowährungstransaktion T vor , die Gelder von ihrer Adresse A ausgibt . Um gültig zu sein, muss T mit dem gültigen privaten Schlüssel SK für A digital signiert sein . Die digitale Signatur beweist hier, dass Alice als Schöpferin von T den Schlüssel SK kennt . Es ist dieser Kenntnisnachweis von SK , der die Transaktion gültig macht: In einem Kryptowährungssystem ist der Besitzer der Adresse Aist per Definition jeder, der SK kennt .

Wissensnachweise sind eine tragende Säule des Entwurfs kryptografischer Systeme. Es stellt sich jedoch heraus, dass bestehende Systeme zum Nachweis des Wissens eine schwerwiegende Einschränkung aufweisen: Alice kann möglicherweise einen überzeugenden Beweis dafür erbringen, dass sie SK kennt , obwohl sie es möglicherweise immer noch nicht wirklich weiß.

Hier ist eine Analogie. Angenommen, Mallory möchte als Kandidatin bei Jeopardy auftreten . Sie führt ein Interview mit dem Moderator der Show (Mayim Bialik). Mallory weiß, dass ihr während des Interviews Fragen zu den Hauptstädten der US-Bundesstaaten gestellt werden, die sie in der Schule nie gelernt hat. (Sie war während des Geographieunterrichts damit beschäftigt, NFTs umzudrehen.) Also beschließt sie zu schummeln. Mallorys Freundin Alice kennt alle Landeshauptstädte im Osten der USA, während ihr Freund Bob die im Westen kennt. Deshalb versteckt Mallory in jedem Ohr ein drahtloses Kommunikationsgerät. Der in ihrem linken Ohr kommuniziert mit Alice. Der in ihrem rechten Ohr kommuniziert mit Bob. Dank Mallorys Täuschung antwortet Mallory immer richtig, wenn sie in ihrem Interview nach den Hauptstädten verschiedener US-Bundesstaaten gefragt wird.

Aber kennt Mallory alle Hauptstädte der US-Bundesstaaten? Ganz sicher nicht. Ist Alice oder Bob? Die Antwort ist immer noch nein. Wir können vielleicht sagen, dass Alice und Bob zusammen alle Hauptstädte der US-Bundesstaaten kennen. Aber nehmen wir an, dass Alice seltsam abergläubisch ist und sich weigert, freitags Fragen zur Landeshauptstadt zu beantworten. Können wir immer noch sagen, dass Alice und Bob zusammen alle Hauptstädte der US-Bundesstaaten kennen? Ja und nein. Das Wissen existiert in den Köpfen von Alice und Bob, aber es ist nicht unbedingt möglich, es wie gewünscht zu extrahieren . Wenn Mallory ihr Jeopardy- Interview an einem Freitag gibt, steckt sie in Schwierigkeiten.

Vollständiges Wissen schließt eine Lücke dieser Art in dem, was es bedeutet, Wissen zu haben. In unserer Analogie stellt Alices Weigerung, an einem Freitag Fragen zu beantworten, eine Einschränkung des Zugangs zu Wissen dar, die wir als Belastung bezeichnen. Um zu erklären, wo bestehende Wissensnachweise in der Kryptographie unzureichend sind, ist es hilfreich, mit einigen potenziell problematischen Beispielen insbesondere der Belastung durch geheime Schlüssel zu beginnen.

Das Belastungsproblem

Es gibt zwei verschiedene Technologien, die Geheimnisse belasten können: Trusted Execution Environments (TEEs) und Secure Multiparty Computation (MPC).

TEEs sind Rechenumgebungen, die Black Boxes ähneln: Ihr interner Zustand ist undurchsichtig und manipulationssicher. Mithilfe von Hardware oder Software gewährleisten sie sowohl die Integrität als auch den Datenschutz der ausgeführten Anwendungen und bieten Schutz vor Manipulation und Beobachtung, selbst durch den Eigentümer des Computers, auf dem der Code ausgeführt wird. Beispiele für TEEs sind Enklaven (z. B. ARM Trustzone) auf Mobilgeräten und Intel Software Guard eXtensions (SGX), das auf einigen Cloud-Servern verfügbar ist.

Andererseits ist MPC ein algorithmischer Ansatz zur Erreichung nahezu derselben Sicherheitsziele. Es teilt Geheimnisse und Berechnungen auf eine Gruppe von Servern auf, die oft als Komitee bezeichnet wird. Die Sicherheit von MPC hängt von einem Quorum der Server im Ausschuss (z. B. einer Mehrheit) ab, die sich korrekt verhalten.

Da TEEs heute viel praktischer und weit verbreiteter sind als MPC, konzentrieren wir uns in den folgenden Beispielen auf TEEs und beginnen mit einem TEE-basierten Angriff auf Blockchain-Abstimmungssysteme. Hier ist ein Beispiel für einen Angriff auf Wahlprogramme.

Das Problem der starken, heimlichen Bestechung in diesem Beispiel betrifft nicht nur naiv konzipierte Blockchain-Abstimmungssysteme, sondern sogar solche, die speziell zur Abwehr von Bestechung entwickelt wurden, wie etwa die Minimal Anti-Collusion Infrastructure (MACI) .

Schlimmer noch: Ein TEE kann heimlich Anreize schaffen und eine Benutzergemeinschaft wachsen lassen, die einen einheitlichen Angriff gegen ein Protokoll startet – ein Konzept, das wir zuvor als „ Dark DAO“ bezeichnet haben . Solche Angriffe könnten nicht nur die Manipulation von Stimmen, sondern auch die Manipulation von Vermögenspreisen und möglicherweise Angriffe auf Off-Chain-Systeme umfassen .

Besonders schädlich ist, dass es für den Vertrag keine Möglichkeit gibt, dies zu erkennen, wenn Alice mithilfe eines belasteten Schlüssels SK eine signierte Transaktion an einen Smart-Vertrag sendet. Alices Transaktion sieht genauso aus wie eine Transaktion, die mit einem unbelasteten Schlüssel erstellt wurde. Es scheint also schlicht unmöglich, Bestechungsangriffe wie in unserem Beispiel zu verhindern.

Aber ist es das wirklich?

Vollständiges Wissen sicherstellen

Es stellt sich heraus, dass es eine Möglichkeit gibt , sicherzustellen, dass ein Schlüssel- SK unbelastet ist – insbesondere, dass jemand direkten Zugriff auf SK hat . Informell verstehen wir das unter „vollständigem Wissen“. Der Effekt von CK besteht darin, dass Bestechungspläne wie in unserem Beispiel nicht funktionieren, da es für einen böswilligen Benutzer wie Mallory keine Möglichkeit gibt, einen Benutzer daran zu hindern, seinen Schlüssel nach Belieben zu verwenden.

Es gibt zwei grundlegende Ansätze zur Durchsetzung von CK. Beide ermöglichen die Generierung dessen, was wir Proofs of Complete Knowledge (PoCK) nennen, und insbesondere solche, die Zero-Knowledge sind , also keine SK offenlegen:

  1. Der Kampf-Feuer-mit-Feuer- Ansatz

Die meisten Benutzer haben TEEs auf ihren Mobiltelefonen. Wir zeigen in unserem Artikel, wie sie sie in einem CK-System für Abstimmungen oder andere Anwendungen verwenden können.

Wie wir in unserem Artikel besprechen, gibt es jedoch einige technische Einschränkungen bei TEEs, insbesondere denen in Mobiltelefonen. Deshalb ziehen wir auch einen zweiten Ansatz in Betracht.

2. Ein Proof-of-Work-basierter Ansatz

Dieser Ansatz ist etwas kontraintuitiv. Dabei kommt ein Mining-ASIC zum Einsatz, also ein Proof-of-Work-Mining-Hardware-Rig, wie es beispielsweise für Bitcoin verwendet wird. ASICs haben für CK-Zwecke zwei nette Eigenschaften. Sie können bestimmte Berechnungen, nämlich Hashing , weitaus schneller durchführen als gewöhnliche CPUs oder GPUs – in der Größenordnung von einer Million Mal schneller als eine hochmoderne CPU! Und TEEs sind darin nicht enthalten.²

Basierend auf Techniken aus der Literatur zur Theorie der Wissensbeweise und deren Modifizierung haben wir ein Protokoll entworfen, das die Verwendung eines ASIC für das Mining in einer Weise vorsieht, die SK einbezieht (diese jedoch geschickt verbirgt). Dieses Protokoll generiert einen Beweis dafür, dass SK an den ASIC gesendet wurde, also einen PoCK. Da der ASIC kein TEE hat, bedeutet dies, dass SK dem ASIC-Benutzer effektiv zugänglich ist. Diese Eigenschaft entspricht im Wesentlichen dem, was die spezielle TEE-Anwendung der RBU bewirkt: SK direkt an den Benutzer ausspucken . Da der ASIC so viel schneller ist als Plattformen, die TEEs unterstützen, gibt es keine Möglichkeit, mit einem TEE einen äquivalenten PoCK zu generieren.

Unser Artikel zeigt experimentell, dass es sogar mit einem billigen (ca. 200 US-Dollar), veralteten (ca. 2017) ASIC möglich ist, einen hochsicheren PoCK zu implementieren.

Anwendungen von CK über die Bestechungsresistenz hinaus

Während wir CK ursprünglich entwickelt haben, um der Bedrohung durch Bestechung bei Wahlprogrammen entgegenzuwirken, gibt es noch viele andere Anwendungen. CK kann dazu beitragen, die Belastung dezentraler Identitätsnachweise zu verhindern, z. B. die Bescheinigung, dass ein Benutzer Sorgfaltsmaßnahmen zur Bekämpfung von Geldwäsche durchlaufen hat. Dies ist wichtig, um die vielen Arten von Unheil zu verhindern, die möglich sind, wenn Benutzer ihre Zugangsdaten vermieten können, z. B. ein Markt für Identitätsnachweise zur Umgehung von Sanktionen.

CK hat auch interessante Anwendungen auf NFT-Marktplätzen. Beispielsweise kann es dazu beitragen, die Durchsetzung von Lizenzgebühren für Künstler sicherzustellen. Heutzutage werden Lizenzgebühren nur noch außerhalb der Kette, also freiwillig , von NFT-Marktplätzen erhoben. Sie könnten stattdessen grundsätzlich in einem Smart Contract in der Kette durchgesetzt werden , wobei die Durchsetzung in diesem Fall obligatorisch wäre. Ein Grund dafür, dass obligatorische Lizenzgebühren nicht als bewährte Praxis gelten, besteht darin, dass es für Benutzer, die NFTs zwischen ihren eigenen Adressen übertragen, unfair wäre, Lizenzgebühren zahlen zu müssen. Das Problem besteht darin, dass es keine Möglichkeit gibt, zwischen einer Senderadresse S und einer Empfängeradresse R eines einzelnen Benutzers und den Adressen S und R zu unterscheidenZugehörigkeit zu bestimmten Benutzern. Daher gibt es keine Möglichkeit, zwischen einer Einzelbenutzerübertragung und einem Eigentümerwechsel eines NFT zu unterscheiden.

Bei CK ist jedoch eine Unterscheidung möglich. Ein NFT-Marktplatzvertrag könnte für gebührenfreie Übertragungen erfordern, dass ein PoCK gleichzeitig auf R und S angewendet wird , was beweist, dass ein einzelnes Unternehmen beides kennt . Diese Immobilie ist eine ziemlich gute Annäherung an das Eigentum eines Einzelnen. Zumindest glauben wir, dass dieser CK-basierte Ansatz die Umgehung von Lizenzgebühren stark abschrecken könnte.³

Eine weitere interessante Anwendung von CK auf NFTs ist ein Konzept, das wir Atomic NFTs nennen . Es ist üblich, teure NFTs zu fraktionieren , also ihren Besitz in kleine Teile aufzuteilen, wie es beispielsweise beim Doge NFT der Fall war .

Eine Reihe von Künstlern, mit denen wir gesprochen haben, bevorzugen jedoch, dass ihre Werke einer einzigen Person gehören und von ihr geschätzt werden. Atomic NFTs bieten eine Möglichkeit, NFTs zu schaffen, die diesen Wunsch respektieren und das alleinige Eigentum gewährleisten. Um diese Fähigkeiten zu demonstrieren, haben wir unsere eigene kleine Sammlung von Atomic NFTs erstellt, die hier gezeigt wird.

Abschluss

Wissensnachweise sind ein gut untersuchtes, jahrzehntealtes Konzept in der Kryptographie. Aber leistungsstarke neue (ish) Technologien wie TEEs und MPC drohen, die klassische Proof-of-Wissens-Landschaft durch die Belastung von Geheimnissen auf den Kopf zu stellen. CK bietet eine Möglichkeit, eine solche Belastung zu verhindern und die intuitive Vorstellung wiederherzustellen, dass Wissen einer einzelnen Entität oder Einzelperson zuzuschreiben ist. Es bietet nicht nur Abhilfe bei belastenden Angriffen – etwa Bestechung bei Wahlprogrammen –, sondern bietet auch eine Reihe neuer Anwendungen.

Wir glauben, dass CK praktisch sein kann. Wir haben ein End-to-End-ASIC-basiertes System mit einem Smart Contract implementiert , der PoCK-Beweise überprüft. Unser Prototypsystem umfasst ein Smart-Contract-basiertes Register von Adressen, die nachweislich CK-konform sind. Wir haben auch ein Prototypsystem mit TEEs auf Mobiltelefonbasis implementiert. Unsere Prototypen sind noch nicht für die Hauptsendezeit bereit, aber wir glauben, dass es einen Weg zum praktischen Produktionseinsatz gibt. Eine Open-Source-Version unserer Tools finden Sie hier . Wir freuen uns über die Zusammenarbeit von Projekten, die an der Umsetzung interessiert sind.

¹ Glücklicherweise können TEEs nicht verschachtelt werden, daher gibt es für Mallory keine clevere Möglichkeit, die TEE-Anwendung der RBU zu verpacken und dadurch weiterhin die Schlüssel der Benutzer zu belasten.

² Die meisten ASICs verfügen über sehr geringe integrierte Sicherheit. Sie unterstützen nicht einmal verschlüsselte Netzwerke, wie wir herausfanden, als unser ASIC im Laufe unserer Experimente offenbar mehrmals von einem Remote-Hacker kompromittiert wurde.

³ Hier gibt es einen Vorbehalt. Wie wir in unserem Artikel besprechen, würden CK-Beweise der gleichzeitigen Kenntnis von Schlüsseln nicht mehr funktionieren, wenn soziale Erholungsmechanismen alltäglich werden.