summaryrefslogtreecommitdiff
path: root/13/4d96ad85bed43402204a083dd8a77ee7d17f74
blob: 604cd1b3c59f13db21cd24603dec2fd07121e4c3 (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
172
173
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 <gavinandresen@gmail.com>) id 1WNBI7-0001Nq-3F
	for bitcoin-development@lists.sourceforge.net;
	Tue, 11 Mar 2014 01:15:35 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.160.175 as permitted sender)
	client-ip=209.85.160.175; envelope-from=gavinandresen@gmail.com;
	helo=mail-yk0-f175.google.com; 
Received: from mail-yk0-f175.google.com ([209.85.160.175])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1WNBI5-0001gW-WF
	for bitcoin-development@lists.sourceforge.net;
	Tue, 11 Mar 2014 01:15:35 +0000
Received: by mail-yk0-f175.google.com with SMTP id 131so21373202ykp.6
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 10 Mar 2014 18:15:28 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.236.3.10 with SMTP id 10mr48171404yhg.79.1394500528470; Mon,
	10 Mar 2014 18:15:28 -0700 (PDT)
Received: by 10.170.133.195 with HTTP; Mon, 10 Mar 2014 18:15:28 -0700 (PDT)
In-Reply-To: <CAJHLa0NZkzQQvMxgCJAJGT=Yn6vrVNK8Bg7RAfAjctpnrfg5zA@mail.gmail.com>
References: <CANAnSg3Bt0e7CfUcJXe96xhU6nqif9ey_vurZMZkSa9OHjHStw@mail.gmail.com>
	<CABsx9T0SMi6Gp4JY=CpHxLEu5pVkvDmnug7PsY7m_dvtT7khzg@mail.gmail.com>
	<531DFDF8.80008@gmail.com> <531E52FE.5090107@jerviss.org>
	<531E5454.1030601@gmail.com>
	<CAJHLa0NZkzQQvMxgCJAJGT=Yn6vrVNK8Bg7RAfAjctpnrfg5zA@mail.gmail.com>
Date: Mon, 10 Mar 2014 21:15:28 -0400
Message-ID: <CABsx9T3eViYDsEmLm7ceimJNwci3mCOxWoVnVZHrqp7pDmm0+g@mail.gmail.com>
From: Gavin Andresen <gavinandresen@gmail.com>
To: Jeff Garzik <jgarzik@bitpay.com>
Content-Type: multipart/alternative; boundary=001a1133c7d2a3810704f44a7478
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
	(gavinandresen[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: 1WNBI5-0001gW-WF
Cc: kjj <bitcoin-devel@jerviss.org>,
	Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Multisign payment protocol?
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: Tue, 11 Mar 2014 01:15:35 -0000

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

Multisig is orthogonal to the payment protocol (but payment protocol is
needed first).

There need to be protocols for:

a) Establishing multisig wallets of various sorts. See:
  https://moqups.com/gavinandresen/no8mzUDB/
  https://moqups.com/gavinandresen/no8mzUDB/p:ab18547e0
... etc.  for a UI mock-up.
  There needs to be some protocol so all participants in a multisig wallet
contribute keys (actually, we should just assume everybody uses BIP32 HD
public keys so we get privacy from the start).

Multi-person shared wallets, escrows, and "wallet protection service"
wallets (which might be protected with two-factor authentication) are
different use cases and probably use slightly different protocols (and will
probably need different BIPs eventually).


b) Gathering signatures for a multisig spend. Here is where the payment
protocol is useful; the PaymentRequest message should be passed around so
all participants know what is being paid for, and maybe a partially-signed
Payment message is where the signatures are gathered (or maybe the
signatures are sent separately and one of the participants creates and
submits the Payment and gets the PaymentACK... "to be designed").
  See:
    https://moqups.com/gavinandresen/no8mzUDB/p:a7e81be96
    https://moqups.com/gavinandresen/no8mzUDB/p:af7339204
... for UI mock-up for the multi-person-spend case.

And maybe a protocol for "I don't want to be part of this multisig any more
/ I lost control of my private key don't trust me in this multisig any
more".



On Mon, Mar 10, 2014 at 8:14 PM, Jeff Garzik <jgarzik@bitpay.com> wrote:

> All of that only melds with the payment protocol under an extremely
> expansive definition of "payment."  The payment protocol is really
> geared towards a direct one-to-one relationship....



>
>
--
Gavin Andresen

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

<div dir=3D"ltr">Multisig is orthogonal to the payment protocol (but paymen=
t protocol is needed first).<div><br></div><div>There need to be protocols =
for:</div><div><br></div><div>a) Establishing multisig wallets of various s=
orts. See:</div>
<div>=A0=A0<a href=3D"https://moqups.com/gavinandresen/no8mzUDB/">https://m=
oqups.com/gavinandresen/no8mzUDB/</a></div><div>=A0=A0<a href=3D"https://mo=
qups.com/gavinandresen/no8mzUDB/p:ab18547e0">https://moqups.com/gavinandres=
en/no8mzUDB/p:ab18547e0</a></div>
<div>... etc. =A0for a UI mock-up.</div><div>=A0 There needs to be some pro=
tocol so all participants in a multisig wallet contribute keys (actually, w=
e should just assume everybody uses BIP32 HD public keys so we get privacy =
from the start).</div>
<div><br></div><div>Multi-person shared wallets, escrows, and &quot;wallet =
protection service&quot; wallets (which might be protected with two-factor =
authentication) are different use cases and probably use slightly different=
 protocols (and will probably need different BIPs eventually).</div>
<div><br></div><div><br></div><div>b) Gathering signatures for a multisig s=
pend. Here is where the payment protocol is useful; the PaymentRequest mess=
age should be passed around so all participants know what is being paid for=
, and maybe a partially-signed Payment message is where the signatures are =
gathered (or maybe the signatures are sent separately and one of the partic=
ipants creates and submits the Payment and gets the PaymentACK... &quot;to =
be designed&quot;).</div>
<div>=A0 See:</div><div>=A0 =A0 <a href=3D"https://moqups.com/gavinandresen=
/no8mzUDB/p:a7e81be96">https://moqups.com/gavinandresen/no8mzUDB/p:a7e81be9=
6</a></div><div>=A0 =A0=A0<a href=3D"https://moqups.com/gavinandresen/no8mz=
UDB/p:af7339204">https://moqups.com/gavinandresen/no8mzUDB/p:af7339204</a><=
/div>
<div>... for UI mock-up for the multi-person-spend case.</div><div><br></di=
v><div>And maybe a protocol for &quot;I don&#39;t want to be part of this m=
ultisig any more / I lost control of my private key don&#39;t trust me in t=
his multisig any more&quot;.</div>
<div><br></div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote=
">On Mon, Mar 10, 2014 at 8:14 PM, Jeff Garzik <span dir=3D"ltr">&lt;<a hre=
f=3D"mailto:jgarzik@bitpay.com" target=3D"_blank">jgarzik@bitpay.com</a>&gt=
;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex">All of that only melds with the payment protocol under an =
extremely<br>

expansive definition of &quot;payment.&quot; =A0The payment protocol is rea=
lly<br>
geared towards a direct one-to-one relationship....</blockquote><div>=A0</d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:soli=
d;padding-left:1ex">
=A0<br></blockquote></div>--<br>Gavin Andresen<br>
</div></div>

--001a1133c7d2a3810704f44a7478--