summaryrefslogtreecommitdiff
path: root/9f/5aed0a812228d92a6b38c524698443bccd1839
blob: 9d429a3f17680920acc0356999ba9a13a4e25ef1 (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
Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194]
	helo=mx.sourceforge.net)
	by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <gavinandresen@gmail.com>) id 1W88AM-00078M-QK
	for bitcoin-development@lists.sourceforge.net;
	Tue, 28 Jan 2014 12:53:22 +0000
Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com
	designates 74.125.82.54 as permitted sender)
	client-ip=74.125.82.54; envelope-from=gavinandresen@gmail.com;
	helo=mail-wg0-f54.google.com; 
Received: from mail-wg0-f54.google.com ([74.125.82.54])
	by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1W88AL-0002of-QL
	for bitcoin-development@lists.sourceforge.net;
	Tue, 28 Jan 2014 12:53:22 +0000
Received: by mail-wg0-f54.google.com with SMTP id x13so674376wgg.21
	for <bitcoin-development@lists.sourceforge.net>;
	Tue, 28 Jan 2014 04:53:14 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.194.79.131 with SMTP id j3mr965723wjx.17.1390913594604; Tue,
	28 Jan 2014 04:53:14 -0800 (PST)
Received: by 10.194.10.197 with HTTP; Tue, 28 Jan 2014 04:53:14 -0800 (PST)
In-Reply-To: <CANEZrP0HVJ7Uzow1=4-20LnejURqO5uo16H43uhL=TtNfzhAxQ@mail.gmail.com>
References: <lc409d$4mf$1@ger.gmane.org>
	<CABsx9T1Y3sO6eS54wsj377BL4rGoghx1uDzD+SY3tTgc1PPbHg@mail.gmail.com>
	<CANEZrP0ENhJJhba8Xwj_cVzNKGDUQriia_Q=JWTXpztb6ic8rg@mail.gmail.com>
	<CAEY8wq4QEO1rtaNdjHXR6-b3Cgi7pfSWk7M8khVi0MHCiVOBzQ@mail.gmail.com>
	<CAPg+sBgUNYqYm7d4Rv+f0rBa=nSuqwmZ6_REBS7M-+Wea+za0g@mail.gmail.com>
	<CAEY8wq6n_27Y2N7fVw9uJkfiiYqi6JkTwO0q03_J7tUeBhdQYA@mail.gmail.com>
	<CANEZrP0HVJ7Uzow1=4-20LnejURqO5uo16H43uhL=TtNfzhAxQ@mail.gmail.com>
Date: Tue, 28 Jan 2014 07:53:14 -0500
Message-ID: <CABsx9T2ng9vGMmfFK95A1jBK-FotDL-fA1oOt-=zosCPaug-rQ@mail.gmail.com>
From: Gavin Andresen <gavinandresen@gmail.com>
To: Mike Hearn <mike@plan99.net>
Content-Type: multipart/alternative; boundary=047d7bd6bad4b865fd04f1074ea6
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: 1W88AL-0002of-QL
Cc: Andreas Schildbach <andreas@schildbach.de>,
	Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] BIP70: PaymentACK semantics
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, 28 Jan 2014 12:53:22 -0000

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

On Tue, Jan 28, 2014 at 6:42 AM, Mike Hearn <mike@plan99.net> wrote:

> Yeah, that's the interpretation I think we should go with for now. There
> was a reason why this isn't specified and I forgot what it was - some
> inability to come to agreement on when to broadcast vs when to submit via
> HTTP, I think.
>

If the wallet software is doing automatic CoinJoin (for example), then
typically one or several of the other participants will broadcast the
transaction as soon as it is complete.

If the spec said that wallets must not broadcast until they receive a
PaymentACK (if a payment_url is specified), then you'd have to violate the
spec to do CoinJoin.

And even if you don't care about CoinJoin, not broadcasting the transaction
as soon as the inputs are signed adds implementation complexity (should you
retry if payment_url is unavailable? how many times? if you eventually
unlock the probably-not-quite-spent-yet inputs, should you double-spend
them to yourself just in case the merchant eventually gets around to
broadcasting the transaction, or should you just unlock them and squirrel
away the failed Payment so if the merchant does eventually broadcast you
have a record of why the coins were spent).

-- 
--
Gavin Andresen

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

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
ue, Jan 28, 2014 at 6:42 AM, Mike Hearn <span dir=3D"ltr">&lt;<a href=3D"ma=
ilto:mike@plan99.net" target=3D"_blank">mike@plan99.net</a>&gt;</span> wrot=
e:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">
<div dir=3D"ltr">Yeah, that&#39;s the interpretation I think we should go w=
ith for now. There was a reason why this isn&#39;t specified and I forgot w=
hat it was - some inability to come to agreement on when to broadcast vs wh=
en to submit via HTTP, I think.</div>
</blockquote><div><br></div><div>If the wallet software is doing automatic =
CoinJoin (for example), then typically one or several of the other particip=
ants will broadcast the transaction as soon as it is complete.</div><div>
<br></div><div>If the spec said that wallets must not broadcast until they =
receive a PaymentACK (if a payment_url is specified), then you&#39;d have t=
o violate the spec to do CoinJoin.</div><div><br></div><div>And even if you=
 don&#39;t care about CoinJoin, not broadcasting the transaction as soon as=
 the inputs are signed adds implementation complexity (should you retry if =
payment_url is unavailable? how many times? if you eventually unlock the pr=
obably-not-quite-spent-yet inputs, should you double-spend them to yourself=
 just in case the merchant eventually gets around to broadcasting the trans=
action, or should you just unlock them and squirrel away the failed Payment=
 so if the merchant does eventually broadcast you have a record of why the =
coins were spent).</div>
<div>=A0</div></div>-- <br>--<br>Gavin Andresen<br>
</div></div>

--047d7bd6bad4b865fd04f1074ea6--