Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YMPtj-000719-2w for bitcoin-development@lists.sourceforge.net; Fri, 13 Feb 2015 23:43:47 +0000 X-ACL-Warn: Received: from static.204.212.9.5.clients.your-server.de ([5.9.212.204] helo=thelaboratory.tk) by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1YMPtY-0005Hc-Q7 for bitcoin-development@lists.sourceforge.net; Fri, 13 Feb 2015 23:43:47 +0000 Received: from [192.168.0.222] (unknown [89.100.72.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: me@thomaskerin.io) by thelaboratory.tk (Postfix) with ESMTPSA id BA7A99BA084E; Fri, 13 Feb 2015 23:43:28 +0000 (UTC) Message-ID: <54DE8C1C.60804@thomaskerin.io> Date: Fri, 13 Feb 2015 23:43:24 +0000 From: Thomas Kerin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Luke Dashjr , pete@petertodd.org, bitcoin-development@lists.sourceforge.net References: <54DD1E3F.60006@thomaskerin.io> <201502122213.34765.luke@dashjr.org> In-Reply-To: <201502122213.34765.luke@dashjr.org> OpenPGP: url=http://pgp.mit.edu/pks/lookup?op=get&search=0x3F0D2F83A2966155 Content-Type: multipart/mixed; boundary="------------020407070500010207030500" X-Spam-Score: 0.8 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 1.0 HTML_MESSAGE BODY: HTML included in message -0.2 AWL AWL: Adjusted score from AWL reputation of From: address X-Headers-End: 1YMPtY-0005Hc-Q7 Cc: ruben@blocktrail.com Subject: Re: [Bitcoin-development] BIP for deterministic pay-to-script-hash multi-signature addresses X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Feb 2015 23:43:47 -0000 This is a multi-part message in MIME format. --------------020407070500010207030500 Content-Type: multipart/alternative; boundary="------------010300000806080507060602" --------------010300000806080507060602 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 12/02/15 22:13, Luke Dashjr wrote: > Where is the Specification section?? Does this support arbitrary script= s, or=20 > only the simplest CHECKMULTISIG case? The BIP is a process for deriving only the type of scripts you would encounter doing addmultisigaddress. More complicated scripts would require more metadata to be shared, but the only case we describe is when given public keys and the number of signatures required. You're right, we're missing a Specification. I have tweaked the document to cover this now. On 13/02/15 07:53, Peter Todd wrote: > It might be enough to rewrite this BIP to basically say "all pubkeys > executed by all CHECKMULTISIG opcodes will be in the following > canonical order", followed by some explanatory examples of how to > apply this simple rule. OTOH we don't yet have a standard way of even > talking about arbitrary scripts, so it may very well turn out to be > the case that the above rule is too restrictive in many cases - I > certainly would not want to do a soft-fork to enforce this, or even > make it an IsStandard() rule. It would be interesting, but I agree it should not be brought into these validation rules - just a convention for people to follow for now. I think it's fair that implementers are free to order them however they please. But I think there is good reason for wallets to opt in to the convention and declare this, for ease of recovery, and for interoperability reasons.=20 --=20 Thomas Kerin ------------------------------------------------------------------------ My PGP key can be found here --------------010300000806080507060602 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On 12/02/15 22:13, Luke Dashjr wrote:<= br>
Where is the Specification section?? Does this suppo=
rt arbitrary scripts, or=20
only the simplest CHECKMULTISIG case?

The BIP is a process for deriving only the type of scripts you would encounter doing addmultisigaddress. More complicated scripts would require more metadata to be shared, but the only case we describe is when given public keys and the number of signatures required.

You're right, we're missing a Specification. I have tweaked the document to cover this now.



On 13/02/15 07:53, Peter Todd wrote:
It might be enough to rewrite this BIP to basically say "all pubkeys executed by all CHECKMULTISIG opcodes will be in the following canonical order", followed by some explanatory examples of how to apply this simple rule. OTOH we don't yet have a standard way of even talking about arbitrary scripts, so it may very well turn out to be the case that the above rule is too restrictive in many cases - I certainly would not want to do a soft-fork to enforce this, or even make it an IsStandard() rule.

It would be interesting, but I agree it should not be brought into these validation rules - just a convention for people to follow for now. I think it's fair that implementers are free to order them however they please. But I think there is good reason for wallets to opt in to the convention and declare this, for ease of recovery, and for interoperability reasons.=C2=A0


--
Thomas Kerin
My PGP key can be found here
--------------010300000806080507060602-- --------------020407070500010207030500 Content-Type: application/pgp-keys; name="0xA2966155.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0xA2966155.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 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 JDB0hVaFYV98nLJ9V9LtEA9P =3DntkV -----END PGP PUBLIC KEY BLOCK----- --------------020407070500010207030500--