[Bitcoin-development] [RFC] Canonical input and output ordering in transactions

Rusty Russell rusty at rustcorp.com.au
Sat Jun 6 06:44:07 UTC 2015

Mark Friedenbach <mark at friedenbach.org> writes:
> Rusty, this doesn't play well with SIGHASH_SINGLE which is used in
> assurance contracts among other things. Sometimes the ordering is set by
> the signing logic itself...

Ah, I forgot about that particular wart. Yech.  Implies that you can
order inputs or outputs, not both.

Something like "outputs must be in order, inputs which do not
CHECK(MULTI)SIG_(VERIFY) a SIGHASH_SINGLE sig must be in order with
respect to each other".  But that's much less trivial since it implies
script evaluation.

In other news, I noticed Kristov Atlas's concurrent proposal just after
I posted this (via reddit).  He used far more words, but didn't note
this issue either AFAICT.


More information about the bitcoin-dev mailing list