NULLDUMMY is a trivial softfork to fix malleability related to the extra stack element consumed by CHECKMULTISIG(VERIFY). NULLDUMMY is probably more important than LOW_S since without that an attacker may replace the stack element with any value.
BIP146: change title and add NULLDUMMY rules #435
pull jl2012 wants to merge 1 commits into bitcoin:master from jl2012:bip146nulldummy changing 2 files +27 −8-
jl2012 commented at 12:03 PM on August 17, 2016: contributor
- jl2012 cross-referenced this on Aug 17, 2016 from issue Enforce LOW_S rules on all transactions with WITNESS BIP9 parameters by jl2012
-
BIP146: change title and add NULLDUMMY rules 003cf078ff
-
in bip-0146.mediawiki:None in 3028af9371 outdated
9 | @@ -10,22 +10,40 @@ 10 | 11 | ==Abstract== 12 | 13 | -This document specifies proposed changes to the Bitcoin transaction validity rules to restrict signatures to using low S values. 14 | +This document specifies proposed changes to the Bitcoin transaction validity rules to fix signature malleability.
sipa commented at 12:58 PM on August 17, 2016:Maybe change it into "for common transaction types" ? It certainly does not entirely fix it.
jl2012 commented at 5:13 PM on August 17, 2016:Ok will clarify. I actually mean malleability of signatures for CHECK(MULTI)SIG(VERIFY). BIP66+BIP146 should fix it entirely
in bip-0146.mediawiki:None in 3028af9371 outdated
55 | @@ -38,7 +56,7 @@ For Bitcoin testnet, the BIP9 starttime will be midnight 1 May 2016 UTC (Epoch t 56 | 57 | ==Compatibility== 58 | 59 | -The reference client has produced compatible signatures since v0.9.0, and the requirement to have low S value signatures has been enforced as a relay policy by the reference client since v0.11.1. As of August 2016, very few transactions violating the requirement are being added to the chain. In addition, every non-compliant signature can trivially be converted into a compliant one, so there is no loss of functionality by this requirement. This proposal has the added benefit of reducing transaction malleability. 60 | +The reference client has produced compatible signatures since v0.9.0, and NULLDUMMY and LOW_S have been enforced as a relay policy by the reference client since v0.10.0 and v0.11.1 respectively. As of August 2016, very few transactions violating the requirement are being added to the chain. In addition, every non-compliant signature can trivially be converted into a compliant one, so there is no loss of functionality by this requirement. This proposal has the added benefit of reducing transaction malleability.
sipa commented at 1:00 PM on August 17, 2016:Added benefit? Isn't it the primary goal?
jl2012 commented at 5:11 PM on August 17, 2016:This is copied from BIP66 :) Probably that's an added benefit for BIP66, but not for this one. Will fix it
jl2012 force-pushed on Aug 17, 2016luke-jr merged this on Aug 17, 2016luke-jr closed this on Aug 17, 2016
github-metadata-mirror
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-27 12:10 UTC
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-27 12:10 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me
More mirrored repositories can be found on mirror.b10c.me