Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WwZ2n-0007bM-Vw for bitcoin-development@lists.sourceforge.net; Mon, 16 Jun 2014 15:42:02 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.213.45 as permitted sender) client-ip=209.85.213.45; envelope-from=idigix@gmail.com; helo=mail-yh0-f45.google.com; Received: from mail-yh0-f45.google.com ([209.85.213.45]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WwZ2m-0001XE-60 for bitcoin-development@lists.sourceforge.net; Mon, 16 Jun 2014 15:42:01 +0000 Received: by mail-yh0-f45.google.com with SMTP id t59so4404573yho.18 for ; Mon, 16 Jun 2014 08:41:54 -0700 (PDT) X-Received: by 10.236.185.105 with SMTP id t69mr34610713yhm.94.1402933314375; Mon, 16 Jun 2014 08:41:54 -0700 (PDT) MIME-Version: 1.0 Sender: idigix@gmail.com Received: by 10.170.151.10 with HTTP; Mon, 16 Jun 2014 08:41:34 -0700 (PDT) In-Reply-To: References: From: Paul Goldstein Date: Mon, 16 Jun 2014 11:41:34 -0400 X-Google-Sender-Auth: V-X5i-im04J6iWGKWvQd6dr-tPM Message-ID: To: Mike Hearn Content-Type: multipart/alternative; boundary=20cf305e25a3d8d66b04fbf5dd6f X-Spam-Score: -0.5 (/) 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 (idigix[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message 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: 1WwZ2m-0001XE-60 Cc: Bitcoin Dev 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jun 2014 15:42:02 -0000 --20cf305e25a3d8d66b04fbf5dd6f Content-Type: text/plain; charset=UTF-8 Mike Hearn, why don't we just have all nodes report attempted double spends through the node network. No need to involve the miners at all really, or do your suggestion but also report the double spend attempt. By waiting maybe 10-60 seconds (instead of 10 minutes for first conf), merchants can be more sure that a double spend attack was not tried. Attacker would have to hold back second tx by 10-60 seconds and hope that that second tx (with higher fee) get's into a solved block before the first one. This forced delay time ought to make the attack less successful (but not impossible). Paul G. On Mon, Jun 16, 2014 at 11:09 AM, Daniel Rice wrote: > 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 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 >> >> > > > ------------------------------------------------------------------------------ > 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 > > --20cf305e25a3d8d66b04fbf5dd6f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Mike Hearn, why don't we just have all nodes report at= tempted double spends through the node network. No need to involve the mine= rs at all really, or do your suggestion but also report the double spend at= tempt. By waiting maybe 10-60 seconds (instead of 10 minutes for first conf= ), merchants can be more sure that a double spend attack was not tried. Att= acker would have to hold back second tx by 10-60 seconds and hope that that= second tx (with higher fee) get's into a solved block before the first= one. This forced delay time ought to make the attack less successful (but = not impossible).

Paul G.


On Mon, Jun 16, 2014 at 11:09 AM, Daniel = Rice <drice@greenmangosystems.com> wrote:
If you're hoping t= he instant providers list won't need to scale then you're essential= ly saying that we need a solution to the double spend problem. That is a go= od point. Double spends are one of the biggest issues remaining in the prot= ocol. I've seen so many people talk about bad experiences trying to spe= nd Bitcoin at a restaurant and waiting an hour for confirmations. This enti= re 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 unnecessar= y. Is solving doublespends off the table?

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.

I will write up a BIP if this seems like a practical ap= proach.


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 wi= th Andreas that supports_instant is simply equal to (supported_instant_prov= iders.size() > 1) which makes it redundant.

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'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-pe= rson 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 scal= able approach would be for the user to send the name and signature of their= "instant provider" 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 "instantness". But shoul= d we care? I'm trying to imagine what the purchasing experience is like= with optional paid-for third party anti-double-spend protection. Ultimatel= y it'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'm honest. This is why it doesn't make sense for= me to pay miners fees either, it's the receiver=C2=A0who cares = about confirmations, not the sender.

So I wonder= if a smarter design is that the user always submits the details of their i= nstantness provider and we just don't allow for optional selection of i= nstantness. I'm not sure that works, UX wise, so is having a less scala= ble 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.n= et/sfu/hpccsystems
_______________________________________________ Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment



-----------------------------------------------------------------------= -------
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.n= et/sfu/hpccsystems
_______________________________________________ Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment


--20cf305e25a3d8d66b04fbf5dd6f--