Pular para o conteúdo
buybitcoinsmart

Glossário / Endereços e chaves

P2WPKH

Outros nomes: Endereço SegWit nativo, Pay-to-Witness-Public-Key-Hash, Endereço bc1q.

O que é o P2WPKH?
O P2WPKH move a assinatura e a chave pública da entrada para a testemunha, onde cada byte conta uma unidade de peso em vez de quatro.

Especificação no BIP-141.

As saídas SegWit nativas de chave única são escritas como endereços bc1q de 42 caracteres. O script de bloqueio tem 22 bytes, e gastar uma entrada consome cerca de 68 vbytes contra cerca de 148 do equivalente legado. O Bitcoin Core entrega esse formato por padrão desde a versão 0.20.0, e a maioria das outras carteiras seguiu o mesmo caminho.

Como funciona

Uma saída P2WPKH não carrega opcodes no sentido usual. Ela é o byte 0x00, que marca a versão de testemunha 0, seguido de uma inserção do HASH160 de 20 bytes da sua chave pública comprimida: 22 bytes, reconhecidos pelos nós como um programa de testemunha em vez de executados como um script. A entrada que a gasta deixa seu scriptSig completamente vazio e coloca dois itens no campo de testemunha: a assinatura e a chave.

A economia vem de como os blocos são medidos. O BIP-141 define o peso do bloco como o tamanho base multiplicado por três mais o tamanho total, limitado a 4.000.000 unidades de peso, o que resulta em bytes que não são de testemunha custando quatro unidades cada e bytes de testemunha custando uma. Uma entrada P2WPKH tem 41 bytes que não são de testemunha pesando 164 unidades e cerca de 108 bytes de testemunha pesando 108, para 272 unidades no total. Divida por quatro e você chega aos 68 vbytes que você realmente paga.

Dois efeitos secundários importam tanto quanto o desconto. O BIP-143 substituiu o algoritmo de hash de assinatura para que o trabalho de assinar cresça de forma linear com o número de entradas em vez de quadrática, e é por isso que uma carteira de hardware processa rapidamente uma transação SegWit grande. E como o identificador da transação não cobre mais a testemunha, um terceiro não pode mais alterar uma assinatura em trânsito para mudar o txid.

Onde você vê isso

Abra quase qualquer carteira lançada nos últimos anos e a tela de recebimento mostra uma sequência bc1q. As carteiras as derivam do ramo BIP-84, caminho m/84'/0'/0', que o SLIP-132 associa ao prefixo de chave estendida zpub, então um backup restaurado em um software diferente chega aos mesmos endereços.

Neste ponto, praticamente todo formulário de saque de corretora aceita bc1q. Se algum recusar, ele está executando código de validação escrito antes de 2017, e a resposta prática é sacar para um formato que ele aceite e mover os bitcoins você mesmo em seguida.

Uma coisa que o bc1q não diz é a que a saída paga. Um endereço bc1q de 42 caracteres é uma chave única; um de 62 caracteres é um script. Ambos são da versão de testemunha 0 e ambos usam bech32, então o comprimento é a única diferença visível.

P2WPKH vs SegWit aninhado

P2WPKH e SegWit aninhado gastam a mesma chave e fixam o mesmo hash de 20 bytes. A diferença é um invólucro. O SegWit aninhado coloca esse programa de testemunha de 22 bytes dentro de uma saída P2SH para que o endereço possa ser uma sequência Base58 que começa com 3, e os 23 bytes extras que não são de testemunha na entrada que a gasta pesam 92 unidades, que é exatamente a diferença entre 91 vbytes e 68. A segurança é idêntica. Você abre mão de cerca de um terço da economia de taxas disponível em troca de um endereço que softwares muito antigos aceitam.

Não confundir com

Perguntas frequentes

bc1q é a mesma coisa que SegWit nativo?

Sim, para carteiras de chave única. Um endereço bc1q de 42 caracteres é uma saída P2WPKH, o formato SegWit nativo para uma chave. Um endereço bc1q de 62 caracteres também é SegWit nativo, mas paga a um script em vez de a uma chave.

Quanto o SegWit nativo realmente economiza?

Cerca de metade do custo de gastar. Uma entrada P2WPKH pesa 272 unidades de peso, o que equivale a 68 vbytes, contra cerca de 148 vbytes de uma entrada legada. A economia aparece quando você gasta, não quando recebe.

Leia a seguir

Termos relacionados

Mais em Endereços e chaves

Ler esta página em inglês