public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Gregory Maxwell <gmaxwell@gmail•com>
To: Pieter Wuille <pieter.wuille@gmail•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Small update to BIP 62
Date: Mon, 1 Sep 2014 13:48:14 -0700	[thread overview]
Message-ID: <CAAS2fgSPe=dTayVXz8uFHQN+Sna7+zDcYKJL6UpuJOTq7H6fKg@mail.gmail.com> (raw)
In-Reply-To: <CAPg+sBiTURdRAZbyk3guF5YzAAQebo8yY_TuXHUKYDEdLjDUdQ@mail.gmail.com>

On Fri, Jul 18, 2014 at 8:14 AM, Pieter Wuille <pieter.wuille@gmail•com> wrote:
> Hi all,
>
> I've sent a pull request to make a small change to BIP 62 (my
> anti-malleability proposal) which is still a draft; see:
> * https://github.com/bitcoin/bips/pull/90 (the request)
> * https://github.com/sipa/bips/blob/bip62up/bip-0062.mediawiki (the result)
>
> It makes two of the 7 new rules mandatory in new blocks, even for
> old-style transactions. Both are already non-standard since 0.8.0, and
> have no use cases in my opinion.
>
> The reason for this change is dropping the requirement for signature
> verification engines to be bug-for-bug compatible with OpenSSL (which
> supports many non-standard encodings for signatures). Requiring strict
> DER compliance for signatures means any implementation just needs to
> support DER.

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".

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 the rules should be reordered so that the applicable to all
transactions ones are contiguous and first?

> 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.



  parent reply	other threads:[~2014-09-01 20:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-18 15:14 Pieter Wuille
2014-07-18 15:39 ` Mike Hearn
2014-07-18 15:45   ` Pieter Wuille
2014-07-18 17:25     ` Pieter Wuille
2014-07-18 18:10       ` Pieter Wuille
2014-07-18 20:56   ` Wladimir
2014-07-18 22:03     ` Aaron Voisine
2014-07-19  1:28       ` Gregory Maxwell
2014-07-19  4:38         ` Aaron Voisine
2014-07-19  6:56           ` Gregory Maxwell
2014-07-19  8:34             ` Aaron Voisine
2014-07-19 19:08             ` Aaron Voisine
2014-07-19 14:46     ` Pieter Wuille
2014-07-18 20:51 ` Wladimir
2014-09-01 20:48 ` Gregory Maxwell [this message]
2014-09-03 16:34   ` Pieter Wuille
2014-09-07 23:31     ` Pieter Wuille
2014-09-12 16:35       ` Pieter Wuille
2014-09-13 22:45         ` Pieter Wuille

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAAS2fgSPe=dTayVXz8uFHQN+Sna7+zDcYKJL6UpuJOTq7H6fKg@mail.gmail.com' \
    --to=gmaxwell@gmail$(echo .)com \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=pieter.wuille@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox