Выкупить скрипт. хэш скрипта, скрипт-свидетель и программа-свидетель

У меня есть небольшая путаница с именами в биткойнах.

Выкупить скрипт — это условия, которые будут удовлетворены. Например P2PKH внутри P2SH

OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG == redeem script

В P2SH-P2WPKH сценарий погашения :

RedeemScript P2SH всегда имеет размер 22 байта. Он начинается с OP_0, за которым следует каноническая отправка хэша ключа (т. е. 0x0014{20-байтовый хэш ключа}).

Иногда он вызывает хэш скрипта, и во время транзакции мне нужно вставить скрипт выкупа в свидетельСкрипт."witnessScript": "hex", (string) (required for P2WSH or P2SH-P2WSH) witness script

Тогда сценарий погашения в среде segwit называется сценарием погашения, хэшем сценария или сценарием-свидетелем?

Свидетельская программа

scriptPubKey (или redeemScript, как определено в BIP16/P2SH), который состоит из 1-байтового кода операции push (от 0 до 16), за которым следует push данных от 2 до 40 байт, получает новое особое значение.

Свидетель программы зависит от скрипта может быть scriptPubkey или redeem script?

Ответы (1)

  • scriptPubKey — это сценарий в том виде, в каком он помещается в выходные данные транзакции.
  • RedeemScript (только для P2SH) — это сценарий, отправленный в качестве последнего элемента scriptSig. В сценариях P2SH scriptPubKey равен OP_HASH160 <Hash160(redeemScript)> OP_EQUAL.
  • Сценарий-свидетель (только для P2WSH) — это сценарий в последней позиции стека-свидетеля.
  • Программа-свидетель есть Hash160(pubkey)и для P2WPKH, и Hash256(witness_script)для P2WPKH. Для нативных выходных данных SegWit scriptPubKey равен OP_0 <witness_program>; для выводов segwit с оболочкой P2SH redeemScript OP_0 <witness_program>(и, следовательно, scriptPubKey — это OP_HASH160 <Hash160(OP_0 <witness_script>)> OP_EQUAL.
В P2SH-оболочке есть OP_0 <witness_program>где OP_0 версия свидетеля?
Да, в самом деле. OP_0 — это версия-свидетель. Пока определен только свидетель v0.
четвертый пункт списка. The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WPKHможет быть, я думаю, что вы имеете в виду The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WSH?
Да действительно, исправлено.
@PieterWuille Я поймал то, что поймал и monkeyUser. Не похоже, что сообщение было отредактировано с исправлением.