Glossar / Adressen und Schlüssel
Child-Schlüssel
Auch bekannt als Child key, Öffentlicher untergeordneter Schlüssel.
- Was ist Child-Schlüssel?
- Ein untergeordneter Schlüssel entsteht aus einem Ableitungsschritt und nicht aus einem Zufallszahlengenerator; er wird durch den Index bestimmt, den sein übergeordneter Schlüssel zu seiner Erzeugung verwendet hat.
Spezifiziert im BIP-32.
Ein untergeordneter Schlüssel ist nicht schwächer als der Schlüssel über ihm. Ein untergeordneter Schlüssel ist ein vollständiger privater Schlüssel mit 256 Bit und eigenem Chain Code, der Transaktionen signieren und selbst wieder untergeordnete Schlüssel haben kann. Das Wort beschreibt eine Position in einem Baum, und in einer Standard-Wallet liegen die Schlüssel, die Ihre Bitcoin tatsächlich verwahren, fünf Ebenen unter der Wurzel.
Wie es funktioniert
Die Ableitung eines untergeordneten Schlüssels erfordert einen Hash und eine Addition. Der Chain Code des übergeordneten Schlüssels wird zum Schlüssel für HMAC-SHA512, die Daten sind das Schlüsselmaterial des übergeordneten Schlüssels gefolgt von einem vier Byte langen Index, und das 64 Byte lange Ergebnis wird halbiert. Die rechten 32 Byte werden zum Chain Code des untergeordneten Schlüssels. Die linken 32 Byte werden zum privaten Schlüssel des übergeordneten Schlüssels addiert, modulo der Ordnung der secp256k1-Kurve, und die Summe ist der private Schlüssel des untergeordneten Schlüssels.
Diese Addition ist der Grund, warum die öffentliche Ableitung überhaupt möglich ist. Die Addition einer Zahl zu einem privaten Schlüssel entspricht der Addition eines Punktes zum öffentlichen Schlüssel, sodass Software, die nur die öffentliche Seite kennt, denselben öffentlichen Schlüssel des untergeordneten Schlüssels berechnen kann, ohne je ein Geheimnis zu sehen. BIP-32 behandelt auch den Fall, dass die Hash-Ausgabe außerhalb des gültigen Bereichs liegt, dessen Wahrscheinlichkeit es mit unter 1 zu 2 hoch 127 angibt, und die Anweisung lautet, diesen Index zu überspringen und zum nächsten überzugehen.
Geschwister verraten nichts. Zwei untergeordnete Schlüssel desselben übergeordneten Schlüssels teilen nichts, was ein Beobachter an ihren Adressen erkennen könnte, und genau das macht eine neue Adresse pro Zahlung sinnvoll. Die Beziehung lässt sich nur von jemandem nachvollziehen, der den erweiterten öffentlichen Schlüssel des übergeordneten Schlüssels besitzt.
Wo sie auftreten
Untergeordnete Schlüssel sind das, woraus eine Wallet tatsächlich aufgebaut ist, daher begegnen sie Ihnen als Indexnummern und nicht als Schlüssel.
Öffnen Sie einen Coin-Control-Bildschirm in Sparrow oder Electrum und jede Adresse trägt ihren Pfad: m/84'/0'/0'/0/7 ist die achte Empfangsadresse des ersten Kontos, gezählt ab null. Bestätigen Sie eine Auszahlung auf einer Trezor oder einer Ledger und das Gerät zeigt denselben Pfad neben der Adresse an, womit Sie prüfen, dass das Ziel zu Ihrem eigenen Baum gehört und nicht zu dem, der den Computer kompromittiert hat.
Auch die Tiefe ist lesenswert. Der Hauptschlüssel liegt auf Tiefe 0, und unter einem Pfad im Stil von BIP-44 liegt der Schlüssel, der für eine Zahlung signiert, auf Tiefe 5. Jede Ebene dazwischen ist ein untergeordneter Schlüssel der Ebene darüber und ein übergeordneter Schlüssel der Ebene darunter, sodass beide Wörter eine Beziehung beschreiben und keinen Rang.
Daraus folgt eine Gewohnheit. Exportieren Sie niemals einen einzelnen privaten untergeordneten Schlüssel aus einer HD-Wallet, es sei denn, Sie wollen den ganzen Zweig aufgeben. Ein nicht gehärteter privater untergeordneter Schlüssel zusammen mit dem erweiterten öffentlichen Schlüssel des übergeordneten Schlüssels legt den erweiterten privaten Schlüssel des übergeordneten Schlüssels offen, sodass ein einziger unachtsamer Export ein ganzes Konto preisgeben kann statt nur einer Adresse.
Untergeordneter Schlüssel vs. übergeordneter Schlüssel
Ein untergeordneter Schlüssel und ein übergeordneter Schlüssel sind dieselbe Art von Objekt, betrachtet von den entgegengesetzten Enden eines Ableitungsschritts. Jeder Schlüssel außer dem Hauptschlüssel ist der untergeordnete Schlüssel von jemandem, und jeder Schlüssel, von dem abgeleitet wurde, ist der übergeordnete Schlüssel von jemandem, sodass ein Knoten bei m/84'/0'/0' beides zugleich ist. Die Asymmetrie liegt darin, was jeder berechnen kann. Ein übergeordneter Schlüssel leitet endlos seine untergeordneten Schlüssel ab, während ein untergeordneter Schlüssel allein nichts über den Schlüssel über ihm aussagt. Diese Einbahn-Eigenschaft ist das gesamte Sicherheitsmodell des Baums, und die gehärtete Ableitung hält sie einbahnig.