Bitcoin Forum
May 06, 2024, 01:01:04 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transactions when only one party is online  (Read 1366 times)
Traktion (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
April 21, 2012, 08:48:43 PM
 #1

I was pondering how transactions could be made in areas where mobile data connectivity is poor. Specifically, how shops could allow payments in such situations.

As a shop can quite easily get a land line based broadband connection, they should be able to interact with the bitcoin network. However, the shopper may not have Internet access for various reasons (and may not want to set up wifi/bluetooth etc). That got me wondering whether there was a way to perform a transaction with only the receiver being online.

If this has already been done or discussed, apologies for bringing it up again. I tried searching the forum and google, but couldn't find what I was looking for.

My idea was using temporary deterministic wallets for such transactions. You could create a number of wallets with a fixed denomination of bitcoins in them. You could then show the PR code to the cashier and they could scan the code to re-create the deterministic wallet. The cashier's till software could then transfer the money out to another account, to ensure that the shopper couldn't attempt to double spend.

If change was needed, the shop could still send money to the shoppers receiving PR code, even if the shopper couldn't confirm them. They could give you a receipt and the transaction details in case there was a problem. If the money failed to reach the account, the block chain could be examined with the details in the receipt. Obviously, the shop isn't going to want to get a bad reputation for not giving change.

Is the above possible and would it be easy to implement? Also, are there other alternatives which can be completed in similar circumstances?
1715000464
Hero Member
*
Offline Offline

Posts: 1715000464

View Profile Personal Message (Offline)

Ignore
1715000464
Reply with quote  #2

1715000464
Report to moderator
1715000464
Hero Member
*
Offline Offline

Posts: 1715000464

View Profile Personal Message (Offline)

Ignore
1715000464
Reply with quote  #2

1715000464
Report to moderator
1715000464
Hero Member
*
Offline Offline

Posts: 1715000464

View Profile Personal Message (Offline)

Ignore
1715000464
Reply with quote  #2

1715000464
Report to moderator
In order to achieve higher forum ranks, you need both activity points and merit points.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
April 21, 2012, 10:02:08 PM
Last edit: April 22, 2012, 09:32:37 PM by Stephen Gornick
 #2

It is getting there -- at least one wallet now already accommodates the ability to create a transaction for spending, regardless of connectivity. (And spends properly, where the change transaction goes right back to the same wallet.)

If you are using My Wallet from Blockchain.info, then you can create a spend transaction offline.  Then if the other side has connectivity, takes that transaction and broadcasts it to the bitcoin network:
 - https://bitcointalk.org/index.php?topic=40264.msg851062#msg851062

Broadcast:
 - https://www.blockchain.info/pushtx

My Wallet from BlockChain.info
 - http://BlockChain.info/wallet

Additionally, because there is so little data traffic necessary, even a weak mobile phone signal that is incapable of carrying voice (e.g., bottom level of the concrete jungle shopping mall) might still provide more than enough bandwidth for a quick transaction.

Bitcoin won't be the only mobile payment system that will be hobbled if either the merchant or the customer won't have reliable connectivity.  As well-funded payment systems from Square, PayPal and Google need the ability for their retail partner's customers to be able to always transact then solutions to make sure connectivity is pervasive and reliable will be found.  Areas with a weak mobile signal where retail commerce occurs will get attention from the mobile carriers.  Alternatively, if the merchant has internet connectivity that could be shared to the customer for use in payments in a manner that is inexpensive and trivially easy for the merchant to provide.

Another method, if you trust the merchant, is a paper wallet approach. Like this:
 - http://bitcointalk.org/index.php?topic=74978.msg831067#msg831067

And related to this topic is an approach augmented with hardware, here:
 - http://bitcointalk.org/index.php?topic=77141.0

and here:
 - http://bitcointalk.org/index.php?topic=7539.msg798591#msg798591
 - http://en.bitcoin.it/wiki/In-store_Transactions#Smart_cards

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


Traktion (OP)
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
April 22, 2012, 08:03:11 PM
 #3

Thanks Stephen - that was a brilliantly detailed reply.

I read all of the threads and I'm even more convinced that Bitcoin is going to succeed than I was before. It feels like the holes and being plugged and the Bitcoin ecosystem is maturing nicely and at a good speed. It's all rather impressive!
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1129


View Profile
April 23, 2012, 09:17:45 AM
 #4

Bitcoin Wallet from Andreas can also send transactions directly via NFC.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
April 23, 2012, 09:54:38 AM
 #5

It might be useful to have a standardized file format for offline BTC transactions...

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
Hawkix
Hero Member
*****
Offline Offline

Activity: 531
Merit: 505



View Profile WWW
April 23, 2012, 01:08:08 PM
 #6

Maybe, the phone mobile application can show the generated offline transaction as QR code on the display. The merchant cash register display (think iPad showing price and having a front facing camera) will read and decode the QR code and "run" the transaction.

Donations: 1Hawkix7GHym6SM98ii5vSHHShA3FUgpV6
http://btcportal.net/ - All about Bitcoin - coming soon!
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
April 24, 2012, 05:38:03 AM
 #7

It might be useful to have a standardized file format for offline BTC transactions...

At least one has been proposed.  See BIP 10.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502



View Profile
April 25, 2012, 10:49:08 AM
 #8

Sounds like a huge incentive for shopkeepers to run WiFi nodes on site.

I've also had an idea for a long time for a discovery protocol for bitcoin nodes.  That would allow mobiles to broadcast a discover message and find the shopkeeper-run node which will have every incentive to forward the transaction paying the shopkeeper to the rest of the network on behalf of the customer.

It even gives the shopkeeper a certain degree of double spend protection, since that relies on simultaneous release of the double spend transactions.  He can defend against that by (counter-intuitively) holding on to the transaction for a random amount of time; during that time he can watch for a double spend being received and reject the transaction the customer just gave him as fake.  Propagation time is what, two to five seconds?  Shopkeeper waits ten plus or minus five seconds to stop double spends. (at least partially; I suppose the double spender could have isolated the shopkeeper and have wide network connection)

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
Hawkix
Hero Member
*****
Offline Offline

Activity: 531
Merit: 505



View Profile WWW
April 25, 2012, 11:49:27 AM
 #9

With using QR code, there is no need to quirky setup Wifi nodes in the shop. The merchant will issue "payment request" QR code, you mobile phone (offline) will scan it and launch your offline wallet. You will perhaps login with PIN to your wallet and confirm the payment. The mobile phone will prepare QR code with offline transaction and you will show it up against merchants tablet with camera. The merchants software will decode the transaction and quickly verify on the network that it is not a double spend, send the transaction alive and again check for doublespends. After few seconds, the transaction is complete and you can left the shop with the goods.

Donations: 1Hawkix7GHym6SM98ii5vSHHShA3FUgpV6
http://btcportal.net/ - All about Bitcoin - coming soon!
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502



View Profile
April 25, 2012, 03:32:53 PM
 #10

With using QR code, there is no need to quirky setup Wifi nodes in the shop.

You've used QR-Camera as the communication channel; I was suggesting WiFi as that channel.  Doesn't change the central idea though -- the shopkeeper proxies for the customer; so I'm fine either way.

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
Hawkix
Hero Member
*****
Offline Offline

Activity: 531
Merit: 505



View Profile WWW
April 25, 2012, 04:47:04 PM
 #11

Yes, but with QR-Camera transfer media I feel a lot more safe than with some WiFi, at least for transferring the payment address and amount. Imagine phishing attacks made by faking the merchant's WiFi hotspot and announcing your own payment address instead of that of merchant.

Donations: 1Hawkix7GHym6SM98ii5vSHHShA3FUgpV6
http://btcportal.net/ - All about Bitcoin - coming soon!
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504
Merit: 502



View Profile
April 25, 2012, 11:00:25 PM
 #12

Yes, but with QR-Camera transfer media I feel a lot more safe than with some WiFi, at least for transferring the payment address and amount. Imagine phishing attacks made by faking the merchant's WiFi hotspot and announcing your own payment address instead of that of merchant.

Ah... got what you mean now.  I was still assuming that the merchant issued the payment request via QR code on screen.  The app would then ping for any bitcoin node that's listening to forward the transaction.  The idea being that we're never going to be able to persuade customers that a payment requires them to scan the merchant and then the merchant to scan them.

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!