P2SH-P2WSH

Nested P2WSH — un P2WSH moderno envuelto en un P2SH legado

BIP 141: Segregated Witness

P2SH-P2WSH (también conocido como P2WSH anidado) es un tipo de script de bloqueo que envuelve un P2WSH moderno dentro de un P2SH legado.

Te permite enviar bitcoins a una dirección 3 legada (P2SH), pero después aprovechar el menor costo de tarifa de gastar una salida P2WSH moderna.

No hay razón para usar P2SH-P2WSH si tienes la opción de usar P2WSH directamente. Solo es útil si no puedes enviar a una dirección bc1q, pero sí puedes enviar a una dirección 3.

Propósito

¿Por qué existe P2SH-P2WSH?

P2SH-P2WSH cumple el mismo propósito que un P2SH-P2WPKH: envías bitcoins a una dirección 3 (P2SH), pero luego los desbloqueas como si hubieras usado un P2WSH moderno. Esto permite aprovechar el descuento del testigo incluso si la cartera o el exchange no soporta enviar directamente a una dirección bc1q (P2WSH).

Uso

¿Cómo funciona P2SH-P2WSH?

P2SH-P2WSH usa tanto el campo ScriptSig como el de testigo para desbloquearse.

ScriptPubKey

El ScriptPubKey es un script de bloqueo P2SH estándar: OP_HASH160 <hash del script> OP_EQUAL.

ScriptSig

El ScriptSig contiene un único elemento: el push de datos del Redeem Script, que es el programa de testigo P2WSH (OP_0 <hash del script de 32 bytes>).

Testigo

El testigo funciona como en el P2WSH normal: los elementos necesarios para desbloquear el Witness Script, seguidos del propio Witness Script como último elemento.

Dirección

La dirección es una dirección P2SH normal (Base58Check con prefijo 0x05, empezando con "3"), donde el hash es el HASH160 del redeem script P2WSH:

Ícone Ferramenta HASH160

HASH160

SHA-256 + RIPEMD-160. Se usa para acortar una clave pública o script antes de convertirlo en una dirección.

Una clave pública o un script, por ejemplo

0 bytes
SHA-256
RIPEMD-160

RIPEMD-160(SHA-256(dados))

0 bytes
Ícone Ferramenta Dirección (Base58)

Endereço (Base58)

Codifique el hash160 de una clave pública o script en una dirección heredada.

1 byte
0 bytes
0 bytes
Tipo de dirección

Codificación Base58 de los datos anteriores

0 caracteres