


Serie: Zero to Zero Knowledge
Mnemonische Seed-Phrasen bilden die Grundlage für einen der wichtigsten Aspekte von Kryptowährungen – Selbstverwahrung.
Heute lernen wir, wie eine Seed-Phrase erzeugt und in Wallets verwendet wird.
Wiederherstellungsphrasen werden durch die BIP-39-Spezifikation definiert, den heute gebräuchlichsten Typ von Wiederherstellungsphrase.
Die Erstellung von Wiederherstellungsphrasen beginnt mit der Erzeugung von Zufälligkeit. Mehr Entropie bedeutet höhere Sicherheit. 128 Bit Entropie gelten für die meisten Nutzer als ausreichend.

Abhängig von der Länge der anfänglichen Entropie ist die Wiederherstellungsphrase 12 bis 24 Wörter lang.
Wir beginnen mit der Erzeugung von 128 Bit Entropie.
Wir hashen die Entropie mit SHA256. Die ersten paar Bits dieses Hashes werden zur Prüfsumme.
Dadurch erhalten wir einen eindeutigen Fingerabdruck für unsere Entropie.

Die gesamten 132 Bit (128 Entropie + 4 Prüfsumme) werden in Blöcke von 11 Bit aufgeteilt.
Jede 11-Bit-Sequenz wird in eine Dezimalzahl (0-2047) umgewandelt.
BIP-39-Wortlisten enthalten genau 2048 Wörter (Englisch, Spanisch, Chinesisch usw.).
Diese Zahlen werden verwendet, um das entsprechende Wort in der Wortliste zu finden.

Ergebnis: Wir haben jetzt eine sichere, für Menschen lesbare Wiederherstellungsphrase mit 12 Wörtern!
Mithilfe der Wiederherstellungsphrase kann eine Wallet Schlüssel erzeugen, um Zahlungsadressen und verschiedene Wallet-Konten zu erstellen.
Die erzeugten Schlüssel sind deterministisch – dieselbe Eingabe erzeugt immer dieselbe Ausgabe.
Der Wallet-Seed wird aus der mnemonischen Phrase mithilfe einer Key Derivation Function (KDF) abgeleitet:
Dadurch entsteht ein 64-Byte-(512-Bit)-Seed.

Der Seed wird in zwei 32-Byte-Sequenzen aufgeteilt:
Diese werden in Hierarchical Deterministic (HD) Wallets zur Ableitung von Kindschlüsseln verwendet.
In Zcash können Anzeigeberechtigung oder Ausgabeberechtigung für Unterbäume unabhängig delegiert werden, ohne den Master-Seed zu kompromittieren.
ZIP-32 definiert den Standard für die hierarchisch-deterministische Schlüsselerzeugung, angepasst an die Datenschutzfunktionen von Zcash.
Aus einem Expanded Spending Key leiten wir ab:
Verschiedene Ableitungsmechanismen erzeugen externe Adressen, die sich dafür eignen, sie Absendern über abgeschirmte Pools hinweg zu geben (Sapling & Orchard).

Zcash unterstützt außerdem interne Adressen für Wallet-Vorgänge wie Auto-Shielding.
Original-Thread von ZecHub (@ZecHub)
https://x.com/ZecHub/status/1624125037945946145
Diese Seite wurde aus dem ursprünglichen Zero to Zero Knowledge-Thread für das ZecHub-Wiki zusammengestellt.