> However, I ran into the problem that IsStandard() also
> checks that the size of scriptSig is not above 200. Adding an extra
> signature there triggers this limit. I guess there is no way around
D'oh! I forgot about that check (and should have remembered, I had to
increase it for my 'standard' multisig transactions branch).
Assuming BIPS 11 and 12 are adopted, there will be room in the
scriptSig for more than one signature. Once that happens, implementing
green addresses as an extra signature on the first scriptSig in a
transaction seems like a better way to do it than generating two
Speaking of more-than-on-signature transactions:
I'm proposing a maximum 3 signatures for an IsStandard() transaction,
which would be a 600-byte scriptSig.
It is tempting to just bump the maximum up to 8 or 10, but I think we
should stay conservative about IsStandard() transaction size until
after two things happen:
1) bitcoin-qt gets smarter about downloading just block headers, and
maybe downloading transactions without scriptSigs (for transactions it
doesn't need/care to validate... need to think about that a little
more, but ByteCoin suggested that if you're not mining then the only
transaction signatures you need to check are not-yet-confirmed
transactions to you).
2) Transaction priority / maximum block size / free-transaction area /
transaction fees is reworked. Miners should be making the policy
decisions on minimum fee per kilobyte or ECDSA signature check, and
how many free transactions (if any) they'll include in the blocks they
create. And bitcoin clients should be smarter about looking at what
transactions are and are not getting into the chain so they can
suggest appropriate fees to users.