Selbstverwahrung — mit ein wenig Hilfe von Chainlink DECO

Lukas Leys
Chainlink Community
8 min readFeb 11, 2023

26. Januar 2023 — Ari Juels (übersetzt von Lukas Leys)

Die Unabhängigkeit von zentralisierten Institutionen ist eine der wichtigsten revolutionären Ideen, die Kryptowährungen zugrunde liegen. Wenn Sie Ihre Krypto-Vermögenswerte in einer zentralen Börse aufbewahren, hält die Börse diese in Ihrem Namen. Das bedeutet völlige Abhängigkeit von der Integrität dieser Börse. Wenn sie gehackt wird oder zusammenbricht, können Ihre Gelder verschwinden.

Für Krypto-Puristen gibt es daher nur eine Form des Krypto-Eigentums, die Sinn macht: die Selbstverwahrung. Selbstverwahrung bedeutet, dass Sie die direkte Kontrolle über Ihr Krypto-Vermögen haben. Mit anderen Worten: Sie haben die alleinige Kontrolle über die Adresse, an der sich diese Vermögenswerte befinden — und damit auch über die kryptografischen Schlüssel, die Transaktionen von dieser Adresse aus autorisieren. Diese kryptografischen Schlüssel befinden sich entweder in einer Software-Wallet, beispielsweise in einer App auf Ihrem Mobiltelefon, oder in einer Hardware-Wallet in Form eines USB-Sticks.

Die Selbstverwahrung birgt jedoch ihre eigenen Gefahren. Einer Schätzung zufolge haben sich etwa 20 % aller Bitcoins — bei der aktuellen Bewertung über 60 Milliarden Dollar — in Rauch aufgelöst, weil Nutzer ihre Schlüssel verloren haben. Es ist schwer, verlässliche Statistiken zu finden, aber ich würde wetten, dass das mehr ist, als die Nutzer bei allen zentralisierten Börsenausfällen zusammen verloren haben.

Wie schwer ist es, kryptografische Schlüssel zu sichern? Um ein Gefühl dafür zu bekommen, denken Sie an eine andere Form von Geheimnis: Passwörter. Jeder weiß, wie schwierig es ist, Passwörter zu verwalten und zu sichern, selbst mit einem Passwortmanager. Wie oft haben Sie sich in den letzten Wochen oder Monaten mit einem verlorenen, vergessenen oder auf mysteriöse Weise falschen Passwort herumgeschlagen? Wie oft mussten Sie schon eines zurücksetzen?

Kryptografische Schlüssel stellen eine noch größere Herausforderung dar als Passwörter. Wenn Sie ein Kennwort verlieren, gibt es jemanden — den zentralen Dienst, bei dem Sie sich anmelden -, der es für Sie zurücksetzen kann. Wenn Sie Ihre kryptografischen Schlüssel verlieren, können sie nicht zurückgesetzt werden, denn Sie sind Ihr eigener Helpdesk.

Wenn Sie sich der Meinung der Krypto-Puristen anschließen und glauben, dass die Selbstverwahrung die einzige wirklich legitime Möglichkeit ist, Krypto-Vermögenswerte zu halten, gibt es eine ernüchternde Konsequenz. Krypto als Technologie und soziale Bewegung könnte letztlich scheitern, wenn die Selbstverwahrung — und damit die Schlüsselverwaltung — für normale Nutzer nicht dramatisch einfacher wird.

Ein wenig Hilfe von Ihren Freunden

Wenn es darum geht, verloren gegangene kryptografische Schlüssel wiederherzustellen, sind Sie selbst vielleicht nicht der ideale Helpdesk. Aber was wäre, wenn Sie die Hilfe Ihrer Freunde in Anspruch nehmen könnten? Das ist die Idee hinter dem, was manchmal als “soziale Wiederherstellung” oder “Vierter-Faktor-Authentifizierung”¹ bezeichnet wird.

Bei der sozialen Wiederherstellung handelt es sich um ein System, mit dem Sie Ihre verlorenen kryptografischen Schlüssel — oder andere verlorene Geheimnisse — mit Hilfe sozialer Verbindungen, d.h. Freunden und Familie, wiederherstellen können. (Um das klarzustellen: Es ist speziell für den Verlust von Schlüsseln gedacht, nicht für ein anderes Problem, auf das ich hier nicht eingehen werde: den Diebstahl von Schlüsseln). Bei der sozialen Wiederherstellung kann ein Benutzer eine Reihe von Helfern, so genannte “Wächter”, bestimmen, die es ihm ermöglichen, seinen Schlüssel zurückzusetzen, wenn er ihn verloren hat.

Ein Beispiel hilft bei der Veranschaulichung:

Beispiel 1: Alice verwendet die Adresse A für die Kontrolle über ihre Sammlung von Cryptopunks. Sie hat A (und den dazugehörigen privaten Schlüssel SK) in einer Hardware-Wallet generiert und verwendet ihn mit einem Wallet Smart Contract W. Alice ernennt Bob und Carol als ihre Wächter für die Wallet, indem sie Adressen für sie bei W einträgt.

Während Alice auf Hawaii Urlaub macht, wird ihre Hardware-Wallet von einem Hai geschluckt.

Alice kauft eine neue Hardware-Wallet. Sie benutzt diese, um eine neue Adresse A* mit dem dazugehörigen privaten Schlüssel SK* zu erzeugen. Anschließend ruft sie Bob an und bittet ihn, ihr beim Zurücksetzen ihres privaten Schlüssels zu helfen. Sie führt eine Videokonferenz mit Carol durch, um dieselbe Bitte vorzubringen. Bob und Carol bestätigen jeweils die Identität von Alice. Indem sie Transaktionen an den Wallet Smart Contract W senden, ermächtigen sie Alice, eine Kontowiederherstellung durchzuführen und die neue Adresse A* zu verwenden. (Bob verwendet eine Adresse AB, die er zu diesem Zweck besitzt, und Carol verwendet die Adresse AC.)

Dank der Autorisierungen von Bob und Carol hat Alice ihre neue Adresse A* gegen die alte, verlorene Adresse A im Wallet Smart Contract W ausgetauscht und kann nun A* zur Kontrolle ihrer Cryptopunks verwenden.

Wie Sie vielleicht wissen, ist es eine interessante wissenschaftliche Tatsache, dass Ihre Freunde wahrscheinlich mehr Freunde haben als Sie selbst. Aber mir ist keine Studie bekannt, die zeigt, dass diese bessere Schlüsselverwaltungsfähigkeiten haben als Sie selbst. Einige meiner Freunde sind Professoren, die sich auf Informationssicherheit spezialisiert haben, aber ich bin mir immer noch nicht sicher, ob ich ihnen als Helpdesk vollständig vertrauen würde — auch nicht als Kollektiv — oder ihnen empfehlen würde, mir zu vertrauen.

Aus diesem Grund wird oft vorgeschlagen, dass zumindest einige Ihrer Wächter Institutionen sein sollten. Aber wie sollen die Institutionen dazu gebracht werden, sich an einem sozialen Wiederherstellungsprogramm zu beteiligen? Und wie sollen sie die Benutzer authentifizieren?

Ein wenig Hilfe von Institutionen

Die meisten von uns authentifizieren sich bereits regelmäßig im Internet bei verschiedenen Institutionen — Banken, Social-Media-Websites, Mobilfunkanbietern und so weiter. Diese Websites verfügen über ausgereifte Authentifizierungssysteme. Sie verfügen über Benutzeroberflächen, mit denen wir alle vertraut sind, über Möglichkeiten zur Wiederherstellung verlorener Passwörter und in vielen Fällen über Sicherheitsfunktionen wie die Zwei-Faktor-Authentifizierung (2FA). Sie sind unvollkommen. Ihre Benutzer werden regelmäßig Opfer von Phishing-Angriffen, Passwortverstößen usw. Aber sie verfügen über modernes Fachwissen im Bereich der Benutzerauthentifizierung, das für die Selbstkontrolle von Vorteil wäre — wenn sie nur als Wächter in ein soziales Authentifizierungssystem eingebunden werden könnten.

Eine Institution Z könnte eine Schnittstelle (API) einrichten, die es unserer Benutzerin Alice ermöglicht, eine Adresse (oder einen gemeinsamen Schlüssel) AZ mit der Institution zu generieren. Z verwendet dann AZ, um die Wiederherstellung des Schlüssels durch Alice mit der Brieftasche W auf Anfrage zu autorisieren, nachdem sich Alice erfolgreich bei Z authentifiziert hat. Dieser Ansatz würde jedoch erfordern, dass Z seine Infrastruktur ändert, um kryptografische Geheimnisse im Namen der Benutzer zu verwalten. Die meisten Institutionen dürften dazu (noch) nicht bereit sein.

Ein alternativer Ansatz besteht darin, dass ein dezentrales Orakelnetzwerk (DON) die Adresse AZ in Alices Namen verwaltet und eine Schlüsselwiederherstellung für sie autorisiert, wenn sie beweist, dass sie sich erfolgreich bei Z authentifiziert hat. Aber wie beweist Alice dem DON die erfolgreiche Authentifizierung?

Eine Möglichkeit ist die Verwendung von OAuth, einem beliebten Framework für die Autorisierung des Zugriffs auf Webanwendungen. Viele Institutionen unterstützen es jedoch nicht für die Authentifizierung von Dritten. Es wirft auch Bedenken hinsichtlich des Datenschutzes auf. Wenn Alice OAuth verwendet, um sich bei einem DON zu authentifizieren, erfährt das DON ihre Accountdaten bei Z. Außerdem könnte Z gleichzeitig erfahren, dass Alice eine Kryptowährungs-Wallet zurücksetzt.

Hier kommt DECO ins Spiel. Wie OAuth erlaubt auch DECO Alice, ihre Fähigkeit zu beweisen, sich bei Z anzumelden. DECO behebt hierbei jedoch die Einschränkungen von OAuth. Es ermöglicht Alice, ihren Account für Z beim DON auf eine datenschutzfreundliche Art und Weise zu registrieren (über Secret-Sharing). Das bietet nun zwei Schlüsseleigenschaften:

  • Wahrung der Privatsphäre: Mit DECO kann Alice dem DON beweisen, dass sie in das von ihr registrierte Konto mit Z eingeloggt ist, ohne dem DON ihre Accountdaten für Z zu verraten. Sie verrät Z auch nicht, dass sie sich gegenüber dem DON authentifiziert.
  • Universalität: DECO kann es Alice im Prinzip ermöglichen, sich beim DON zu authentifizieren, indem sie sich bei Z anmeldet, ohne dass Z irgendeine explizite Unterstützung bereitstellen muss, d.h. es sind keine speziellen Dienste oder Änderungen an der Infrastruktur von Z erforderlich. Tatsächlich muss Z nicht einmal wissen, dass Alice DECO mit Z zur Authentifizierung nutzt.

Da Z nicht explizit in diesen Prozess involviert ist, sendet es keine Wiederherstellungstransaktion an Alices Wallet W. Stattdessen tut dies das DON. Das bedeutet, dass das DON AZ in Alices Namen kontrolliert.

Alles Zusammengefasst

Mit den hier vorgestellten leistungsstarken und flexiblen Werkzeugen kann eine Benutzerin wie Alice ihren eigenen Helpdesk für die Schlüsselwiederherstellung aufbauen und dabei die Hilfe von Freunden und vertrauenswürdigen Institutionen in Anspruch nehmen.

Beispiel 1 veranschaulicht einen Fall, in dem Alice die Hilfe all ihrer Wächter in Anspruch nehmen muss. Ein soziales Wiederherstellungssystem ermöglicht alternativ eine Konfiguration mit Schwellenwerten, so dass nur eine Teilmenge der Wächter für die Schlüsselwiederherstellung benötigt wird. So könnte Alice beispielsweise drei Wächter haben, von denen zwei zur Wiederherstellung eines Schlüssels benötigt werden. Diese Konfiguration wird oft als 2-von-3-Schema bezeichnet und lässt sich für jedes beliebige gültige k und n auf k-von-n verallgemeinern. Alice kann Freunde und Institutionen beliebig kombinieren und auch Richtlinien festlegen, die den Einsatz besonders wichtiger Wächter vorschreiben, wie in Beispiel 2 und in der folgenden Abbildung dargestellt.

Beispiel 2: Um ihre Adresse A zu schützen, registriert Alice drei Wächteradressen bei W: Bobs und Carols jeweilige Adressen AB und AC sowie eine Adresse AS für die DECO-Authentifizierung bei einer Social-Media-Website S, die Alice häufig nutzt. Die Adresse AS wird von einem DON kontrolliert (d.h., der private Schlüssel befindet sich im Besitz eines DON).

Alice konfiguriert W so, dass eine Wiederherstellung mit Genehmigung von S und mindestens einem von Bob und Carol möglich ist.

Alice verliert später den Zugang zu ihrer Adresse A. Zur Wiederherstellung der sozialen Kontakte verfährt sie mit Carol wie in Beispiel 1. Alice beantragt die Registrierung einer neuen Adresse A* und weist ihre Identität gegenüber Carol nach, z.B. per Videokonferenz. Carol sendet dann eine Wiederherstellungstransaktion an W und setzt die Kontrolladresse auf A*. Um eine Autorisierung über die Social-Media-Website S zu erhalten, verwendet Alice DECO: Sie authentifiziert sich gegenüber S in einem Protokoll, das das DON einbezieht. Dabei gibt Alice ihre reale Identität nicht preis. Das DON erfährt nur, ob der Benutzer mit der Adresse A sich erfolgreich bei S authentifiziert hat, indem er eine registrierte Identität verwendet, die mit A verbunden ist. Wenn das DON feststellt, dass Alice sich erfolgreich authentifiziert hat, sendet dieses eine Transaktion von der Adresse AS an W, um die neue Adresse A* zu setzen.

Eine Einschränkung dieses kleinen Beispiels ist natürlich, dass der Zugang zu S für die Wiederherstellung entscheidend ist. Wenn Alice mehr Flexibilität wünscht, kann sie natürlich stattdessen mehrere Institutionen anmelden und nur bei einer Teilmenge eine erfolgreiche Authentifizierung verlangen, um die Schlüsselwiederherstellung durchzuführen.

Soziale Wiederherstellung von kryptographischen Schlüsseln mit Hilfe eines dezentralen Orakelnetzwerks.

Abbildung: Beispiel für soziale Wiederherstellung. Alice hat drei Wächter: die Freunde Bob und Carol sowie die Institution S— eine Social-Media-Seite. Sie hat die jeweiligen Wächteradressen AB, AC und AS in ihrer Wallet W registriert. Damit Carol die Wiederherstellung genehmigt, kontaktiert Alice sie und veranlasst sie, eine Transaktion zu erzeugen, bei der Alices neue Adresse A* ausgetauscht wird. Um die Wiederherstellung mit S zu autorisieren, ruft Alice DECO auf. Sie authentifiziert sich bei S und beweist die erfolgreiche Authentifizierung gegenüber dem DON, welches daraufhin eine Transaktion von der Adresse AS an W sendet und die Instanziierung der Adresse A* genehmigt.

Fazit

Die soziale Wiederherstellung wird mit Sicherheit eine Voraussetzung dafür sein, dass die Selbstverwahrung populär und nachhaltig wird. Es ist schön, wenn man sich dabei auf Freunde und Familie als virtuellen Helpdesk verlassen kann. Noch besser ist jedoch die Möglichkeit, auch die Hilfe der Profis in Anspruch zu nehmen, der Websites, die wir täglich nutzen und auf die wir uns bereits verlassen, wenn es um starke, brauchbare Authentifizierung geht. Mit DECO ist es prinzipiell möglich, dies auf eine datenschutzfreundliche Weise mit jeder beliebigen Website zu tun.

Anmerkungen:

¹ Die traditionellen drei Faktoren sind etwas, das man hat, etwas, das man ist (Biometrie), und etwas, das man weiß. Der vierte Faktor ist jemand, den Sie kennen.

Um mehr über Chainlink zu erfahren und über die neuesten Forschungen und Innovationen im Bereich Smart Contracts auf dem Laufenden zu bleiben, abonnieren Sie den Chainlink-Newsletter und folgen Sie dem offiziellen Chainlink-Twitter.

--

--