144 / 691PATH

Derivation Path

Ścieżka derywacji klucza

Derivation Path opisuje drogę od klucza początkowego do potomka w drzewie HD. Odzyskiwanie zależy od każdego indeksu, oznaczenia hardened i wynikowego typu skryptu.

Derivation Path to uporządkowana sekwencja zwykłych i hardened indeksów do wyprowadzenia klucza według BIP 32. Nie jest seed, kluczem prywatnym ani adresem; ten sam zapis z innym kluczem początkowym daje inne klucze.

W m/0/7 symbol m oznacza główny węzeł prywatny, a każdy ukośnik kolejną derywację: najpierw dziecko 0, potem jego dziecko 7. Używany jest klucz rozszerzony wraz z chain code. Liczby nie są kwotami ani numerami transakcji; sama ścieżka nie dostarcza materiału do podpisu. [BIP 32 — Hierarchical Deterministic Wallets]

BIP 32 dzieli 32-bitowe indeksy na zwykłe od 0 do 2^31−1 i hardened od 2^31 do 2^32−1. Zapisy 0' i 0h oznaczają indeks hardened 2^31, a nie zwykły 0; BIP 380 przyjmuje apostrof i h. Zwykłe dziecko publiczne można uzyskać z xpub, lecz potomka hardened z samego xpub nie. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]

Przykład m/84'/0'/0'/0/7 oznacza BIP 84, Bitcoin mainnet, konto 0, zewnętrzną gałąź odbiorczą 0 i indeks 7, czyli ósmą pozycję adresową. Pierwsze trzy poziomy są hardened, ostatnie dwa zwykłe. W BIP 44 gałąź 1 służy własnej reszcie; indeksy zaczynają się od zera. [BIP 44 — Multi-Account Hierarchy] [BIP 84 — Native P2WPKH derivation]

BIP 43 rezerwuje pierwszy poziom hardened dla purpose. Konwencja 44' wiąże się z P2PKH, 49' z P2SH-P2WPKH, 84' z P2WPKH, a 86' z single-key P2TR. Sama liczba nie wymusza skryptu w konsensusie; program musi zbudować odpowiednie wyjście. Nie wszystkie portfele stosują te konwencje. [BIP 43 — Purpose Field] [BIP 44 — Multi-Account Hierarchy] [BIP 49 — P2WPKH nested in P2SH] [BIP 84 — Native P2WPKH derivation] [BIP 86 — Single Key P2TR Outputs]

Jeżeli xpub wyeksportowano już na m/84'/0'/0', dla tego potomka wystarczy względny sufiks /0/7. Ponowne dołączenie całej ścieżki od korzenia do xpub konta oznacza inną derywację, a jej kroki hardened i tak nie mogą zostać wykonane z tego xpub. Zapisana głębokość i fingerprint rodzica nie zawierają całej historii pierwotnej ścieżki. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]

BIP 380 dopuszcza pochodzenie fingerprint/ścieżka w nawiasach kwadratowych przed kluczem oraz sufiks derywacji po nim. Pochodzenie opisuje kroki już wykonane; sufiks trzeba dopiero wyprowadzić. Descriptor dodatkowo określa skrypt i może zawierać zakres przez *. Fingerprint ma cztery bajty i może kolidować; nie jest dowodem tożsamości ani zamiennikiem klucza. [BIP 380 — Output Script Descriptors] [BIP 32 — Hierarchical Deterministic Wallets] [Bitcoin Core 29.0 — deriveaddresses RPC]

BIP 32 ostrzega, że xpub rodzica wraz z ujawnionym zwykłym prywatnym potomkiem może odsłonić rozszerzony klucz prywatny rodzica. Granica hardened oddziela ten konkretny proces, ale nie chroni samego ujawnionego klucza. Udostępniony xpub ujawnia też publiczną gałąź i może naruszyć prywatność, choć sam nie podpisuje. [BIP 32 — Hierarchical Deterministic Wallets]

Podczas odzyskiwania sprawdza się właściwy seed i ewentualną passphrase, sieć, konto, gałąź, skrypt oraz zakres skanu wraz z Gap Limit. Poprawna składnia może wskazywać inną pustą gałąź; zerowe saldo nie dowodzi więc błędnych kluczy. Poprawność porównuje się ze znanym adresem odbiorczym i historią, a nie tylko z przyjęciem ścieżki przez program. [BIP 39 — From mnemonic to seed] [BIP 44 — Multi-Account Hierarchy] [BIP 380 — Output Script Descriptors]

Pełniejszy obraz uzyskasz, czytając to hasło razem z HD Wallet, Extended Public Key (xpub), Gap Limit, Output Descriptor, BIP 39. Do tego hasła prowadzą również odsyłacze z HD Wallet, Watch-only Wallet, Wyjście reszty, Extended Public Key (xpub).

DOC · 001BIP 32 — Hierarchical Deterministic WalletsSpecyfikacja ↗DOC · 002BIP 44 — Multi-Account HierarchySpecyfikacja ↗DOC · 003BIP 43 — Purpose FieldSpecyfikacja ↗DOC · 004BIP 49 — P2WPKH nested in P2SHSpecyfikacja ↗DOC · 005BIP 84 — Native P2WPKH derivationSpecyfikacja ↗DOC · 006BIP 86 — Single Key P2TR OutputsSpecyfikacja ↗DOC · 007BIP 380 — Output Script DescriptorsSpecyfikacja ↗DOC · 008BIP 39 — From mnemonic to seedSpecyfikacja ↗DOC · 009Bitcoin Core 29.0 — deriveaddresses RPCDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna