public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Alan Reiner <etotheipi@gmail.com>
To: Gavin Andresen <gavinandresen@gmail.com>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: [Bitcoin-development] A tangent about BIP 10
Date: Thu, 14 Jun 2012 10:25:07 -0400	[thread overview]
Message-ID: <CALf2ePzWye8fFn8oV=q-izudbPFQ5wDyn+n=j+=9LiwhZxBozQ@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2398 bytes --]

On Thu, Jun 14, 2012 at 9:22 AM, Gavin Andresen <gavinandresen@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.

[-- Attachment #2: Type: text/html, Size: 3057 bytes --]

                 reply	other threads:[~2012-06-14 14:37 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CALf2ePzWye8fFn8oV=q-izudbPFQ5wDyn+n=j+=9LiwhZxBozQ@mail.gmail.com' \
    --to=etotheipi@gmail.com \
    --cc=bitcoin-development@lists.sourceforge.net \
    --cc=gavinandresen@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox