[Bitcoin-development] Instant / contactless payments

Alex Kotenko alexykot at gmail.com
Mon Mar 10 15:09:00 UTC 2014


2014-03-08 8:52 GMT+00:00 Jan Vornberger <jan at uos.de>:
​​

> 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.
>
No, devices on this video are not on the same network, and even if they
would - I cannot control what ​​remote hosts my phone would connect to, so
transaction may anyway travel around the globe before coming to the POS
even if they would be on one LAN.
As for transaction times - I'd say it varies. ​From my extensive testing
most of transactions usually come through within 2-5 seconds, but roughly
one in ten transactions may take more time, sometimes much more time.


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.
>
​Yes, ​I'm certain about that we need to switch to BIP70 asap. As I said
earlier - support among the wallets is the biggest problem here really.
Only Andreas' Wallet supports it right now AFAIK, and even in there it's
only as "LABS feature", so will be turned off for most of users.


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.
>
Yes, I've seen this demonstration, I think it was on reddit about two
month​​ ago. Looks interesting, but by that time most of my client software
was already done, so I couldn't really use this.



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

​NFC
​as ​
back channel
​definitely ​
will not work
​. Mike proposed something ​like a threshold to define minimal amount
available for spending without confirmation, but I don't see this thing
becoming widely used any time soon, and before that we will need to have
"confirm" button tap.


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.
>
Yes, this is a problem, I think bluetooth is offline on many devices, and
keeping it on all the time will harm security (if not real security, then
at least perceived by users) and also harm battery life, which will be seen
as huge problem by the users.
​Would be great to be ​able to control BT state automatically from within
the wallet app with user permission given once on installation time, but
not sure if it's possible in Android.



>
> ------------------------------------------------------------------------------
> Subversion Kills Productivity. Get off Subversion & Make the Move to
> Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works.
> Faster operations. Version large binaries.  Built-in WAN optimization and
> the
> freedom to use Git, Perforce or both. Make the move to Perforce.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140310/3d2ced81/attachment.html>


More information about the bitcoin-dev mailing list