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.