BIP141: New witness program definition BIP142: Title change; new address definition BIP143: Title change and update reference implementation BIP144: Update reference implementation
New witness program definition in BIP141, and related revision in 142 - 144 #283
pull jl2012 wants to merge 3 commits into bitcoin:master from jl2012:patch-5 changing 5 files +138 −142-
jl2012 commented at 5:29 AM on January 14, 2016: contributor
- jl2012 force-pushed on Jan 14, 2016
- jl2012 force-pushed on Jan 14, 2016
- jl2012 force-pushed on Jan 14, 2016
- jl2012 renamed this:
WIP: New witness program in BIP141, and related revision in 142 and 143
New witness program definition in BIP141, and related revision in 142 and 143
on Jan 14, 2016 -
CodeShark commented at 10:35 AM on January 14, 2016: contributor
ACK on the 141 and 143 changes
- jl2012 force-pushed on Jan 16, 2016
- jl2012 force-pushed on Jan 16, 2016
- jl2012 renamed this:
New witness program definition in BIP141, and related revision in 142 and 143
New witness program definition in BIP141, and related revision in 142 - 144
on Jan 16, 2016 -
CodeShark commented at 1:01 PM on January 17, 2016: contributor
ACK on all BIPs.
-
dcousens commented at 1:12 PM on January 17, 2016: contributor
ACK BIP 142, much improved.
-
in bip-0142.mediawiki:None in 62957bf4bb outdated
163 | 164 | -However, none of these are as widely adopted as the suboptimal base-58 scriptPubKey template addresses, which is still a standard for the whole eco-system, from wallets, block explorers, merchants, exchanges, to end users. As P2PKH transactions are still dominating the blockchain, the author believes that the proposed P2PKH segwit addresses is the easiest way for wallets and services to adopt native witness program, which is particularly important in the context of scaling the capacity of the blockchain. 165 | +However, none of these are as widely adopted as the suboptimal base-58 scriptPubKey template addresses, which is still a standard for the whole eco-system, from wallets, block explorers, merchants, exchanges, to end users. It is believed that the proposed P2WPKH and P2WSH address format is the easiest way for wallets and services to adopt native witness program, which is particularly important in the context of scaling the capacity of the blockchain. 166 | 167 | -The P2PKH segwit addresses only allow simple payment to a single public key. For arbitrarily complex segwit transactions, the general segwit address is used. The use of z-base-32 eliminates case-sensitiveness and simplifies transformation to and from hexadecimals. The Damm algorithm checksum allows detection of all single-digit errors and all adjacent transposition errors. With the excellent upgradability of witness program, this proposal is also forward compatible to new version witness programs that is not longer than 32 bytes. 168 | +While P2WPKH address is specific for simple payment to a signle public key, P2WSH address allows arbitrarily complex segwit transactions, resemble to the BIP13 P2SH address.
schildbach commented at 1:23 PM on January 17, 2016:signle > single
jl2012 commented at 3:54 PM on January 17, 2016:@schildbach Corrected. Thanks
btcdrak commented at 2:14 PM on January 17, 2016: contributorACK
jl2012 force-pushed on Jan 17, 2016NicolasDorier commented at 11:26 AM on January 18, 2016: contributorNACK for 142. This would make a conflict between two version bytes, breaking client who depended on the base58 to infer the network of a base58 string.
Main EXT_PUBLIC_KEY 4,136,178,30 <=> TestNet WITNESS_P2WPKH 4
Solution without conflict:
base58Prefixes[(int)Base58Type.WITNESS_P2WPKH] = new byte[] { (0x03) }; base58Prefixes[(int)Base58Type.WITNESS_P2WSH] = new byte[] { (40) }; base58Prefixes[(int)Base58Type.WITNESS_P2WPKH] = new byte[] { 0x6 }; base58Prefixes[(int)Base58Type.WITNESS_P2WSH] = new byte[] { (10) };I also want to note there is conflict with the segnet and mainnet as well
Main SCRIPT_ADDRESS 5 <=> segnet EXT_PUBLIC_KEY 5,53,135,207 Main SCRIPT_ADDRESS 5 <=> segnet EXT_SECRET_KEY 5,53,131,148@sipa I think this should be changed for the public segnet, or people trying the segnet will break when they wanted to extract the network from the base58 string.
It's a weak NACK, I understand that not making collision will be harder and harder though.
jl2012 commented at 12:43 PM on January 18, 2016: contributorBIP142 revised to resolve the conflict
jl2012 force-pushed on Jan 18, 2016NicolasDorier commented at 2:09 PM on January 18, 2016: contributorThanks, last thing I am thinking. Why making a scheme address specific for v0 and not something general to all segwit payment ? If we use the BIP142 scheme, the problem is that when a new segwit will release, no wallet will be able to send to it... all wallets want to do is sending money, they should not need to implement a new address scheme for a new segwit version.
There should be one address version for both wsh and wpkh.
jl2012 commented at 2:18 PM on January 18, 2016: contributor@NicolasDorier This is actually generalizable, as long as the future version is 20 byte or 32 byte or both. It's very likely that future versions will be 32 byte.
In the very first version of BIP142 I actually made it completely generalizable to any script length but that idea was not very popular: #267
NicolasDorier commented at 2:27 PM on January 18, 2016: contributorwell, in future version a new address version should be found. And during a while, all wallet will not be able to send to it.
NicolasDorier commented at 2:28 PM on January 18, 2016: contributorI see, ACK. In the future when a new segwit version will be out, maybe a new address scheme will be implemented which is generaly secure for scripts.
New witness program definition ea49ecb4fbTitle change and links update 8e22af1d0ain README.mediawiki:None in bbfc43a199 outdated
0 | @@ -1,4 +1,4 @@ 1 | -People wishing to submit BIPs, first should propose their idea or document to the mailing list. After discussion they should email Luke Dashjr <luke_bipeditor@dashjr.org>. After copy-editing and acceptance, it will be published here. 2 | +People wishing to submit BIPs, first should propose their idea or document to the mailing list. After discussion they should email Luke Dashjr <luke_bipeditor@dashjr.org>. After copy-editing and acceptance, it will be published here.
luke-jr commented at 6:20 PM on January 18, 2016:Don't need a BOM here...
jl2012 force-pushed on Jan 18, 2016Title change and new address format b38742b8f4jl2012 force-pushed on Jan 18, 2016luke-jr referenced this in commit b882d296ed on Jan 18, 2016luke-jr merged this on Jan 18, 2016luke-jr closed this on Jan 18, 2016
This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 18:10 UTC
More mirrored repositories can be found on mirror.b10c.me