ScriptPubKey

O código de travamento de uma saída

O ScriptPubKey é o código de travamento de uma saída.

Ele é feito de Script, uma mini linguagem de programação que permite colocar diferentes tipos de travas nas suas saídas. A maioria dos ScriptPubKeys usa um conjunto padrão de travas, mais comumente travando a saída a uma chave pública (ex.: P2PKH ou P2WPKH).

Os ScriptPubKeys normalmente são codificados em endereços para facilitar o compartilhamento.

  • Scripts legados como P2PK, P2PKH, P2MS e P2SH são destravados pelo campo ScriptSig.
  • Scripts mais novos como P2WPKH, P2WSH e P2TR são destravados na seção de testemunha.

Exemplos

Como é um ScriptPubKey?

Aqui está um resumo dos tipos de ScriptPubKey que você encontra nas saídas (cada um tem uma página dedicada com detalhes):

P2PK (Legado)

Trava a saída a uma única chave pública. Contém a chave pública e o opcode OP_CHECKSIG. É um dos scripts mais simples, encontrado principalmente em coinbases antigas.

P2PKH (Legado)

Também trava a uma única chave pública, mas, em vez de colocar a chave pública bruta no script, coloca o hash da chave pública (o HASH160 da chave). Foi o script mais comum até 2016. Para destravar, você fornece uma assinatura e a chave pública original.

Ícone Ferramenta HASH160
Ícone Ferramenta

HASH160

SHA-256 + RIPEMD-160. Usado para encurtar uma chave pública ou script antes de converter em um endereço.

Uma chave pública ou script, por exemplo

0 bytes
Ícone Função de Hash SHA-256
Ícone Função de Hash RIPEMD-160

RIPEMD-160(SHA-256(dados))

0 bytes
Ícone Ferramenta Chave Pública
Ícone Ferramenta

Chave Pública

Calcule a chave pública a partir de uma chave privada.

0 bytes
Coordenadas
0d
0d

Uma chave pública é só um ponto numa curva elíptica. A chave pública final são essas coordenadas em hexadecimal.

Compressão

A curva é simétrica no eixo x, então a chave comprimida guarda só a coordenada x e se a y é par ou ímpar. A x-only é usada em saídas Taproot.

0 bytes

Nunca insira sua chave privada em um site, nem use uma chave privada gerada por um site. Sites podem facilmente salvar a chave privada e usá-la para roubar seus bitcoins.

P2MS (Legado)

Permite travar a saída a várias chaves públicas (multisig). Para destravar, você fornece o número exigido de assinaturas (ex.: 2 de 3).

P2SH (Legado)

Introduzido em 2012 (BIP 16). Permite travar a saída usando um script de travamento personalizado. Em vez de um hash de chave pública, contém um hash de script (o HASH160 de um script). O script real (redeem script) só é revelado no momento de gastar.

P2WPKH e P2WSH (SegWit)

Versões "segregated witness" do P2PKH e do P2SH. O código de destravamento fica na testemunha em vez do ScriptSig.

P2TR (Taproot)

O tipo de saída mais novo (Taproot), que permite gastar por uma chave ou por um script, revelando apenas uma condição de gasto.

Ícone Ferramenta

Interpretador de Script

Execute um script passo a passo e veja a pilha mudar a cada opcode. O ScriptSig roda primeiro, depois o ScriptPubKey.