Skript einlösen. Skript-Hash, Zeugenskript und Zeugenprogramm

Ich bin ein wenig verwirrt über die Namensgebung in Bitcoin.

Einlöseskript sind die Bedingungen, die erfüllt werden. Zum Beispiel P2PKH innerhalb von P2SH

OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG == redeem script

In P2SH-P2WPKH lautet das Einlösungsskript :

Das P2SH-Einlöseskript ist immer 22 Bytes groß. Es beginnt mit einem OP_0, gefolgt von einem kanonischen Push des Keyhash (dh 0x0014{20-Byte-Keyhash}).

Irgendwann ruft es Skript-Hash auf, und während der Transaktion muss ich das Einlösungsskript in WitnessScript einfügen."witnessScript": "hex", (string) (required for P2WSH or P2SH-P2WSH) witness script

Dann heißt das Einlöseskript in der Segwit-Umgebung Einlöseskript, Skript-Hash oder Zeugenskript?

Zeugenprogramm

Ein scriptPubKey (oder ein Redescript wie in BIP16/P2SH definiert), das aus einem 1-Byte-Push-Opcode (für 0 bis 16) besteht, gefolgt von einem Daten-Push zwischen 2 und 40 Bytes, bekommt eine neue besondere Bedeutung.

Witness-Programm hängt vom Skript ab, könnte scriptPubkey oder Skript einlösen?

Antworten (1)

  • Der scriptPubKey ist das Skript, wie es in der Transaktionsausgabe platziert wird.
  • Das RedeemScript (nur P2SH) ist das Skript, das als letztes scriptSig-Element gepusht wird. In P2SH-Skripten ist scriptPubKey gleich OP_HASH160 <Hash160(redeemScript)> OP_EQUAL.
  • Das Zeugenskript (nur P2WSH) ist das Skript an der letzten Zeugenstapelposition.
  • Das Witness-Programm ist Hash160(pubkey)für P2WPKH und Hash256(witness_script)für P2WPKH. Für native Segwit-Ausgaben ist der scriptPubKey OP_0 <witness_program>; für P2SH-verpackte Segwit-Ausgaben ist das RedeemScript OP_0 <witness_program>(und somit ist das scriptPubKey OP_HASH160 <Hash160(OP_0 <witness_script>)> OP_EQUAL.
Wo ist im P2SH-Wrapper OP_0 <witness_program>OP_0 die Witness-Version?
Ja, in der Tat. Das OP_0 ist die Zeugenversion. Bisher ist nur der Zeuge v0 definiert.
der vierte Aufzählungspunkt. The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WPKHvielleicht denke ich du meinst The witness program is Hash160(pubkey) for P2WPKH, and Hash256(witness_script) for P2WSH?
Ja, tatsächlich, behoben.
@PieterWuille Ich habe gefangen, was MonkeyUser auch gefangen hat. Es sieht nicht so aus, als ob der Beitrag mit dem Fix bearbeitet wurde.