NeonCripto
Por dentro da carteira · 7 de 11

Carteiras HD (BIP-32): uma seed, uma árvore de chaves

Uma carteira HD gera uma árvore de chaves a partir de uma única seed. A chave mestra e o chain code vêm de HMAC-SHA512 com a chave “Bitcoin seed”. Cada filho vem do pai, do chain code e de um índice.

O caminho de derivação, como m/44'/0'/0'/0/0, diz qual ramo percorrer. O apóstrofo marca derivação hardened.

Laboratório educativo. Todo o cálculo roda no seu navegador, nada é enviado nem salvo. Nunca digite aqui sua frase de recuperação, chave privada ou passphrase reais: os exemplos usam apenas vetores de teste públicos.

Árvore de exemplo

Frase de teste pública. As chaves privadas ficam ocultas por padrão: nunca mostre as suas.

frase / entropiaseedchave privada (segredo)chave pública / endereço (público)

Chave mestra: HMAC-SHA512(“Bitcoin seed”, seed)

IL (32 bytes) → chave privada mestra

•••••••• (oculto)

IR (32 bytes) → chain code

7923408dadd3c7b56eed15567707ae5e5dca089de972e07f3b860450e2a3b70e

  1. m · chave mestra (m)

    profundidade · fingerprint
    0 · 73c5da0a
    chain code
    7923408dadd3c7b56eed15567707ae5e5dca089de972e07f3b860450e2a3b70e
    chave pública (33 bytes)
    03d902f35f560e0470c63313c7369168d9d7df2d49bf295fd9fb7cb109ccee0494
  2. m/44' · propósito (BIP-44)

    profundidade · fingerprint
    1 · 88b3582b
    chain code
    45d3b0e8206db10a08d555317c7e245c5bbd12254ce968f3c79a959d4e6af98a
    chave pública (33 bytes)
    03428a2da3e76291667a67a38ed45468ceb0d156bc8beda6e86fbc4cf295087c2b
  3. m/44'/0' · tipo de moeda (Bitcoin)

    profundidade · fingerprint
    2 · 155bca59
    chain code
    af0894dc5f2d5bed0dc85b2fd2053a98575765c144e4e64126ee1009b38860b2
    chave pública (33 bytes)
    03f72f0e3684b0d7295f391616f12a469070bfcd175c55366239047495a2c1c410
  4. m/44'/0'/0' · conta

    profundidade · fingerprint
    3 · 6cc9f252
    chain code
    3da4bc190a2680111d31fadfdc905f2a7f6ce77c6f109919116f253d43445219
    chave pública (33 bytes)
    03774c910fcf07fa96886ea794f0d5caed9afe30b44b83f7e213bb92930e7df4bd
  5. m/44'/0'/0'/0 · ramo (0 = recebimento, 1 = troco)

    profundidade · fingerprint
    4 · 1962ab58
    chain code
    bce80dd580792cd18af542790e56aa813178dc28644bb5f03dbd44c85f2d2e7a
    chave pública (33 bytes)
    0386b865b52b753d0a84d09bc20063fab5d8453ec33c215d4019a5801c9c6438b9
  6. m/44'/0'/0'/0/0 · índice do endereço

    profundidade · fingerprint
    5 · d986ed01
    chain code
    213909708058e0ec4a99c19d8e041c014ae6c7dc21d2a1fac86772df7ca357a6
    chave pública (33 bytes)
    03aaeb52dd7494c361049de67cc680e83ebcbbbdbeb13637d92cd845f70308af5e

Sobre este caminho

m/44'/0'/0'/0/0 é o caminho comum do BIP-44 para Bitcoin, não um padrão universal: outras redes e carteiras usam propósitos (44', 49', 84', 86'…), tipos de moeda e convenções diferentes. O apóstrofo marca derivação hardened.

Teste o que aprendeu

1. O que o caminho de derivação determina?
2. Por que uma seed gera tantos endereços?
3. m/44'/0'/0'/0/0 vale para todas as carteiras e redes?
0 de 3 respondidas.

Experimente

  • Edite o caminho e veja cada nível da árvore ser recalculado.
  • Troque 0 por 1 no último índice: nasce outra chave e outro endereço.
  • Compare caminhos de Bitcoin (0') e Ethereum (60').
Detalhes técnicos
  • m/44'/0'/0'/0/0 = propósito (BIP-44), tipo de moeda (Bitcoin = 0), conta, ramo (0 recebimento, 1 troco) e índice do endereço.
  • Esse é um caminho comum, não universal: carteiras e blockchains diferentes usam propósitos, tipos de moeda e convenções diferentes.
  • Hardened (índice ≥ 2³¹) usa a chave privada do pai: não dá para derivar a partir da chave pública estendida.
Próxima lição →Explorador

Termos desta lição

Contas feitas com bibliotecas auditadas (@scure/bip39, @scure/bip32, @noble/curves, @noble/hashes) e conferidas contra os vetores de teste oficiais dos BIP-32, BIP-39 e BIP-84. Conteúdo educativo, não é um gerador nem um serviço de recuperação de carteiras.