Fundamentals ·

Carteiras HD e Caminhos de Derivacao Explicados (BIP44)


Quando voce configura uma carteira de criptomoedas e recebe uma seed phrase de 12 palavras, esse unico backup da acesso a todas as contas que a carteira criara --- em Bitcoin, Ethereum, Solana e qualquer outra cadeia suportada. O mecanismo que torna isso possivel e chamado de carteira HD, e o sistema de enderecos que ela usa e governado por caminhos de derivacao.

Este guia explica como carteiras HD transformam uma seed em um numero ilimitado de chaves, o que um caminho de derivacao como m/44'/60'/0'/0/0 realmente significa, e por que acertar o caminho importa quando voce migra entre carteiras ou blockchains.

O Que e uma Carteira HD?

HD significa Hierarchical Deterministic (Hierarquica Deterministica). O termo vem do BIP32, uma especificacao publicada em 2012 que define como derivar uma arvore de pares de chaves criptograficas a partir de uma unica raiz.

Hierarquica significa que as chaves sao organizadas em uma estrutura de arvore --- uma chave pai pode produzir chaves filhas, e essas filhas podem produzir netas. A arvore pode ramificar tao profundamente quanto necessario.

Deterministica significa que o processo e repetivel. Dada a mesma raiz (a semente mestre), a mesma arvore de chaves e produzida toda vez, em toda carteira que segue o padrao.

Antes das carteiras HD, cada novo endereco exigia gerar e fazer backup de uma chave privada aleatoria separada. Se voce gerasse 100 enderecos, precisaria de 100 backups. Perca um, e esses fundos se foram. Carteiras HD eliminaram esse problema. Voce faz backup da seed uma vez, e toda chave que a carteira derivar no futuro ja esta coberta por esse backup.

A raiz da arvore vem de uma seed phrase BIP39. O mnemonico e convertido em uma semente binaria de 512 bits via PBKDF2 (como descrito em BIP39 Explicado). Essa semente de 512 bits e dividida em uma chave privada mestre (256 bits) e um chain code mestre (256 bits). Juntos, formam a raiz da qual toda a arvore cresce.

Anatomia de m/44'/60'/0'/0/0

Um caminho de derivacao e o endereco dentro da arvore que identifica uma chave especifica. Parece um caminho de arquivo em um computador, e cada segmento indica qual ramo seguir.

Vamos decodificar m/44'/60'/0'/0/0, o caminho padrao para o primeiro endereco Ethereum:

m / 44' / 60' / 0' / 0 / 0
|   |      |     |    |   |
|   |      |     |    |   +-- Indice de endereco (0 = primeiro endereco)
|   |      |     |    +------ Troco (0 = externo/recebimento, 1 = interno/troco)
|   |      |     +----------- Conta (0 = primeira conta)
|   |      +----------------- Tipo de moeda (60 = Ethereum)
|   +------------------------ Proposito (44 = padrao BIP44)
+---------------------------- Chave mestre (raiz da arvore)

Detalhamento de cada nivel:

m --- A chave mestre. Todo caminho de derivacao comeca aqui. Esta e a raiz derivada diretamente da sua seed.

44' --- O proposito. O numero 44 indica que este caminho segue o padrao BIP44 para carteiras multi-conta e multi-moeda. O apostrofo (ou ') marca isso como uma derivacao "endurecida", significando que a chave filha nao pode ser calculada apenas a partir da chave publica pai --- requer a chave privada. Esta e uma medida de seguranca.

60' --- O tipo de moeda. Cada criptomoeda recebe um numero pelo SLIP-44 (mais sobre isso abaixo). Ethereum e 60. Bitcoin e 0. Solana e 501. Este nivel permite que uma seed sirva multiplas blockchains sem colisoes de chaves.

0' --- O indice de conta. Pense nisso como carteiras separadas dentro da sua carteira. Conta 0 e o padrao. Voce poderia usar conta 1 para outro proposito --- poupanca versus gastos, por exemplo. A maioria dos usuarios nunca passa da conta 0.

0 --- O nivel de troco. No modelo UTXO do Bitcoin, 0 significa enderecos externos (recebimento) e 1 significa enderecos internos (troco). Ethereum nao usa enderecos de troco da mesma forma, mas o nivel e preservado por compatibilidade.

0 --- O indice de endereco. Este e o numero final que incrementa para produzir novos enderecos. Indice 0 e seu primeiro endereco, indice 1 e o segundo e assim por diante. Sua carteira incrementa esse valor cada vez que voce solicita um novo endereco de recebimento.

BIP44 e Tipos de Moeda SLIP-44

BIP44 padronizou a estrutura de caminho de derivacao mostrada acima. Foi publicado em 2014 e construido sobre a derivacao de chaves do BIP32 com uma hierarquia fixa de cinco niveis: proposito / tipo de moeda / conta / troco / indice de endereco.

SLIP-44 (Satoshi Labs Improvement Proposal 44) mantem o registro de numeros de tipos de moeda. Cada blockchain recebe um inteiro unico para que a mesma seed produza chaves completamente diferentes para cadeias diferentes. Aqui estao algumas atribuicoes comuns:

Tipo de Moeda Blockchain Caminho Padrao
0 Bitcoin m/44'/0'/0'/0/0
2 Litecoin m/44'/2'/0'/0/0
60 Ethereum (e cadeias EVM) m/44'/60'/0'/0/0
144 XRP m/44'/144'/0'/0/0
195 Tron m/44'/195'/0'/0/0
501 Solana m/44'/501'/0'/0'
9006 Avalanche (C-Chain) m/44'/60'/0'/0/0

Note que a C-Chain do Avalanche usa o tipo de moeda 60 (tipo do Ethereum) porque sua C-Chain e compativel com EVM e compartilha o mesmo formato de endereco. O mesmo se aplica a Polygon, Arbitrum, Optimism e Base --- todos usam m/44'/60'/0'/0/0, o que significa que o mesmo endereco Ethereum e valido em todas essas redes.

E por isso que quando voce adiciona Polygon ou Arbitrum ao MetaMask, seu endereco e o mesmo que o endereco Ethereum. Todos derivam do mesmo caminho. A distincao acontece no nivel da rede (chain ID), nao no nivel de derivacao de chave.

Diferentes Cadeias, Diferentes Caminhos

Enquanto cadeias EVM compartilham o caminho do Ethereum, cadeias nao-EVM usam suas proprias convencoes, e as diferencas importam.

Caminhos Bitcoin

O Bitcoin evoluiu por varios formatos de endereco, cada um com seu proprio padrao de derivacao:

Padrao Caminho Tipo de Endereco Prefixo
BIP44 m/44'/0'/0'/0/0 Legado (P2PKH) 1...
BIP49 m/49'/0'/0'/0/0 SegWit Aninhado (P2SH-P2WPKH) 3...
BIP84 m/84'/0'/0'/0/0 SegWit Nativo (bech32) bc1q...
BIP86 m/86'/0'/0'/0/0 Taproot bc1p...

A maioria das carteiras Bitcoin modernas usa BIP84 (SegWit nativo) como padrao porque oferece taxas de transacao menores. Se voce restaurar uma seed em uma carteira e seus fundos nao aparecerem, a carteira pode estar escaneando o caminho de derivacao errado. Alternar entre BIP84 e BIP44 (ou vice-versa) nas configuracoes da carteira geralmente resolve.

Caminhos Solana

Solana usa ed25519 em vez de secp256k1, entao sua derivacao e estruturalmente diferente. O caminho padrao e m/44'/501'/0'/0' --- note que todos os quatro niveis sao endurecidos (marcados com '). Algumas carteiras Solana usam m/44'/501'/0' ou m/44'/501', e o caminho especifico varia por aplicativo de carteira. Phantom e Solflare usam convencoes diferentes, o que pode causar confusao ao migrar. Para um passo a passo detalhado, veja o Guia de Geracao de Carteira Solana.

XRP e Tron

XRP usa tipo de moeda 144 com caminho m/44'/144'/0'/0/0. Tron usa tipo de moeda 195 com m/44'/195'/0'/0/0. Ambos usam secp256k1 como Bitcoin e Ethereum, mas sua codificacao de endereco difere.

BIP84 vs BIP44: Por Que o Bitcoin Tem Multiplos Padroes

Se voce ja usou Bitcoin, pode ter notado que alguns enderecos comecam com 1, alguns com 3 e enderecos modernos comecam com bc1q. Isso nao e cosmetico --- cada formato corresponde a um padrao de derivacao diferente e tipo de script.

BIP44 (m/44'/0'/...) gera enderecos P2PKH legados (o formato 1...). Este foi o caminho Bitcoin original derivado do BIP32. Ainda funciona, mas esses enderecos usam mais espaco de bloco por transacao.

BIP49 (m/49'/0'/...) gera enderecos SegWit aninhados P2SH (o formato 3...). Estes foram um formato de transicao que forneceu as economias de taxa do SegWit mantendo compatibilidade com carteiras mais antigas.

BIP84 (m/84'/0'/...) gera enderecos SegWit nativos usando codificacao bech32 (o formato bc1q...). Este e o formato mais eficiente para transacoes padrao e e o padrao na maioria das carteiras modernas.

A percepao chave e que todos os tres formatos podem ser derivados da mesma seed phrase. Suas 12 palavras nao mudam. O que muda e o nivel de proposito no caminho de derivacao: 44, 49 ou 84. Uma carteira que suporte os tres escaneara cada caminho para encontrar seus fundos.

Ao gerar ou restaurar uma carteira Bitcoin, sempre verifique qual padrao de derivacao a carteira usa por padrao. Se voce ver um formato de endereco diferente do esperado, a carteira provavelmente esta usando um padrao BIP diferente. Para explorar formatos de enderecos Bitcoin em detalhe, veja Formatos de Enderecos Cripto Explicados.

Derivacao de Chave Passo a Passo

Aqui esta como a derivacao completa funciona, da seed phrase a um endereco Ethereum utilizavel:

Passo 1: Mnemonico para Semente

Seu mnemonico de 12 palavras e processado pelo PBKDF2-HMAC-SHA512 com 2.048 iteracoes e o sal "mnemonic" (mais uma frase-senha opcional). A saida e uma semente binaria de 512 bits.

Passo 2: Semente para Chave Mestre

A semente de 512 bits e processada pelo HMAC-SHA512 com a chave "Bitcoin seed" (essa string de chave e usada independentemente da blockchain alvo). Os 256 bits da esquerda se tornam a chave privada mestre. Os 256 bits da direita se tornam o chain code mestre.

Passo 3: Chave Mestre para Chaves Filhas

A partir da chave mestre, cada nivel do caminho de derivacao executa uma funcao de derivacao de chave filha (CKD). Para filhos endurecidos (marcados com '), a chave privada pai e o chain code sao alimentados no HMAC-SHA512 junto com o indice filho. O resultado e uma nova chave privada (filha) e chain code.

Para filhos normais (nao endurecidos), a chave publica pai e usada em vez da chave privada. Isso e o que possibilita carteiras somente leitura --- voce pode derivar chaves publicas e enderecos sem ter a chave privada.

Passo 4: Chave Privada para Chave Publica

No nivel final da derivacao, a chave privada filha e convertida em chave publica por multiplicacao em curva eliptica. Para Ethereum, isso usa a curva secp256k1. A operacao e: Chave Publica = Chave Privada * G, onde G e o ponto gerador da curva.

Passo 5: Chave Publica para Endereco

A chave publica e hashada para produzir o endereco blockchain. Para Ethereum, a chave publica e hashada com Keccak-256, e os ultimos 20 bytes (40 caracteres hex) se tornam o endereco, prefixado com 0x. Para Bitcoin, o processo envolve SHA-256 seguido de RIPEMD-160, depois codificacao Base58Check ou bech32 dependendo do tipo de endereco.

Voce pode ver todo esse processo em acao usando o Gerador de Enderecos Ethereum ou o Gerador de Enderecos Bitcoin do SafeSeed, que mostram cada passo da seed ao endereco.

Por Que Isso Importa na Pratica

Entender caminhos de derivacao nao e apenas academico. Aqui estao situacoes concretas onde importa:

  • Restaurar uma carteira em software diferente. Se voce migrar do Ledger para Trezor, ou do MetaMask para outra carteira, certifique-se de que o caminho de derivacao corresponda. Mesma seed mais caminho diferente resulta em enderecos diferentes e fundos aparentemente ausentes.
  • Acessar multiplas cadeias. Sua seed phrase ja cobre Polygon, Arbitrum e outras cadeias EVM --- todas usam o tipo de moeda 60 do Ethereum. Nenhum backup separado necessario.
  • Depurar fundos ausentes. Se restaurar uma seed Bitcoin e nao conseguir ver seu saldo, tente alternar entre caminhos BIP44, BIP49 e BIP84 nas configuracoes da carteira.
  • Gerar enderecos para propositos especificos. Ao incrementar o indice de conta (o terceiro nivel), voce pode criar carteiras logicamente separadas --- uma para gastos diarios, outra para armazenamento de longo prazo --- tudo a partir da mesma seed phrase.

O sistema de caminhos de derivacao e o que transforma uma unica seed phrase em uma carteira multi-cadeia e multi-conta. E a camada de infraestrutura que torna a autocustodia moderna de criptomoedas poderosa e portatil. Uma vez que voce o entenda, pode migrar entre carteiras, cadeias e formatos de endereco com confianca.