[Bitcoin-development] A tangent about BIP 10

Alan Reiner etotheipi at gmail.com
Thu Jun 14 14:25:07 UTC 2012

On Thu, Jun 14, 2012 at 9:22 AM, Gavin Andresen <gavinandresen at gmail.com>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 <https://en.bitcoin.it/wiki/BIP_0010> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20120614/69ba203b/attachment.html>

More information about the bitcoin-dev mailing list