Skip to main content

Chave Pública Estendida (xpub) | Bitcoin Glossary | Mapping Bitcoin

Chave Pública Estendida (xpub)

Criptografia

Also known as: xpub, extended key

Chave HD que deriva endereços sem expor chaves privadas. Compartilhar um xpub permite monitorar saldos e gerar endereços sem autorizar gastos.

Visão Geral

Uma chave pública estendida (comumente chamada de xpub) é um componente das carteiras HD definido no BIP32. Ela contém tanto uma chave pública quanto um código de cadeia, que juntos permitem a derivação determinística de todas as chaves públicas filhas em um ramo específico da hierarquia de chaves. Isso permite que carteiras somente leitura, sistemas de contabilidade e processadores de pagamento gerem novos endereços de recebimento sem nunca ter acesso às chaves privadas correspondentes.

Estrutura

Uma chave pública estendida consiste em vários campos serializados em uma string codificada em Base58Check:

xpub661MyMwAqRbcF...  (string xpub típica, 111 caracteres)

Estrutura interna:
┌──────────────────────────────────────────────────┐
│  Bytes de versão (4)    → Identifica tipo de chave│
│  Profundidade (1)       → Nível na árvore HD      │
│  Impressão do pai (4)   → Primeiros 4 bytes pai   │
│  Índice filho (4)       → Qual filho é este       │
│  Código de cadeia (32)  → Usado para derivação    │
│  Chave pública (33)     → Chave pública comprimida│
└──────────────────────────────────────────────────┘
Total: 78 bytes → Codificado em Base58Check

Prefixos de Versão

Diferentes bytes de versão produzem diferentes prefixos que indicam o tipo de endereço:

┌────────┬──────────────┬────────────────────────┐
│ Prefixo│ Tipo Script  │ Caminho de Derivação    │
├────────┼──────────────┼────────────────────────┤
│ xpub   │ P2PKH        │ m/44'/0'/conta'         │
│ ypub   │ P2SH-P2WPKH  │ m/49'/0'/conta'         │
│ zpub   │ P2WPKH       │ m/84'/0'/conta'         │
└────────┴──────────────┴────────────────────────┘

Casos de Uso

  • Carteiras somente leitura: Importar um xpub para monitorar saldos e gerar faturas sem capacidade de gasto
  • Processadores de pagamento: Gerar endereços únicos para cada cliente ou pedido sem armazenar chaves privadas no servidor
  • Contabilidade: Rastrear toda a atividade da carteira sem arriscar a segurança dos fundos
  • Configurações multi-dispositivo: Compartilhar o xpub com uma carteira de celular para monitoramento enquanto mantém chaves privadas em uma carteira de hardware

Implicações de Privacidade

Compartilhar um xpub é uma decisão significativa de privacidade. Qualquer pessoa com acesso a um xpub pode:

  • Derivar todos os endereços passados e futuros naquele caminho de derivação
  • Ver o histórico completo de transações e saldo
  • Correlacionar todos os endereços como pertencentes à mesma carteira

Por essa razão, os xpubs devem ser tratados como informações sensíveis e compartilhados apenas com partes confiáveis. Vazar um xpub para um terceiro dá a eles visibilidade total de sua atividade financeira.

Conceitos Errôneos Comuns

  • Um xpub não pode ser usado para gastar fundos. Ele apenas permite a geração de endereços e o monitoramento de saldo.
  • No entanto, combinar um xpub com qualquer chave privada filha de um caminho de derivação não endurecido pode expor a chave privada mestra. É por isso que a derivação endurecida é usada em níveis críticos da hierarquia de chaves.
  • Um xpub é específico para uma conta na árvore HD. Uma carteira com múltiplas contas tem múltiplos xpubs.