Skip to main content

P2WPKH | Bitcoin Glossary | Mapping Bitcoin

P2WPKH

Protocolo

Also known as: Pay-to-Witness-Public-Key-Hash

Pay-to-Witness-Public-Key-Hash: saída SegWit com assinatura na testemunha. Endereços P2WPKH começam com 'bc1q' e têm taxas reduzidas pelo desconto SegWit.

Visão geral

Pay-to-Witness-Public-Key-Hash (P2WPKH) é o equivalente SegWit nativo do P2PKH. Funciona de forma idêntica em termos de segurança — bloqueando fundos a um hash de chave pública — mas reestrutura onde os dados de assinatura são armazenados na transação. Ao mover as assinaturas para a seção de testemunha segregada, as transações P2WPKH se beneficiam do desconto de testemunha, resultando em taxas significativamente mais baixas.

Como o P2WPKH funciona

Ao contrário do P2PKH, uma saída P2WPKH tem um scriptSig vazio. A assinatura e a chave pública são colocadas no campo de testemunha.

Transação P2PKH:                  Transação P2WPKH:
┌───────────────────┐             ┌───────────────────┐
│ scriptSig:        │             │ scriptSig:        │
│  <assin> <pubkey> │             │  (vazio)          │
├───────────────────┤             ├───────────────────┤
│ scriptPubKey:     │             │ scriptPubKey:     │
│  OP_DUP           │             │  OP_0             │
│  OP_HASH160       │             │  <hash 20 bytes>  │
│  <hash>           │             ├───────────────────┤
│  OP_EQUALVERIFY   │             │ testemunha:       │
│  OP_CHECKSIG      │             │  <assin> <pubkey> │
└───────────────────┘             └───────────────────┘

  Conta totalmente para o             Dados de testemunha
  peso do bloco                       têm 75% de desconto

Economia de taxas

O desconto de testemunha conta os bytes de testemunha a um quarto do peso dos bytes não-testemunha. Para uma transação típica de uma entrada e duas saídas, o P2WPKH economiza aproximadamente 38% em taxas em comparação com o P2PKH. Esse desconto foi introduzido para incentivar a adoção do SegWit sem exigir um hard fork para aumentar o tamanho do bloco.

Formato de endereço

Os endereços P2WPKH usam codificação Bech32 e começam com bc1q na mainnet. Os endereços Bech32 são insensíveis a maiúsculas, usam apenas caracteres alfanuméricos em minúsculas (sem 1, b, i ou o para evitar confusão visual) e incluem um checksum de detecção de erros integrado.

Compatibilidade

A maioria das carteiras e exchanges Bitcoin modernas suporta o envio para endereços P2WPKH (bc1q). Para casos em que a carteira do remetente não suporta Bech32, o SegWit aninhado (P2SH-P2WPKH) envolve o script SegWit dentro de uma saída P2SH, produzindo um endereço com prefixo 3 para o qual qualquer carteira pode enviar, enquanto ainda fornece economia parcial de taxas ao gastador.

Quando usar P2WPKH vs P2TR

Embora o P2WPKH continue sendo amplamente utilizado, o formato mais novo P2TR oferece benefícios adicionais de privacidade e eficiência ligeiramente melhor para gastos pelo caminho de chave. Novas carteiras estão cada vez mais usando por padrão endereços Taproot, embora o P2WPKH continue sendo totalmente suportado e seguro.