On 12/02/15 22:13, Luke Dashjr wrote:
Where is the Specification section?? Does this support arbitrary scripts, or 
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. 


--
Thomas Kerin
My PGP key can be found here