You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SegWit outputs are constructed so that older systems that are not segwit-aware can still validate them. To an old wallet or node, a SegWit output looks like an output that anyone can spend.
Newer wallets and mining nodes, however, see the Segregated Witness output and expect to find a valid witness for it in the transaction’s witness data.
Pay-to-Witness-Script-Hash (P2WSH)
The second type of witness program corresponds to a Pay-to-Script-Hash (P2SH) script.
Examples:
// 1. P2SH
// Includes 20-byte RIPEMD160(SHA256(script)) hash:
HASH160 54c557e07dde5bb6cb791c7a540e0a4796f5e97e EQUAL
// P2SH output being spent:
"vout": 0,
"scriptSig": “<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>”,
]
// 2. P2WSH output script
// Includes a witness version (0) and 32-byte SHA256 hash of the redeem script.
0 a9b7b38d972cabc7961dbfbcb841ad4508d133c47ba87457b4a0e8aae86dbb89
// P2WSH output being spent with separate witness data
"vout": 0,
"scriptSig": “”,
]
[...]
"witness": "<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>"
Wallet construction of P2WPKH
It is extremely important to note that P2WPKH should only be created by the payee (recipient) and not converted by the sender from a known public key, P2PKH script, or address. Sender does not know if the recipient has SegWit support.
P2WPKH outputs must be constructed from the hash of a compressed public key.
Transaction:
If all txins in a transaction are not associated with any witness data, the transaction MUST be serialized in the original transaction format.
Under segwit, each transaction will have 2 IDs.
The text was updated successfully, but these errors were encountered:
Add an option for building SegWit transactions.
Sources:
Details:
Examples:
The second type of witness program corresponds to a Pay-to-Script-Hash (P2SH) script.
Examples:
Transaction:
The text was updated successfully, but these errors were encountered: