P2SH-P2WSH
Nested P2WSH — um P2WSH moderno embrulhado em um P2SH legado
BIP 141: Segregated Witness
P2SH-P2WSH (também conhecido como P2WSH Aninhado) é um tipo de script de travamento que embrulha um P2WSH moderno dentro de um P2SH legado.
Ele permite enviar bitcoins para um endereço 3 legado (P2SH), mas depois aproveitar o custo mais barato de taxa de gastar uma saída P2WSH moderna.
Não há razão para usar P2SH-P2WSH se você tem a opção de usar P2WSH diretamente. Ele só é útil se você não consegue enviar para um endereço bc1q, mas consegue enviar para um endereço 3.
Propósito
Por que o P2SH-P2WSH existe?
Um P2SH-P2WSH serve ao mesmo propósito que um P2SH-P2WPKH: você envia bitcoins para um endereço 3 (P2SH), mas os destrava depois como se tivesse usado um P2WSH moderno. Isso permite aproveitar o desconto da testemunha mesmo que a carteira ou exchange não suporte enviar para um endereço bc1q (P2WSH) diretamente.
Uso
Como o P2SH-P2WSH funciona?
Um P2SH-P2WSH usa tanto o campo ScriptSig quanto o de testemunha para ser destravado.
ScriptPubKey
O ScriptPubKey é um script de travamento P2SH padrão: OP_HASH160 <hash do script> OP_EQUAL.
ScriptSig
O ScriptSig contém um único item: o push de dados do Redeem Script, que é o programa de testemunha P2WSH (OP_0 <hash do script de 32 bytes>).
Testemunha
A testemunha funciona como no P2WSH normal: os itens necessários para destravar o Witness Script, seguidos do próprio Witness Script como último item.
Endereço
O endereço é um endereço P2SH normal (Base58Check com prefixo 0x05, começando com "3"), onde o hash é o HASH160 do redeem script P2WSH: