Die meisten Ledger Nano-Besitzer fragen sich irgendwann, ob es eine Möglichkeit gibt, ihren Seed anzupassen. Einige gehen möglicherweise sogar noch weiter und versuchen, während des Wiederherstellungsprozesses zufällig ausgewählte Wörter zu verwenden. In solchen Fällen wird nach der Bestätigung des letzten Wortes mit ziemlicher Sicherheit die Meldung angezeigt:
"Recovery phrase is invalid, retry"
Bedeutet das, dass es unmöglich ist, eine neue Wallet mit Ihrem eigenen benutzerdefinierten Wortsatz zu erstellen?
Gute Nachricht: Es ist durchaus möglich, allerdings mit einigen Einschränkungen. Aber fangen wir von vorne an.
Die erste Voraussetzung ist, dass alle Wörter zwingend in der BIP39-Standardliste enthalten sein müssen
(Bitcoin-Verbesserungsvorschlag – Nummer 39). Was Bitcoin-Verbesserungsvorschläge genau sind, erfahren Sie im Wikipedia-Artikel zu Bitcoin Improvement Proposals.
BIP39 ist im Grunde ein Standard-Wörterbuch mit 2048 Wörtern, die so ausgewählt wurden, dass die ersten vier Buchstaben jedes Wortes eindeutig sind. Diese Regel gilt sogar für Wörter mit drei Buchstaben.
Diese Eigenschaft erleichtert das Erinnern an sie, wenn eine Sequenz aus mehreren Wörtern erstellt wird, die genau das ist, was Ihr Startwert ist.
Die zweite Einschränkung ist eine Anforderung an das letzte Wort Ihrer Sequenz. Dabei handelt es sich um eine bestimmte Prüfsumme, die ermittelt wird durch alle übrigen Sequenzelemente und Sie können es nicht einfach selbst auswählen. Das ist genau der Grund, warum wir sehen immer dann eine Fehlermeldung, wenn wir versuchen, zufällig ausgewählte Wörter als Startwert für unser Ledger Nano einzugeben. Normalerweise wird die Prüfsummenbedingung von mehr als nur einem Wort erfüllt. Allerdings ist die Chance, durch bloßes Raten ein gültiges zu finden, unglaublich gering. Die Anzahl der Wörter, die die Prüfsummenbedingung erfüllen, hängt eng von der Gesamtzahl der Startwörter ab. Im Fall eines 24-Wörter-Seeds (die sicherste Option) gibt es immer genau 8 mögliche Wörter, die als Prüfsumme dienen können. Daher beträgt die Wahrscheinlichkeit, zufällig ein gültiges Wort aus der BIP39-Menge mit 2048 Wörtern zu ziehen, im Jahr 2048 genau 8 oder lediglich 0,39 %. Es ist kein Wunder, dass Sie eine Fehlermeldung gesehen haben.
Wie können wir dann die richtige Prüfsumme für eine Sequenz unserer Wahl finden? Nehmen wir zum Beispiel einen zufälligen Satz von 23 Wörtern, die dem BIP39-Standard entsprechen:
Jedes Wort hat einen Index, bei dem es sich um eine Zahl basierend auf seiner alphabetischen Reihenfolge handelt. Es ist wichtig, die Nummerierung bei 0 zu beginnen. Jeder Index muss dann als Binärwert ausgedrückt werden. Da die BIP39-Liste 2048 Elemente enthält, muss jeder Wortindex aus 11 Bits bestehen. So finden wir:
Im nächsten Schritt verketten wir alle Indizes und behalten dabei ihre Reihenfolge bei. Dies ergibt eine 253-Bit-Binärsequenz:
Das erhaltene Ergebnis ergänzen wir mit weiteren 3 Bits unserer Wahl.
Erinnern Sie sich, als wir sagten, dass ein 24 Wörter-Seed genau 8 mögliche Prüfsummenergebnisse hat?
Nummer 8 ist nur eine einfache Konsequenz dieser 3 Bits.
Alle 8 Ergebnisse erhalten wir, indem wir hier einfach 000, 001, 010, 011, 100, 101, 110 und 111 eingeben.
Für dieses Beispiel wählen wir: 000.
Wir verketten es am Ende, was zu einem 256-Bit-Binärwort führt:
Der nächste Schritt besteht darin, den SHA256-Hash dieser vorbereiteten Binärdaten zu berechnen.
Der SHA256-Algorithmus (sicherer Hashing-Algorithmus, 256-Bit-Ausgabe) ist ein wesentlicher Bestandteil der Blockchain-Technologie.
Weitere Informationen zum SHA256 finden Sie im Wikipedia-Artikel zum SHA-256-Algorithmus.
Als Ergebnis dieser Berechnung erhalten wir das folgende hexadezimale Wort:
Der nächste Schritt besteht darin, die ersten 8 Bits aus dem obigen Ergebnis zu extrahieren. Daher nehmen wir die ersten beiden Hexadezimalzeichen – 27.
Sie entsprechen:
Wir verwenden wieder die gleichen 3 Bits, die wir zuvor ausgewählt haben. Diesmal verknüpfen wir sie mit dem Anfang der extrahierten Binärzeichenfolge. Folglich erhalten wir:
Das ist der Binärwert 39. Dies ist ein BIP39-Index des Prüfsummenworts, das wir suchen. Vergessen Sie nicht, dass die Indexnummerierung bei „0“ beginnt. Wenn Sie also eine BIP39-Wortliste mit einer Standardnummerierung beginnend bei „1“ verwenden, dann beträgt die tatsächliche Indexnummer 40. Wir finden den richtigen Index auf der BIP39-Liste und wir bekommen das Wort: agent Schließlich ist der 24-Wörter-Seed mit 23 Wörtern unserer Wahl:
Für die verbleibenden 3-Bit-Kombinationen lautet das letzte Prüfsummenwort:


