Pay-to-Witness-Script-Hash (P2WSH)
E696534
Pay-to-Witness-Script-Hash (P2WSH) is a Bitcoin output type that locks funds to the hash of a witness script, enabling complex, SegWit-based spending conditions with improved efficiency and malleability resistance.
Observed surface forms (1)
| Surface form | Occurrences |
|---|---|
| Pay-to-Witness-Script-Hash | 0 |
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
Bitcoin output type
ⓘ
SegWit output type ⓘ |
| abbreviation | P2WSH ⓘ |
| addressEncoding | Bech32 NERFINISHED ⓘ |
| addressEncoding | Bech32m not used for v0 ⓘ |
| alsoKnownAs | native P2WSH ⓘ |
| bech32PrefixMainnet | bc1 ⓘ |
| bech32PrefixTestnet | tb1 ⓘ |
| category | Bitcoin script system ⓘ |
| comparedToP2SH |
moves script execution data to witness
ⓘ
reduces non-witness size ⓘ |
| compatibleWith | native SegWit addresses ⓘ |
| consensusEnforced | yes ⓘ |
| definedIn | BIP141 NERFINISHED ⓘ |
| hashFunction | SHA256 ⓘ |
| improves |
block space efficiency
ⓘ
fee efficiency for complex scripts ⓘ transaction malleability resistance ⓘ |
| introducedWith | Segregated Witness NERFINISHED ⓘ |
| locksFundsTo | witness script hash ⓘ |
| network | Bitcoin NERFINISHED ⓘ |
| notSameAs | P2SH-wrapped P2WSH ⓘ |
| predecessor | Pay-to-Script-Hash NERFINISHED ⓘ |
| reduces | effective weight of complex scripts ⓘ |
| scriptLanguage | Bitcoin Script NERFINISHED ⓘ |
| scriptPubKeyFormat | 0 <32-byte-script-hash> ⓘ |
| scriptPubKeyHashLength | 32 bytes ⓘ |
| scriptPubKeyVersionByte | 0x00 ⓘ |
| scriptVisibility | script revealed only on spend ⓘ |
| securityProperty | prevents third-party malleability of txid ⓘ |
| segwitVersion | v0 ⓘ |
| softForkActivation | SegWit 2017 ⓘ |
| spendingRequires |
witness script
ⓘ
witness stack satisfying script ⓘ |
| standardness | standard output type on Bitcoin ⓘ |
| storesScript | in witness not in scriptPubKey ⓘ |
| supports |
complex spending conditions
ⓘ
hashlocks ⓘ multisignature scripts ⓘ timelocks ⓘ |
| usedFor |
Lightning Network funding outputs
ⓘ
complex multisig wallets ⓘ script-based smart contracts on Bitcoin ⓘ |
| usesWitnessField | true ⓘ |
| validationRule | SHA256(witnessScript) must equal witness program ⓘ |
| witnessContains |
stack elements for script evaluation
ⓘ
witness script ⓘ |
| witnessProgramLength | 32 bytes ⓘ |
| witnessProgramType | script hash ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.