public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Vornberger <jan@uos.de>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Instant / contactless payments
Date: Sat, 8 Mar 2014 09:52:42 +0100	[thread overview]
Message-ID: <20140308085242.GA5727@odo.localdomain> (raw)
In-Reply-To: <CALDj+BZE1KtMGpMH3UHtxjN2vXxu39o_hAWPdg==KLsWpe1zqA@mail.gmail.com>

On Thu, Mar 06, 2014 at 02:39:52PM +0000, Alex Kotenko wrote:
> Not sure if you've seen it, but here is how we do NFC right now
> http://www.youtube.com/watch?v=DGOMIG9JUY8 with XBTerminal.

Very interesting, thanks for sharing! Are the two devices on the same
wifi network in the demo? In my experience transaction propagation
through the Bitcoin network takes a couple of seconds longer on average,
so I'm surprised it's that fast here.

You probably share this view, but I just wanted to repeat, that from my
experiments, I think that sending the transaction only over the Bitcoin
network should be a rarely-used fallback. It usually takes a little
longer than you would like for a POS solution and every so often you
don't get the transaction at all until the next block. And then what do
you do? Maybe you would need to ask the customer to pay again, to get
things done now, and put the previous transaction in some kind of refund
mode, where - when you finally get it - you send it back somewhere. But
it's really a problematic corner case - but yet it will happen
occasionally with network-only propagation.

In the context of this discussion, I would also like to share a video of
a prototype system:

  https://www.youtube.com/watch?v=mguRpvf3aMc

Here shown is the (currently no longer working) Bridgewalker client, but
it is also fully compatible with Andreas' wallet. The client picks up
the payment details via NFC (as a Bitcoin URI - could and should be
updated to use payment protocol) and transmits a copy of the transaction
via Bluetooth (using the simple convention first implemented by
Andreas). One optimization I did in the Bridgewalker client is, that it
already opens the Bluetooth connection when presenting the user with the
confirmation dialog. This results in a little additional speed-up, as
the connection is already "warmed up", when the user confirms. All code
of this prototype is open source, as is the Bridgewalker client.

From my testing, I can say that NFC for getting the payment details +
Bluetooth for transmitting the transaction back works well. I'm a bit
skeptical about using NFC also for the back-channel, but maybe for cases
where there is no additional user confirmation it could work.

One problem with Bluetooth I see is, that it seems to be mostly turned
off by users and many seem to perceive it as "insecure", to have it
active, as a result of earlier Bluetooth hacks. So I'm not sure if that
will turn out to be a problem for usability when rolled-out in practice.



  parent reply	other threads:[~2014-03-08  9:14 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-06  9:45 [Bitcoin-development] Instant / contactless payments Mike Hearn
2014-03-06 11:26 ` Andreas Schildbach
2014-03-06 13:44   ` Mike Hearn
2014-03-06 14:51     ` Andreas Schildbach
2014-03-06 16:55       ` [Bitcoin-development] Instant / contactless payments, IsoDep Andreas Schildbach
2014-03-06 17:00         ` Mike Hearn
2014-03-07  8:45           ` Andreas Schildbach
2014-03-07  9:26   ` [Bitcoin-development] Instant / contactless payments Johannes Zweng
2014-03-07 10:00     ` Mike Hearn
2014-03-07 10:23     ` Andreas Schildbach
2014-03-07 11:01       ` Mike Hearn
2014-03-07 12:00       ` Johannes Zweng
2014-03-06 14:20 ` Brooks Boyd
2014-03-06 17:07   ` Mike Hearn
2014-03-06 18:08     ` Brooks Boyd
2014-03-06 18:12       ` Mike Hearn
2014-03-06 18:20         ` Brooks Boyd
2014-03-06 18:24           ` Mike Hearn
2014-03-07 18:07   ` Joel Kaartinen
2014-03-06 14:39 ` Alex Kotenko
2014-03-06 16:46   ` Andreas Schildbach
2014-03-06 16:52     ` Mike Hearn
2014-03-06 18:03     ` Alex Kotenko
2014-03-07  8:59       ` Andreas Schildbach
2014-03-06 17:03   ` Mike Hearn
2014-03-06 18:49     ` Alex Kotenko
2014-03-08  8:52   ` Jan Vornberger [this message]
2014-03-10 15:09     ` Alex Kotenko
2014-03-10 19:28       ` Andreas Schildbach
2014-03-10 19:47         ` Alex Kotenko
2014-03-07 19:08 ` Troy Benjegerdes
2014-03-10 16:04 ` Mike Hearn
2014-03-10 16:14   ` Jean-Paul Kogelman
2014-03-10 16:27     ` Alex Kotenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140308085242.GA5727@odo.localdomain \
    --to=jan@uos.de \
    --cc=bitcoin-development@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox