[Bitcoin-development] Small update to BIP 62

Pieter Wuille pieter.wuille at gmail.com
Wed Sep 3 16:34:33 UTC 2014


On Mon, Sep 1, 2014 at 10:48 PM, Gregory Maxwell <gmaxwell at gmail.com> wrote:
> Not related to this change but the definition of rule 4 may not be
> sufficiently specific-- without a definition someone could reasonably
> reach a different conclusion about OP_1NEGATE being a "push
> operation", or might even decide any operation which added to the
> stack was a "push operation".

Good catch - I'll write an update soon.

> Any particular reason to enforce 2 and 4 but not also 5?  Violation of
> 5 is already non-standard and like 2,4 should be safely enforceable.

Perhaps we can go further, and include 6 as well? I see zero use cases
for zero-padded numbers, as their interpretation is already identical
to the non-padded case. I wouldn't include 1 (as it would break a
large amount of wallets today), 3 (which may have a use case in more
complex scripts with conditionals) or 7 (the superfluous element
consumed by CHECKMULTISIG could potentially be used for something in
the future).

> Perhaps the rules should be reordered so that the applicable to all
> transactions ones are contiguous and first?

Ok.

>> The first six and part of the seventh can be fixed by extra consensus rules.
>
> This should clarify that the scriptPubkey can still specify rules that
> are inherently malleable-- e.g. require the input stack contain two
> pushes which OP_ADD to 11.  Or a more elaborate one-- a 1 of 2 check
> multisig where the pubkey not selected for signing is selected by a
> push in the signature. The current text seems to ignore isomorphisms
> of this type. ... they're not important for what the BIP is trying to
> achieve, but the document shouldn't cause people to not think that
> sort of thing exists.

I'll try to reword.

-- 
Pieter




More information about the bitcoin-dev mailing list