Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YBRKD-0008Nx-W3 for bitcoin-development@lists.sourceforge.net; Wed, 14 Jan 2015 17:01:46 +0000 Received: from mail-wg0-f54.google.com ([74.125.82.54]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1YBRK8-0006bD-Sa for bitcoin-development@lists.sourceforge.net; Wed, 14 Jan 2015 17:01:45 +0000 Received: by mail-wg0-f54.google.com with SMTP id z12so10086696wgg.13 for ; Wed, 14 Jan 2015 09:01:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=0DSeEk6DDI6arSgJvqxyAEn4fHA7ZcXqCgeZStAkK6Q=; b=cjPAEOBagfSxnzwYgNHPESgtwpBMZCkflZOcrUJYQuucHRLgTTqdW4GktPfXEYHe0A uHBFJeRmwUcBk6880Dwx5NY7vpEX7NObvn65hyxvqfQ72GcpYL5yC5AmlH33t0zcYw55 9jPh/gExmJyJ8rFzRsYT41CIn3ARtvL8NR+9pDyE/e0nYQ6XRhNtrVcI1Dl0Y7MDF2Gs CWY+lUOZliqDWq6u5dKEEDe0ZKN0qfY0SIoxDbL6qt5jmlrfOkx0+ExaY7aSWuGlvs6b 7QanvH7Tap3tNA0gwo6w2Anq5A6Mu9t4SqA0Jv/TIvFHizBq7t/20lC2iCFyYx7fTs1Y Uicg== X-Gm-Message-State: ALoCoQl4JZVZfmLK7vCMSVKCxGyjytqyOfSAoVgmK+s2VuuhtHOyHdHC9AofLyck/VgxFzrPzk8f MIME-Version: 1.0 X-Received: by 10.181.12.17 with SMTP id em17mr52040635wid.45.1421253430783; Wed, 14 Jan 2015 08:37:10 -0800 (PST) Received: by 10.27.11.34 with HTTP; Wed, 14 Jan 2015 08:37:10 -0800 (PST) Date: Wed, 14 Jan 2015 17:37:10 +0100 Message-ID: From: Ruben de Vries To: bitcoin-development@lists.sourceforge.net Content-Type: multipart/alternative; boundary=f46d043893c3e0c874050c9f592e X-Spam-Score: 1.0 (+) 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 X-Headers-End: 1YBRK8-0006bD-Sa Subject: [Bitcoin-development] convention/standard for sorting public keys for p2sh multisig transactions 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: Wed, 14 Jan 2015 17:01:46 -0000 --f46d043893c3e0c874050c9f592e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable For p2sh multisig TXs the order of the public keys affect the hash and there doesn't seem to be an agreed upon way of sorting the public keys. If there would be a standard (recommended) way of sorting the public keys that would make it easier for services that implement some form of multisig to be compatible with each other without much hassle and making it possible to import keys from one service to another. I'm not suggesting forcing the order, just setting a standard to recommend, there doesn't seem to be much reason for (new) services to not follow that recommendation. Ryan from BitPay broad this up before ( https://sourceforge.net/p/bitcoin/mailman/message/32092958/) and in bitcore they've implemented lexicographical sorting on the hex of the public key. In a short search I can't find any other library that has a sorting function, let alone using it by default, so bitcore is currently my only reference. =E2=80=8BRuben de Vries =E2=80=8BCTO, BlockTrail --f46d043893c3e0c874050c9f592e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
For p2sh multisig TXs the order of the public keys affect the h= ash and there doesn't seem to be an agreed upon way of sorting the publ= ic keys.

If there would be a standard (recommended) way of sorting the= public keys that would make it easier for services that implement some for= m of multisig to be compatible with each other without much hassle and maki= ng it possible to import keys from one service to another.

I'm no= t suggesting forcing the order, just setting a standard to recommend, there= doesn't seem to be much reason for (new) services to not follow that r= ecommendation.

Ryan from BitPay broad this up before (https://sourceforge= .net/p/bitcoin/mailman/message/32092958/) and in bitcore they've im= plemented lexicographical sorting on the hex of the public key.
In a short = search I can't find any other library that has a sorting function, let = alone using it by default, so bitcore is currently my only reference.
=

<= /div>

=E2=80=8BRuben de Vries
=E2=80=8BCTO, BlockTrail
--f46d043893c3e0c874050c9f592e--