summaryrefslogtreecommitdiff
path: root/63/7a85c17e96b0eb77f4e3eddc7f1b31bf40d8f7
blob: a6a0845bcfb1014f208e4706b3b2d82f387e4ce9 (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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <drice@greenmangosystems.com>) id 1WwYX0-0007MI-5h
	for bitcoin-development@lists.sourceforge.net;
	Mon, 16 Jun 2014 15:09:10 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of
	greenmangosystems.com designates 209.85.220.169 as permitted
	sender) client-ip=209.85.220.169;
	envelope-from=drice@greenmangosystems.com;
	helo=mail-vc0-f169.google.com; 
Received: from mail-vc0-f169.google.com ([209.85.220.169])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1WwYWy-00006J-Co
	for bitcoin-development@lists.sourceforge.net;
	Mon, 16 Jun 2014 15:09:10 +0000
Received: by mail-vc0-f169.google.com with SMTP id la4so5183318vcb.28
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 16 Jun 2014 08:09:02 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:in-reply-to:references:date
	:message-id:subject:from:to:cc:content-type;
	bh=CP5ElzyZJdd7XBVcIVSgAu6KjEyGwU6rzpr/UMyWD8c=;
	b=ON7EWF/w73E9cECbcXtl23j4lqSryYlYg2mt71Fp5l/lGerwzpgA58JYI8xFIeeDH9
	8YD6/LOyPz3OfPjhAa9/dNEEnHRc9U9yoUQRwo8N4qWGSFGYId+z6TIGEVdFfj5turer
	B3Aiw9V7vSg+FL7PaEbhmI7NIjwqW9qwjAgWIw3Ys0DOTAxGOenX2ymOCKUvAVjbXbDN
	n2w26O/C5PeqxMhw5dXH6f/qwherQKgTBQzlqVd0M/pCS01UZ2KhHkgTsLWhpf/6aUpf
	NVHnTOnNu77X9Af6a3tzIitGjbaTKePodJBxLxOkbLTXBm+54DtFpJtaDDnqNqYuQtDe
	DRdQ==
X-Gm-Message-State: ALoCoQkbq7Ng8X+xyhnyOt5Y0tSKQdYGpsA33+9ze/hn18KjMmsgxhHUCMmyhvKt3PIjKH4qf5+e
MIME-Version: 1.0
X-Received: by 10.52.252.226 with SMTP id zv2mr12610941vdc.19.1402931341824;
	Mon, 16 Jun 2014 08:09:01 -0700 (PDT)
Received: by 10.58.123.35 with HTTP; Mon, 16 Jun 2014 08:09:01 -0700 (PDT)
In-Reply-To: <CANEZrP0Euc1mPhRc9e41tU4zMDrWesvVyiBpAPq6M3m7K=aU=A@mail.gmail.com>
References: <CAKrJrGOBSiY5V59eko6g796j3wh9V9ZLjPbyHeS5=zyX6j3Wdw@mail.gmail.com>
	<CANEZrP0Euc1mPhRc9e41tU4zMDrWesvVyiBpAPq6M3m7K=aU=A@mail.gmail.com>
Date: Mon, 16 Jun 2014 08:09:01 -0700
Message-ID: <CAFDyEXgKpbE4WGAqROJ4J1UST=tXWgfn7uKhRO_tngJfVK_Czw@mail.gmail.com>
From: Daniel Rice <drice@greenmangosystems.com>
To: Mike Hearn <mike@plan99.net>
Content-Type: multipart/alternative; boundary=001a1135ed2246297f04fbf5685c
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 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: 1WwYWy-00006J-Co
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>,
	Lawrence Nahum <lawrence@greenaddress.it>
Subject: Re: [Bitcoin-development] instant confirmation via payment protocol
 backwards compatible proto buffer extension
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: Mon, 16 Jun 2014 15:09:10 -0000

--001a1135ed2246297f04fbf5685c
Content-Type: text/plain; charset=UTF-8

If you're hoping the instant providers list won't need to scale then you're
essentially saying that we need a solution to the double spend problem.
That is a good point. Double spends are one of the biggest issues remaining
in the protocol. I've seen so many people talk about bad experiences trying
to spend Bitcoin at a restaurant and waiting an hour for confirmations.
This entire BIP extension is a band aid for double spends. If double spends
are not resolved, there will be a million instant providers in the long run
and if double spends are resolved then this BIP extension is completely
unnecessary. Is solving doublespends off the table?

What if we solved doublespends like this: If a node receives 2 transactions
that use the same input, they can put both of them into the new block as a
proof of double spend, but the bitcoins are not sent to the outputs of
either transactions. They are instead treated like a fee and given to the
block solver node. This gives miners the needed incentive and tools to end
doublespends instead of being forced to favor one transaction over the
other.

I will write up a BIP if this seems like a practical approach.


On Mon, Jun 16, 2014 at 5:19 AM, Mike Hearn <mike@plan99.net> wrote:

> Looking good! I think this is much better than the original draft. Agree
> with Andreas that supports_instant is simply equal to
> (supported_instant_providers.size() > 1) which makes it redundant.
>
> Daniel is right that putting every possible provider in the Payment
> message might not scale in a world where there are huge numbers of
> instant-confirmation providers, but I'm hoping that we never have to scale
> to that size, because if we did that'd rather imply that Bitcoin has become
> useless for in-person payments without trusted third parties and avoiding
> that is rather the whole point of the project :) So I'm OK with some
> theoretical lack of scalability for now.
>
> A more scalable approach would be for the user to send the name and
> signature of their "instant provider" every time and the merchant just
> chooses whether to ignore it or not, but as Lawrence points out, this is
> incompatible with the provider charging extra fees for "instantness". But
> should we care? I'm trying to imagine what the purchasing experience is
> like with optional paid-for third party anti-double-spend protection.
> Ultimately it's the merchant who cares about this, not me, so why would I
> ever pay? It makes no sense for me to pay for double spend protection for
> the merchant: after all, I'm honest. This is why it doesn't make sense for
> me to pay miners fees either, it's the *receiver* who cares about
> confirmations, not the sender.
>
> So I wonder if a smarter design is that the user always submits the
> details of their instantness provider and we just don't allow for optional
> selection of instantness. I'm not sure that works, UX wise, so is having a
> less scalable design to support it worthwhile?
>
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
> Find What Matters Most in Your Big Data with HPCC Systems
> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
> http://p.sf.net/sfu/hpccsystems
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

--001a1135ed2246297f04fbf5685c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>If you&#39;re hoping the instant providers list won&#=
39;t need to scale then you&#39;re essentially saying that we need a soluti=
on to the double spend problem. That is a good point. Double spends are one=
 of the biggest issues remaining in the protocol. I&#39;ve seen so many peo=
ple talk about bad experiences trying to spend Bitcoin at a restaurant and =
waiting an hour for confirmations. This entire BIP extension is a band aid =
for double spends. If double spends are not resolved, there will be a milli=
on instant providers in the long run and if double spends are resolved then=
 this BIP extension is completely unnecessary. Is solving doublespends off =
the table?</div>
<div><br></div><div>What if we solved doublespends like this: If a node rec=
eives 2 transactions that use the same input, they can put both of them int=
o the new block as a proof of double spend, but the bitcoins are not sent t=
o the outputs of either transactions. They are instead treated like a fee a=
nd given to the block solver node. This gives miners the needed incentive a=
nd tools to end doublespends instead of being forced to favor one transacti=
on over the other.</div>
<div><br></div><div>I will write up a BIP if this seems like a practical ap=
proach.</div></div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_q=
uote">On Mon, Jun 16, 2014 at 5:19 AM, Mike Hearn <span dir=3D"ltr">&lt;<a =
href=3D"mailto:mike@plan99.net" target=3D"_blank">mike@plan99.net</a>&gt;</=
span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra">=
Looking good! I think this is much better than the original draft. Agree wi=
th Andreas that supports_instant is simply equal to (supported_instant_prov=
iders.size() &gt; 1) which makes it redundant.</div>

<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">Daniel is r=
ight that putting every possible provider in the Payment message might not =
scale in a world where there are huge numbers of instant-confirmation provi=
ders, but I&#39;m hoping that we never have to scale to that size, because =
if we did that&#39;d rather imply that Bitcoin has become useless for in-pe=
rson payments without trusted third parties and avoiding that is rather the=
 whole point of the project :) So I&#39;m OK with some theoretical lack of =
scalability for now. </div>

<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">A more scal=
able approach would be for the user to send the name and signature of their=
 &quot;instant provider&quot; every time and the merchant just chooses whet=
her to ignore it or not, but as Lawrence points out, this is incompatible w=
ith the provider charging extra fees for &quot;instantness&quot;. But shoul=
d we care? I&#39;m trying to imagine what the purchasing experience is like=
 with optional paid-for third party anti-double-spend protection. Ultimatel=
y it&#39;s the merchant who cares about this, not me, so why would I ever p=
ay? It makes no sense for me to pay for double spend protection for the mer=
chant: after all, I&#39;m honest. This is why it doesn&#39;t make sense for=
 me to pay miners fees either, it&#39;s the <i>receiver</i>=C2=A0who cares =
about confirmations, not the sender.</div>

<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">So I wonder=
 if a smarter design is that the user always submits the details of their i=
nstantness provider and we just don&#39;t allow for optional selection of i=
nstantness. I&#39;m not sure that works, UX wise, so is having a less scala=
ble design to support it worthwhile?</div>

</div>
<br>-----------------------------------------------------------------------=
-------<br>
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions<b=
r>
Find What Matters Most in Your Big Data with HPCC Systems<br>
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.<br>
Leverages Graph Analysis for Fast Processing &amp; Easy Data Exploration<br=
>
<a href=3D"http://p.sf.net/sfu/hpccsystems" target=3D"_blank">http://p.sf.n=
et/sfu/hpccsystems</a><br>_______________________________________________<b=
r>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br></div>

--001a1135ed2246297f04fbf5685c--