Redimir guión. hash de secuencia de comandos, secuencia de comandos testigo y programa testigo

Tengo un poco de confusión sobre los nombres en Bitcoin.

Canjear script son las condiciones que se cumplirán. Por ejemplo P2PKH dentro de P2SH

OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG == redeem script

En P2SH-P2WPKH, el script de canje es:

El P2SH redimeScript siempre tiene 22 bytes. Comienza con un OP_0, seguido de una inserción canónica del keyhash (es decir, 0x0014{keyhash de 20 bytes}).

En algún momento llama al hash del script, y durante la transacción necesito insertar el script de canje en el script de testigo."witnessScript": "hex", (string) (required for P2WSH or P2SH-P2WSH) witness script

Entonces, el script de canje en el entorno segwit se llama script de canje, hash de script o script testigo.

Programa de testigos

Una clave de scriptPubKey (o redimirScript como se define en BIP16/P2SH) que consta de un código de operación de inserción de 1 byte (de 0 a 16) seguido de una inserción de datos entre 2 y 40 bytes adquiere un nuevo significado especial.

El programa testigo depende del guión, ¿podría ser scriptPubkey o canjear guión?

Respuestas (1)

  • scriptPubKey es el script tal como se coloca en la salida de la transacción.
  • El script de redimir (solo P2SH) es el script insertado como el último elemento de scriptSig. En los scripts P2SH, scriptPubKey es igual a OP_HASH160 <Hash160(redeemScript)> OP_EQUAL.
  • La secuencia de comandos testigo (solo P2WSH) es la secuencia de comandos en la última posición de la pila de testigos.
  • El programa testigo es Hash160(pubkey)para P2WPKH y Hash256(witness_script)para P2WPKH. Para salidas nativas de segwit, scriptPubKey es OP_0 <witness_program>; para las salidas de segwit envueltas en P2SH, el script de redimir es OP_0 <witness_program>(y, por lo tanto, el scriptPubKey es OP_HASH160 <Hash160(OP_0 <witness_script>)> OP_EQUAL.
¿En P2SH-wrapper es OP_0 <witness_program>donde OP_0 es la versión testigo?
Sí, de hecho. El OP_0 es la versión testigo. Hasta ahora solo está definido el testigo v0.
el cuarto punto. The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WPKHtal vez creo que te refieres The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WSH?
Sí, efectivamente, arreglado.
@PieterWuille Atrapé lo que monkeyUser también atrapó. No parece que la publicación haya sido editada con la corrección.