From d1b52cb198066d4e515e8a50fc3928c5397c3d9b Mon Sep 17 00:00:00 2001 From: Johnson Lau Date: Sat, 4 Jun 2016 20:58:39 +0800 Subject: BIP141: extend max witness program size to 40 bytes The maximum witness program size is increased from 32 to 40 bytes. This provides extra space to specify script version (for originally 16 upgradable versions to up to 16 * 2 ^ 64) --- bip-0141.mediawiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bip-0141.mediawiki b/bip-0141.mediawiki index b8f686c..ed025ac 100644 --- a/bip-0141.mediawiki +++ b/bip-0141.mediawiki @@ -79,7 +79,7 @@ If all transactions in a block do not have witness data, the commitment is optio === Witness program === -A scriptPubKey (or redeemScript as defined in BIP16/P2SH) that consists of a 1-byte push opcode (for 0 to 16) followed by a data push between 2 and 32 bytes gets a new special meaning. The value of the first push is called the "version byte". The following byte vector pushed is called the "witness program". +A scriptPubKey (or redeemScript as defined in BIP16/P2SH) that consists of a 1-byte push opcode (for 0 to 16) followed by a data push between 2 and 40 bytes gets a new special meaning. The value of the first push is called the "version byte". The following byte vector pushed is called the "witness program". There are two cases in which witness validation logic are triggered. Each case determines the location of the witness version byte and program, as well as the form of the scriptSig: # Triggered by a scriptPubKey that is exactly a push of a version byte, plus a push of a witness program. The scriptSig must be exactly empty or validation fails. (''"native witness program"'') -- cgit v1.2.3