144 / 691PATH

Derivation Path

Caminho de derivação de chaves

Derivation Path descreve o percurso de uma chave inicial até um descendente numa árvore HD. A recuperação depende de cada índice, marca hardened e tipo de script resultante.

Derivation Path é uma sequência ordenada de índices normais e hardened usada para derivar uma chave segundo BIP 32. Não é seed, chave privada nem endereço; a mesma notação sobre outra chave inicial leva a chaves diferentes.

Em m/0/7, m indica o nó privado mestre e cada barra acrescenta uma derivação: primeiro o filho 0, depois o seu filho 7. A derivação usa uma chave estendida com chain code. Os números não são montantes nem números de transação; o caminho sozinho não fornece material para assinar. [BIP 32 — Hierarchical Deterministic Wallets]

BIP 32 divide os índices de 32 bits em normais, de 0 a 2^31−1, e hardened, de 2^31 a 2^32−1. Tanto 0' como 0h indicam o índice hardened 2^31, não o 0 normal; BIP 380 aceita apóstrofo e h. É possível obter um filho público normal de um xpub, mas não um filho hardened apenas desse xpub. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]

O exemplo m/84'/0'/0'/0/7 identifica BIP 84, Bitcoin mainnet, conta 0, ramo externo de recebimento 0 e índice 7, a oitava posição de endereço. Os três primeiros níveis são hardened e os dois últimos normais. Em BIP 44, o ramo 1 destina-se ao troco próprio; os índices começam em zero. [BIP 44 — Multi-Account Hierarchy] [BIP 84 — Native P2WPKH derivation]

BIP 43 reserva o primeiro nível hardened para purpose. A convenção 44' relaciona-se com P2PKH, 49' com P2SH-P2WPKH, 84' com P2WPKH e 86' com single-key P2TR. O número sozinho não impõe um script no consenso; o software deve construir a saída correspondente. Nem todas as carteiras usam estas convenções. [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]

Se um xpub já foi exportado em m/84'/0'/0', basta o sufixo relativo /0/7 para este descendente. Acrescentar novamente todo o caminho da raiz a um xpub de conta faz outra derivação, e os passos hardened nem sequer podem funcionar a partir desse xpub. A profundidade e o fingerprint parental serializados não contêm todo o histórico do caminho original. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]

BIP 380 permite uma origem fingerprint/caminho entre colchetes antes da chave e um sufixo de derivação depois dela. A origem descreve passos já realizados; o sufixo ainda será derivado. O descriptor também especifica o script e pode conter um intervalo através de *. O fingerprint tem quatro bytes e pode colidir; não é prova de identidade nem substituto da chave. [BIP 380 — Output Script Descriptors] [BIP 32 — Hierarchical Deterministic Wallets] [Bitcoin Core 29.0 — deriveaddresses RPC]

BIP 32 alerta que um xpub parental juntamente com um descendente privado normal exposto pode revelar a chave privada estendida do pai. Uma fronteira hardened separa este processo específico, mas não protege a própria chave já exposta. Partilhar um xpub também revela o seu ramo público e pode prejudicar a privacidade, embora ele não assine sozinho. [BIP 32 — Hierarchical Deterministic Wallets]

Na recuperação verificam-se a seed correta e eventual passphrase, rede, conta, ramo, script e intervalo de pesquisa, incluindo Gap Limit. Sintaxe válida pode apontar para outro ramo vazio; saldo zero não prova que as chaves estão erradas. A correção compara-se com um endereço de recebimento e histórico conhecidos, não apenas com a aceitação do caminho pelo programa. [BIP 39 — From mnemonic to seed] [BIP 44 — Multi-Account Hierarchy] [BIP 380 — Output Script Descriptors]

Para ter uma visão mais completa, leia este verbete junto com HD Wallet, Extended Public Key (xpub), Gap Limit, Output Descriptor, BIP 39. Também há referências a este verbete em HD Wallet, Watch-only Wallet, Saída de troco, Extended Public Key (xpub).

DOC · 001BIP 32 — Hierarchical Deterministic WalletsEspecificação ↗DOC · 002BIP 44 — Multi-Account HierarchyEspecificação ↗DOC · 003BIP 43 — Purpose FieldEspecificação ↗DOC · 004BIP 49 — P2WPKH nested in P2SHEspecificação ↗DOC · 005BIP 84 — Native P2WPKH derivationEspecificação ↗DOC · 006BIP 86 — Single Key P2TR OutputsEspecificação ↗DOC · 007BIP 380 — Output Script DescriptorsEspecificação ↗DOC · 008BIP 39 — From mnemonic to seedEspecificação ↗DOC · 009Bitcoin Core 29.0 — deriveaddresses RPCDocumentação ↗
Fontes em primeiro lugar · Não é recomendação de investimento