P2PKH
Pay To Public Key Hash — o script legado padrão para enviar bitcoins
P2PKH (Pay To Public Key Hash — Pagar Para Hash de Chave Pública) é um padrão de script legado usado para "enviar" bitcoins a alguém.
Foi o script mais comum para travar uma saída à chave pública de alguém.
O P2PKH é funcionalmente parecido com o P2PK, mas uma trava P2PKH contém um hash da chave pública em vez de uma chave pública bruta.
Script Legado. Ainda é usado ocasionalmente, mas o P2WPKH é agora a escolha preferida (funciona da mesma forma).
Uso
Como o P2PKH funciona?
ScriptPubKey (trava)
O padrão P2PKH contém um hash de chave pública cercado pelos seguintes opcodes:
OP_DUP OP_HASH160 <hash da chave pública> OP_EQUALVERIFY OP_CHECKSIG ScriptSig (destrava)
Para resolver este script, o dono da chave pública hasheada precisa fornecer a chave pública original, junto com uma assinatura válida:
<assinatura> <chave pública> A chave pública fornecida no ScriptSig pode ser comprimida (33 bytes) ou não comprimida (65 bytes), desde que você use o mesmo formato usado para criar o hash da chave pública no ScriptPubKey (senão não vai hashear para o mesmo valor).
Execução
- A chave pública original é duplicada (
OP_DUP) e hasheada (OP_HASH160). - Esse valor é comparado com o hash da chave pública no ScriptPubKey (
OP_EQUALVERIFY). - Se bater, o
OP_CHECKSIGverifica a assinatura contra a chave pública.
Ferramentas
O hash da chave pública é o HASH160 (RIPEMD-160 ∘ SHA-256) da chave pública. O endereço P2PKH é uma codificação Base58Check desse hash com o prefixo de versão 0x00:
Chave Pública
HASH160
Endereço (Base58)
Checksum
Base58
Exemplos
O P2PKH foi o script padrão usado pelas carteiras para "enviar" bitcoins até por volta de 2016, então você o encontra na maioria dos blocos até então (e até hoje).