On Thu, Jun 14, 2012 at 9:22 AM, Gavin Andresen wrote: > > I've been asked a couple of times: why doesn't signrawtx handle the > BIP 0010 (https://en.bitcoin.it/wiki/BIP_0010) transaction format? > > I considered parsing/writing BIP 10 format for raw transactions, but > decided that reading/writing BIP 10 format should happen at a higher > level and not in the low-level RPC calls. So 'raw transactions' are > simply hex-encoded into JSON strings, and encoding/decoding them is > just a couple of lines of already-written-and-debugged code. > > BIP 10 could use some improvement. I created it for offline and multi-sig tx but there was no reception to it because no one was using offline or multi-sig tx at the time except for Armory (which only currently implements offline tx). So I made something that fit my needs, and it has served its purpose well for me. But I also think it could be expanded and improved before there is wider adoption of it. It's a little clunky and not very rigorous. Elements of it that I'd really like to keep: (1) Some aspects of human-readability -- even if regular users will never look at it, it should be possible for advanced users to manually copy&paste the data around and see what's going on in the transaction and what signatures are present. I'm thinking of super-high-security situations where manual handling of such data may even be the norm. (2) Should be compact -- I took the concept of ASCII-armoring from PGP/GPG, because, for the reason above, it's much easier and cleaner to view/select when copied inline. If a random user accidentally runs across it, it will partially self-identify itself (3) Includes all previous transactions so the device can verify transaction inputs without the blockchain. Things that could be added: -- It needs a BIP16 script entry (this was created for vanilla multi-sig before BIP 16 was created) -- Comment lines -- Version number -- Use base58/64 encoding -- Rigorous formatting spec -- Binary representation -- A better name than "Tx Distribution Proposal" I'll be releasing the Beta version of Armory soon, and after that, I'll probably be thinking about a multi-signature support interface. That would be a good time for me to tie in a better version of BIP 10 -- one that is compatible with other clients implementing the same thing.