summaryrefslogtreecommitdiff
path: root/00/1aab8b39e3bd945ce60ddb1ca95b365f208ea8
blob: 97d73088299d8f9ac966e112c24fe384f7cb3304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <etotheipi@gmail.com>) id 1SfBAk-00058b-LJ
	for bitcoin-development@lists.sourceforge.net;
	Thu, 14 Jun 2012 14:37:18 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.212.169 as permitted sender)
	client-ip=209.85.212.169; envelope-from=etotheipi@gmail.com;
	helo=mail-wi0-f169.google.com; 
Received: from mail-wi0-f169.google.com ([209.85.212.169])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1SfBAf-0003QX-2v
	for bitcoin-development@lists.sourceforge.net;
	Thu, 14 Jun 2012 14:37:18 +0000
Received: by wibhn14 with SMTP id hn14so6379870wib.4
	for <bitcoin-development@lists.sourceforge.net>;
	Thu, 14 Jun 2012 07:37:07 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.180.80.97 with SMTP id q1mr4853519wix.13.1339683907507; Thu,
	14 Jun 2012 07:25:07 -0700 (PDT)
Received: by 10.194.29.131 with HTTP; Thu, 14 Jun 2012 07:25:07 -0700 (PDT)
Date: Thu, 14 Jun 2012 10:25:07 -0400
Message-ID: <CALf2ePzWye8fFn8oV=q-izudbPFQ5wDyn+n=j+=9LiwhZxBozQ@mail.gmail.com>
From: Alan Reiner <etotheipi@gmail.com>
To: Gavin Andresen <gavinandresen@gmail.com>
Content-Type: multipart/alternative; boundary=f46d0442835c6b152e04c26f77ab
X-Spam-Score: -0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(etotheipi[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1SfBAf-0003QX-2v
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: [Bitcoin-development] A tangent about BIP 10
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Thu, 14 Jun 2012 14:37:18 -0000

--f46d0442835c6b152e04c26f77ab
Content-Type: text/plain; charset=ISO-8859-1

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.

--f46d0442835c6b152e04c26f77ab
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div class=3D"gmail_quote">On Thu, Jun 14, 2012 at 9:22 AM, Gavin Andresen =
<span dir=3D"ltr">&lt;<a href=3D"mailto:gavinandresen@gmail.com" target=3D"=
_blank">gavinandresen@gmail.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
<br>
I&#39;ve been asked a couple of times: why doesn&#39;t signrawtx handle the=
<br>
BIP 0010 (<a href=3D"https://en.bitcoin.it/wiki/BIP_0010" target=3D"_blank"=
>https://en.bitcoin.it/wiki/BIP_0010</a>) transaction format?<br>
<br>
I considered parsing/writing BIP 10 format for raw transactions, but<br>
decided that reading/writing BIP 10 format should happen at a higher<br>
level and not in the low-level RPC calls. So &#39;raw transactions&#39; are=
<br>
simply hex-encoded into JSON strings, and encoding/decoding them is<br>
just a couple of lines of already-written-and-debugged code.<br>
<br></blockquote><div><br></div><div><a href=3D"https://en.bitcoin.it/wiki/=
BIP_0010">BIP 10</a> could use some improvement. =A0I created it for offlin=
e and multi-sig tx but there was no reception to it because no one was usin=
g offline or multi-sig tx at the time except for Armory (which only current=
ly implements offline tx). =A0So 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. =A0It&#39;s a little clu=
nky and not very rigorous.</div>
<div><br></div><div>Elements of it that I&#39;d really like to keep:</div><=
div><br></div><div>(1) Some aspects of human-readability -- even if regular=
 users will never look at it, it should be possible for advanced users to m=
anually copy&amp;paste the data around and see what&#39;s going on in the t=
ransaction and what signatures are present. =A0I&#39;m thinking of super-hi=
gh-security situations where manual handling of such data may even be the n=
orm.</div>
<div>(2) Should be compact -- I took the concept of ASCII-armoring from PGP=
/GPG, because, for the reason above, it&#39;s much easier and cleaner to vi=
ew/select when copied inline. =A0If a random user accidentally runs across =
it, it will partially self-identify itself</div>
<div>(3) Includes all previous transactions so the device can verify transa=
ction inputs without the blockchain.</div><div><br></div><div><br></div><di=
v>Things that could be added:</div><div><br></div><div>-- It needs a BIP16 =
script entry (this was created for vanilla multi-sig before BIP 16 was crea=
ted)</div>
<div>-- Comment lines</div><div>-- Version number</div><div>-- Use base58/6=
4 encoding</div><div>-- Rigorous formatting spec</div><div>-- Binary repres=
entation</div><div>-- A better name than &quot;Tx Distribution Proposal&quo=
t;</div>
<div><br></div><div>I&#39;ll be releasing the Beta version of Armory soon, =
and after that, I&#39;ll probably be thinking about a multi-signature suppo=
rt interface. =A0That would be a good time for me to tie in a better versio=
n of BIP 10 -- one that is compatible with other clients implementing the s=
ame thing.</div>
</div>

--f46d0442835c6b152e04c26f77ab--