Subject: Re: [Bitcoin-development] instant confirmation via payment protocol backwards compatible proto buffer extension

From: Lawrence Nahum <[email-masked]>
Date: Mon, 16 Jun 2014 15:28:00 +0000 (UTC)

Mike Hearn <mike <at> plan99.net> writes:
[snip]
> 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. 

Hard to say for now. I like the current simplicity but if someone can come 
up with some use case for other options we should discuss and investigate 
them. I don't see more than a bunch of accepted payment methods anywhere I 
ever been in my life, I don't see merchants trusting more than a handful of 
third parties.

> 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?

I think you are wrong here.
Just because up to date credit cards charged the merchant which in turn 
charged you and the ordinary cash payer doesn't mean a newer and better 
system can't be transparent from day one.

Ultimately you care because the alternative is to wait.

> It makes no sense for me to pay for double spend protection for the 
merchant: after all, I'm honest.

It's quite simple, in a low amounts world people will probably accept zero 
confs, just like occasionally people can walk out with a bag of crisps 
without paying from a Pret in London. Guards would cost more than what 
they'd save from thefts.

With higher amounts they will either not accept bitcoin unless instant 
confirmed or they will make you wait if that's even feasible (unlikely in a 
supermarket or petrol station but perfectly fine at the restaurant maybe).

> 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.

You care too: time and money, or just money if you want to use the old 
simplification.

> 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?

We would not support that I think. Explicit is better than implicit.

We will charge for instant confirmation and wouldn't want the user charged 
unless pre-agreed, especially if then they also have to wait because the 
instant tx was not recognized as such.

Yeah we can charge the merchant that can then in turn charge you, we may as 
well charge you and be transparent about it but also have deals with 
merchant where they pay fixed amounts per month for unlimited tx and make it 
free for their users.

Perhaps just like today people ask you which card you are going to use and 
they may not accept Amex or Diners the same will go for instant and they, 
the merchants, will just pick the instant provider from a touch screen 
before allowing the payment in.