NeonCripto
Por dentro da carteira · 6 de 11

Da chave pública ao endereço blockchain

Chave pública e endereço são coisas diferentes. O endereço Bitcoin é um hash da chave pública com uma codificação por cima; o endereço Ethereum são os últimos 20 bytes do Keccak-256 da chave pública.

Cada blockchain e cada formato de endereço faz isso de um jeito. A mesma chave pode gerar endereços diferentes.

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.

Chaves de teste públicas

Estas chaves são conhecidas por todo mundo: robôs monitoram seus endereços. Nunca envie fundos para elas.

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

Formato de endereço
Chave pública comprimida (33 bytes)

0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798

  1. 1. SHA-256 da chave pública

    Saída (32 bytes)

    0f715baf5d4c2ed329785cef29e562f73488c8a2bb9dbc5700b361d54b9b0554

  2. 2. RIPEMD-160 do resultado (HASH160)

    Saída (20 bytes)

    751e76e8199196d454941c45d1b3a323f1433bd6

  3. 3. Prefixo de versão 0x00 (mainnet)

    Payload (21 bytes)

    00751e76e8199196d454941c45d1b3a323f1433bd6

  4. 4. Checksum: 4 primeiros bytes de SHA-256(SHA-256(payload))

    Checksum

    510d1634

  5. 5. Base58 de payload ‖ checksum

    Endereço legado

    1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH

A mesma chave pública gerou três endereços diferentes. 66 caracteres hex de chave, tamanhos e formatos distintos de endereço.

Teste o que aprendeu

1. Ethereum usa SHA3-256 para o endereço?
2. A mesma chave gera sempre o mesmo formato de endereço?
3. Para que serve o checksum do Base58Check?
0 de 3 respondidas.

Experimente

  • Escolha a chave de teste e percorra Bitcoin legado, Bitcoin SegWit e Ethereum.
  • Observe que Bitcoin e Ethereum usam hashes diferentes sobre a mesma chave pública.
  • Veja o checksum do endereço Base58 e o de maiúsculas e minúsculas do EIP-55.
Detalhes técnicos
  • P2PKH: Base58Check(0x00 ‖ RIPEMD-160(SHA-256(pubkey comprimida))). Os 4 últimos bytes são o checksum (primeiros 4 bytes de SHA-256 duplo).
  • P2WPKH (SegWit v0): Bech32 com prefixo “bc”, versão de testemunha 0 e o mesmo HASH160.
  • Ethereum: Keccak-256 dos 64 bytes x ‖ y (sem o prefixo 0x04), últimos 20 bytes, com checksum EIP-55. Keccak-256 não é o SHA3-256 padronizado: os resultados são diferentes.
Próxima lição →Carteira HD

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.