Zum Inhalt springen
buybitcoinsmart

Glossar / Adressen und Schlüssel

Schlüsselindex

Was ist ein Schlüsselindex?
Ein Schlüsselindex ist die Zahl, die bei jedem Schritt einer HD-Ableitung gewählt wird, von 0 bis 4.294.967.295, und die entscheidet, bei welchem Kind eines übergeordneten Schlüssels Sie landen.

Spezifiziert im BIP-32.

Indexe sind die Art, wie eine Wallet zählt. Jede Ebene des Baums nimmt eine 32-Bit-Zahl, ein einzelner übergeordneter Schlüssel hat also 4.294.967.296 mögliche Kinder, und die gesamte obere Hälfte dieses Bereichs, ab 2.147.483.648, ist für die gehärtete Ableitung reserviert. Im täglichen Gebrauch begegnet Ihnen nur der letzte Index in einem Pfad: der, der bei jedem Druck auf Empfangen weiterzählt.

So funktioniert es

Der Index ist das Einzige, was sich zwischen einem Kind und dem nächsten unterscheidet. Während der Ableitung wird er als vier Byte große Big-Endian-Zahl serialisiert und vor dem Hashing an das Material des übergeordneten Schlüssels angehängt, sodass Index 0 und Index 1 Ergebnisse ohne sichtbare Beziehung zueinander erzeugen. Sonst ändert sich in diesem Schritt nichts.

Der Bereich teilt sich bei 2.147.483.648 in zwei Hälften. Unterhalb dieser Linie ist die Ableitung normal, und ein erweiterter öffentlicher Schlüssel des übergeordneten Elements genügt, um den öffentlichen Schlüssel des Kindes ohne jedes Geheimnis zu berechnen. Auf oder oberhalb der Linie ist die Ableitung gehärtet, der private Schlüssel des übergeordneten Elements muss mitwirken, und öffentliches Material allein liefert nichts. Die Schreibweise verbirgt die Arithmetik: 84' oder 84h bedeutet Index 2.147.483.732, also 84 plus der Versatz für die Härtung.

Zwei Schreibweisen für dieselbe Sache stiften mehr Verwirrung, als sie sollten. Ältere Dokumentation und die meisten Wallet-Bildschirme verwenden den Apostroph, etwa m/84'/0'/0', während die Deskriptor-Ausgabe von Bitcoin Core m/84h/0h/0h bevorzugt. Sie sind identisch. Die Buchstabenform existiert, weil ein Apostroph innerhalb eines Shell-Arguments eine Gefahr beim Quoting ist und das Einfügen in bitcoin-cli so fehlschlägt, dass die Fehlersuche lästig ist.

Wo Sie ihn sehen

Die letzte Zahl in einem Pfad ist der Index, der Ihnen täglich begegnet. In m/84h/0h/0h/0/7 wählt 0 die Empfangskette, und 7 kennzeichnet die achte Adresse, die die Wallet ausgegeben hat, von null an gezählt. Das Wechselgeld hat seinen eigenen Zähler auf Kette 1, die erste Wechselgeldausgabe einer ganz neuen Wallet landet also bei m/84h/0h/0h/1/0, und die beiden Zähler laufen unabhängig voneinander weiter.

Das sequenzielle Zählen macht die Wiederherstellung möglich und lässt sie auch scheitern. BIP-44 weist eine wiederherstellende Wallet an, vorwärts durch 20 aufeinanderfolgende ungenutzte Adressen abzuleiten und dann aufzuhören, sodass Bitcoin, die bei Index 45 empfangen wurden, mit einer langen leeren Strecke davor, als Nullsaldo erscheinen, bis Sie das Gap-Limit von Hand erhöhen. Bitcoin Core umgeht die Sache, indem es einen Vorrat vorab abgeleiteter Schlüssel hält, standardmäßig 1.000, und ihn auffüllt, wenn sie verbraucht werden.

Die Suche funktioniert eine Ebene höher genauso. Eine wiederherstellende Wallet prüft Konto 0', findet einen Verlauf, geht zu Konto 1' und stoppt beim ersten Konto ganz ohne Transaktionen. Konto 5' anzulegen und die darunterliegenden Konten leer zu lassen, ist daher ein zuverlässiger Weg, damit eine künftige Wiederherstellung Ihre Bitcoin übersieht.

Schlüsselindex vs. Ableitungspfad

Ein Index ist eine Zahl; ein Pfad ist die geordnete Liste davon. m/84h/0h/0h/0/7 enthält fünf Indexe, und im normalen Gebrauch bewegt sich nur der letzte, weil Zweck, Coin-Typ, Konto und Kette über die Lebensdauer der Wallet fest bleiben. Der Unterschied zählt, wenn ein Support-Artikel Ihnen sagt, Sie sollen Ihren Ableitungspfad prüfen. Gemeint ist das feste Präfix, nicht der Adresszähler, und kein noch so häufiges Klicken auf Empfangen rettet einen fehlenden Saldo, dessen Ursache das falsche Präfix ist.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Was bedeutet der Apostroph nach einer Zahl?

Er kennzeichnet den Index als gehärtet, was 2.147.483.648 dazu addiert. 0' ist also Index 2.147.483.648 und 84' ist Index 2.147.483.732. Manche Software schreibt h statt des Apostrophs, und die beiden Formen bedeuten genau dasselbe.

Warum zeigt meine wiederhergestellte Wallet weniger Adressen als zuvor?

Wiederherstellungssoftware leitet vorwärts ab, bis sie 20 ungenutzte Adressen in Folge trifft, und hört dann auf. Wenn Sie viele Adressen erzeugt haben, ohne sie zu nutzen, erhöhen Sie das Gap-Limit in den Wallet-Einstellungen und lassen Sie erneut scannen, damit weiter entlang des Zweigs gesucht wird.

Verwandte Begriffe

Mehr zum Thema Adressen und Schlüssel

Diese Seite auf Englisch lesen