Skip to main content

Bech32 | Bitcoin Glossary | Mapping Bitcoin

Bech32

Protocolo

Also known as: Bech32m, bc1 address, native SegWit address

Formato de endereço nativo SegWit (BIP173) com prefixo bc1. Oferece detecção de erros superior, não diferencia maiúsculas e gera taxas mais baixas.

Visão geral

Bech32 é um formato de codificação de endereços especificado no BIP173, projetado para endereços SegWit nativos. Substituiu a codificação Base58Check mais antiga para endereços compatíveis com SegWit, oferecendo melhorias significativas em usabilidade e detecção de erros. Uma versão atualizada, Bech32m (BIP350), foi introduzida para endereços Taproot.

Características principais

  • Não diferencia maiúsculas de minúsculas: Os endereços Bech32 usam apenas letras minúsculas e números, eliminando confusão entre caracteres maiúsculos e minúsculos
  • Melhor detecção de erros: Pode detectar até 4 erros e localizar até 2 erros em um endereço
  • Taxas mais baixas: As transações SegWit nativas são menores em termos de unidades de peso, resultando em taxas mais baixas
  • Amigável para QR: Produz QR codes mais compactos, pois a codificação é mais eficiente

Estrutura do endereço

bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
│  │ │
│  │ └── Dados (programa witness, codificado)
│  └──── Separador (sempre "1")
└─────── Parte legível por humanos ("bc" para mainnet, "tb" para testnet)

Bech32m (Taproot):
bc1p5cyxnuxmeuwuvkwfem96lqzszee2457nljy653y...
│  │
│  └── "p" indica versão 1 do witness (Taproot)
└───── Mesmo prefixo "bc" para mainnet

Bech32 vs Bech32m

A codificação Bech32 original tinha uma fraqueza onde certos tipos de erros no último caractere podiam passar despercebidos para a versão 1 do witness e acima. O Bech32m (BIP350) corrige isso usando uma constante diferente no cálculo do checksum. Todos os endereços Taproot (versão 1) usam Bech32m, enquanto os endereços SegWit de versão 0 continuam usando Bech32.

Adoção

Desde sua introdução, a adoção do Bech32 cresceu continuamente. A maioria das carteiras modernas gera endereços Bech32 por padrão. Alguns serviços e carteiras mais antigos podem não suportar o envio para endereços bc1, embora isso seja cada vez mais raro.