ScriptSig

O código de destravamento de uma saída anterior

Um ScriptSig fornece o código de destravamento de uma saída anterior.

Cada saída de uma transação tem um código de travamento (ScriptPubKey). Então, quando você seleciona uma saída como entrada em uma transação futura, precisa fornecer um código de destravamento (ScriptSig) para que ela possa ser gasta. Esse código de travamento/destravamento usa uma mini linguagem de programação chamada Script.

O campo ScriptSig é usado para destravar scripts legados como P2PK, P2PKH, P2MS, P2SH (e outros scripts personalizados). Scripts segwit mais novos, como P2WPKH e P2WSH, são destravados pelo campo de testemunha.

Exemplos

Como é um ScriptSig?

Os ScriptSigs são quase sempre únicos, mas têm uma estrutura semelhante dependendo do tipo de script de travamento que você está destravando.

P2PK (ScriptSig)

Para destravar um script de travamento P2PK, você só precisa fornecer uma única assinatura. É um dos scripts de destravamento mais simples, mas bastante incomum hoje em dia (encontrado principalmente ao destravar transações coinbase antigas).

P2PKH (ScriptSig)

Para destravar um script P2PKH, você precisa fornecer uma única assinatura junto com uma chave pública. A chave pública pode ser comprimida (33 bytes) ou não comprimida (65 bytes). Foi um dos scripts mais comuns até 2016; desde então, o P2WPKH se tornou mais comum (funciona da mesma forma, mas usa a testemunha).

Um ScriptPubKey P2PKH contém um hash da chave pública, então a chave pública de fato é revelada no ScriptSig.

P2MS (ScriptSig)

Para destravar um script P2MS (multisig), você precisa fornecer o número exigido de assinaturas (ex.: 2 de 3).

P2SH (ScriptSig)

Para destravar um script P2SH, você fornece os dados necessários para o script de resgate mais o próprio script de resgate (redeem script) no fim do ScriptSig.

ScriptSig da Coinbase

Na transação coinbase, o ScriptSig não destrava nada (a entrada é em branco). O minerador é livre para colocar qualquer dado ali — frequentemente a altura do bloco, uma etiqueta de texto (ASCII) e um ExtraNonce.

Ícone Ferramenta ASCII
Ícone Ferramenta

ASCII

Converta entre texto e bytes hexadecimais (codificação ASCII/UTF-8).

0 caracteres 0 bytes
Í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.