Öffentliche Schlüssel, private Schlüssel und Adressen: was jedes davon leistet
Drei Dinge, die viele synonym verwenden und die völlig verschiedene Aufgaben haben. Sie auseinanderzuhalten ist das, was jede weitere Sicherheitsentscheidung einleuchten lässt.
Fast jeder schwere Krypto-Fehler lässt sich darauf zurückführen, dass drei ähnlich klingende Dinge verwechselt werden, die sich in nichts gleich verhalten. Ist die Unterscheidung einmal klar, hört der Großteil der Sicherheitsratschläge auf, eine Liste auswendig zu lernender Regeln zu sein, und wird offensichtlich.
Der private Schlüssel signiert
Ein privater Schlüssel ist eine sehr große geheime Zahl. Seine einzige Funktion ist es, Signaturen zu erzeugen: Zu einer Transaktion erzeugt er einen Beweis, dass die schlüsselhaltende Person sie autorisiert hat. Das ist die ganze Aufgabe.
Die entscheidende Eigenschaft ist, dass eine Signatur von jedem geprüft werden kann, ohne den Schlüssel preiszugeben, der sie erzeugt hat. Das ist es, was das System überhaupt funktionieren lässt. Es ist auch der Grund, warum der private Schlüssel als einziger der drei geheim bleiben muss, und warum jede Person, die ihn erlangt, Ihre Mittel ohne weiteren Schritt bewegen kann. Darunter liegt keine Passwortebene und keine Instanz, die das Ergebnis rückgängig machen könnte.
Der öffentliche Schlüssel prüft
Der öffentliche Schlüssel wird durch eine Einwegberechnung aus dem privaten abgeleitet. Mit dem privaten Schlüssel berechnen Sie den öffentlichen mühelos; aus dem öffentlichen lässt sich der private mit keinem praktikablen Mittel zurückgewinnen. Diese Asymmetrie ist das gesamte Fundament.
Seine Aufgabe ist die Prüfung. Wer den öffentlichen Schlüssel hat, kann feststellen, dass eine Signatur vom passenden privaten Schlüssel erzeugt wurde — so bestätigt das Netz, dass eine Transaktion von der Person autorisiert wurde, die die Mittel kontrolliert. Ihn zu veröffentlichen kostet Sie nichts.
Die Adresse empfängt
Eine Adresse wird aus dem öffentlichen Schlüssel abgeleitet, meist indem er gehasht und eine Prüfsumme angehängt wird. Sie ist kürzer, enthält eine Fehlererkennung — eine vertippte Adresse wird also fast immer abgewiesen statt angenommen — und auf den meisten Netzen gibt sie den öffentlichen Schlüssel erst preis, wenn Sie zum ersten Mal von ihr ausgeben.
Ihre Aufgabe ist es, herausgegeben zu werden. Eine Adresse ist ein Ziel, mehr nicht. Eine zu teilen setzt Ihre Mittel keinem Risiko aus; das schlimmste Ergebnis ist ein Verlust an Privatsphäre, denn wer die Adresse hat, kann ihre Transaktionshistorie in einem öffentlichen Hauptbuch einsehen.
Wo die Seed-Phrase hineingehört
Eine Seed-Phrase ist kein vierter Schlüssel. Sie ist eine menschenlesbare Kodierung der Zahl, die Ihre privaten Schlüssel erzeugt — in der Regel alle, über viele Adressen hinweg, deterministisch. Deshalb kann eine Phrase eine ganze Wallet wiederherstellen.
Daraus folgt unmittelbar, dass eine Seed-Phrase strikt sensibler ist als jeder einzelne private Schlüssel, weil sie allen zugleich entspricht. Jede Regel über Seed-Phrasen — nie auf einer Website eintippen, nie fotografieren, nie in einem Passwortmanager ablegen, den Sie nicht kontrollieren — folgt aus dieser einen Tatsache und nicht aus Aberglauben. Unser Glossareintrag behandelt die Kodierung selbst.
Was das offensichtlich macht
Sind die drei Rollen klar, müssen mehrere Standardratschläge nicht mehr auswendig gelernt werden:
- Eine Adresse zu teilen ist sicher, weil eine Adresse nur empfängt. Einen privaten Schlüssel zu teilen ist der Totalverlust, weil ein privater Schlüssel signiert.
- Eine Hardware-Wallet ist gerade deshalb wertvoll, weil sie das Signieren im Gerät ausführt — der private Schlüssel existiert also nie auf einem mit dem Internet verbundenen Rechner.
- „Adresse prüfen“ geht um die Prüfsumme und um Zwischenablage-Schadsoftware, nicht um Geheimhaltung.
- Ein Dienst, der nach Ihrer Seed-Phrase fragt, um irgendetwas zu „validieren“ oder „wiederherzustellen“, fragt nach jedem Schlüssel, den Sie haben. Eine legitime Fassung dieser Bitte gibt es nicht.
Die Einwegbeziehung
Die Richtung der Ableitung lohnt sich zu merken: Seed-Phrase → privater Schlüssel → öffentlicher Schlüssel → Adresse, jeder Schritt vorwärts leicht und rückwärts undurchführbar. Jede praktische Folge ergibt sich aus diesem Pfeil. Das ferne Ende dürfen Sie frei herausgeben, das nahe müssen Sie absolut schützen — und nichts dazwischen ändert daran etwas.
Warum ein Seed viele Adressen erzeugt
Moderne Wallets sind hierarchisch und deterministisch, was präzise ausgedrückt heißt: Ein einzelner Seed erzeugt über ein festgelegtes Verfahren einen ganzen Baum von Schlüsseln. Jeder Zweig bringt einen neuen privaten Schlüssel hervor, und jeder davon seinen eigenen öffentlichen Schlüssel und seine Adresse.
Zwei nützliche Folgen ergeben sich. Eine Wallet kann für jede Zahlung eine frische Adresse ausgeben, ohne eine neue Sicherung zu brauchen, weil all diese Adressen vom selben Seed abstammen. Und diesen Seed in anderer Software wiederherzustellen stellt dieselben Adressen wieder her, weil das Ableitungsverfahren standardisiert und nicht proprietär ist.
Es erklärt auch eine verbreitete Verwirrung: Viele Adressen in einer Wallet zu sehen bedeutet nicht, dass viele getrennte Geheimnisse existieren. Es gibt ein Geheimnis, alles andere ist daraus abgeleitet. Das ist bequem — und genau deshalb ist die Seed-Phrase der eine Punkt des vollständigen Versagens.
Signieren gibt den Schlüssel nicht preis
Die Eigenschaft, auf der alles ruht, gehört ausdrücklich gesagt. Eine Signatur entsteht aus dem privaten Schlüssel und der Nachricht und lässt sich gegen den öffentlichen Schlüssel prüfen — aber beliebig viele Signaturen zu beobachten erlaubt einer angreifenden Partei nicht, den privaten Schlüssel zu rekonstruieren, der sie erzeugt hat.
Das macht es sicher, wiederholt mit demselben Schlüssel zu signieren, statt jedes Mal einen frischen zu brauchen. Es erklärt auch, warum das Signieren einer Nachricht zum Nachweis des Adressbesitzes ein normaler, sicherer Vorgang ist, das Eingeben einer Seed-Phrase dagegen nie. Das eine ist die vorgesehene Nutzung des Systems, das andere die Übergabe des Systems.
Wo das Modell gedehnt wird
Zwei Entwicklungen verkomplizieren das saubere Bild, und beide sind wissenswert, weil sie verändern, was eine Signatur bedeutet.
Multisignatur-Verfahren verlangen mehrere private Schlüssel zur Autorisierung einer Transaktion, sodass kein einzelner Schlüssel genügt. Das beseitigt den einzelnen Ausfallpunkt zum Preis einer komplexeren Wiederherstellung: Sie haben nun mehrere Geheimnisse zu schützen und eine Regel darüber, wie viele nötig sind.
Account Abstraction erlaubt auf Netzen, die sie unterstützen, die Regeln eines Kontos zu programmieren statt sie festzuschreiben: Ausgabegrenzen, Zeitverzögerungen oder Wiederherstellung durch eine benannte Partei. Nützlich — und es bedeutet, dass „wer den Schlüssel hält, kontrolliert die Mittel“ auf diesen Netzen nicht mehr strikt zutrifft. Der Grundmechanismus ist unverändert; geändert hat sich, wer ihn auslösen darf.