Tipos de endereço: P2PKH → P2TR

1…, 3…, bc1q…, bc1p…: o que cada prefixo significa.

Um endereço é só uma forma compacta e resistente a erros de digitação de escrever um script de bloqueio. O prefixo diz que tipo de script é.

P2PK (2009)

As moedas mais antigas, incluindo muitas mineradas por Satoshi, foram bloqueadas diretamente a uma chave pública. Não há formato de endereço para isso, e revela a chave antes de gastar.

P2PKH: começa com 1

«Pay to public key hash» bloqueia moedas ao HASH160 de 20 bytes de uma chave pública. O endereço é codificado em Base58Check com byte de versão 0x00. Tem um checksum de 4 bytes, então um erro de digitação quase sempre é detectado.

P2SH: começa com 3 (BIP16, 2012)

«Pay to script hash» bloqueia moedas ao hash de qualquer script, o redeem script. Quem gasta revela o script e o satisfaz. Isso tornou o multisig prático, porque o remetente não precisa mais conhecer os detalhes. P2SH também foi usado para embrulhar SegWit (P2SH-P2WPKH) durante a transição.

P2WPKH e P2WSH: começam com bc1q (BIP141, 2017)

Saídas SegWit nativas versão 0. P2WPKH compromete-se a um hash de chave de 20 bytes, P2WSH a um SHA-256 de 32 bytes de um script. Assinaturas vão para o witness, mais barato por byte. Endereços usam bech32 (BIP173): minúsculas, sem caracteres confusos e forte detecção de erros.

P2TR: começa com bc1p (BIP341, 2021)

Taproot é SegWit versão 1. A saída é uma chave pública x-only de 32 bytes que pode ser gasta com uma única assinatura Schnorr ou por uma árvore oculta de scripts. Bech32m (BIP350) substituiu bech32 para a versão 1 e posteriores, porque bech32 tinha uma fraqueza com certos caracteres inseridos ou apagados.

Comparando-os

Gastar uma entrada de chave única custa cerca de 148 vbytes para P2PKH, cerca de 68 para P2WPKH e cerca de 57,5 para P2TR. Tipos mais novos são mais baratos e, com Taproot, mais privados, porque gastos simples e complexos podem parecer iguais.

Regra prática

Toda carteira deveria poder enviar para todos estes. Se a sua não consegue enviar para endereços bc1p, está desatualizada.