Bitcoin Forum
November 12, 2024, 05:34:40 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Point of Sale Technical Issues  (Read 2392 times)
Bruce Wagner (OP)
Sr. Member
****
Offline Offline

Activity: 336
Merit: 252


View Profile
December 15, 2010, 04:50:28 AM
 #1

We're contemplating a point of sale solution for bitcoin.

The issue we're concerned about is transaction processing time.   

If a bitcoin app was running on a smartphone,  how long would the transaction typically take to post  to a coffee shop's bitcoin application?

Obviously, we cannot wait an hour for the transaction to post in order to get our cafe latte.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
December 15, 2010, 05:07:15 AM
 #2

Less than 10 seconds if an appropriate fee is paid. No confirmations are necessary for a small sale like that.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1010



View Profile
December 15, 2010, 05:13:36 AM
 #3

We're contemplating a point of sale solution for bitcoin.

The issue we're concerned about is transaction processing time.   

If a bitcoin app was running on a smartphone,  how long would the transaction typically take to post  to a coffee shop's bitcoin application?

Obviously, we cannot wait an hour for the transaction to post in order to get our cafe latte.


Just the transaction, would take only a few seconds to wrap the planet via the bitcoin network, (this would take longer in the future with many more nodes than exist today) but if there was an open hotspot in the store (perhaps with all outgoing ports blocked except bitcoin's own) and a running bitcoind locally, it would take longer for the customer to remove his finger from the 'send' button than it would take the store's client to receive & verify the transaction.  From a human perspective, this would be an instant; faster than the quickest credit card authorization.  This kind of check only verifies that the customer owned those recently, but does not check for a double spend attempt.  At the retail level for anything less than $20 in value, the risks and difficulties of a double spend would likely be high enough that there wouldn't be a reason to worry about a double spend attempt.  At any level that would require a credit check under normal circumstances, such as buying a car, would justify a couple of block verifications.

Just checking the transaction without waiting for a block would likely be a lower risk for the retailer than accepting personal checks with an ID.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1080


View Profile
December 15, 2010, 05:19:44 AM
 #4

Although I think bitcoin is the best currency ever invented, in my opinion it is NOT the best method of paiement.  It is not the fastest, and there are limitations on the number of transactions per unit of time.

What I mean is that for many small daily purchases, the conventional bank account system is probably a better solution.  We have talked about it many times on this forum.  Personnaly I think using David Chaum's digital cash would be a very good solution for most daily purchases.

So, in order to buy a coffee in your shop, you first get an bitcoin account in this shop.  And you fund this account on regular basis.  Once a month, for instance.

MoonShadow
Legendary
*
Offline Offline

Activity: 1708
Merit: 1010



View Profile
December 15, 2010, 05:32:40 AM
 #5


So, in order to buy a coffee in your shop, you first get an bitcoin account in this shop.  And you fund this account on regular basis.  Once a month, for instance.


So a debit account, at a coffee shop?  That's not a faster solution.  It would be easier, an faster, if the retailer was willing to accept the small risk of a double spend attempt and just accept valid transactions on faith.  It would be less risky than accepting personal checks, as well as generally faster.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1100


View Profile
December 15, 2010, 05:42:14 AM
 #6

See the snack machine thread.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
caveden
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



View Profile
December 15, 2010, 10:46:17 AM
 #7

We are all thinking about people keeping their coins on their own devices, but people may use web services too.
If both customer and retailer use MyBitcoin for ex., transaction confirmation could be instantaneous. In the future probably there will be many sites like mybitcoin, and they will have ways to integrate their transfers. Mostly like the banking system, "only" without the central bank. Wink
genjix
Legendary
*
Offline Offline

Activity: 1232
Merit: 1076


View Profile
December 15, 2010, 11:56:46 AM
 #8

You exchange currency or vouchers for BTC which you spend freely at the shops.

Some trader agrees to redeem these vouchers.

/thread
sarah331
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 17, 2010, 09:05:31 PM
 #9


[/quote]

So a debit account, at a coffee shop?  That's not a faster solution.  It would be easier, an faster, if the retailer was willing to accept the small risk of a double spend attempt and just accept valid transactions on faith.  It would be less risky than accepting personal checks, as well as generally faster.
[/quote]

When would a retailer ever accept a transaction on faith?  We live in a business world where everyone lives to help themselves.  I still think the debit account would be one of the fastest ways.  But I agree that personal checks would take a lot longer and be a lot more risky. 
bencoder
Member
**
Offline Offline

Activity: 90
Merit: 10


View Profile
December 17, 2010, 09:15:18 PM
 #10


When would a retailer ever accept a transaction on faith?  We live in a business world where everyone lives to help themselves.  I still think the debit account would be one of the fastest ways.  But I agree that personal checks would take a lot longer and be a lot more risky.  

Retailers accept a transaction on faith every time they accept a credit card. Or even cheques which were still used up to a few years ago.
FatherMcGruder
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250



View Profile WWW
December 17, 2010, 09:18:15 PM
 #11

When would a retailer ever accept a transaction on faith?
Whenever a customer hands them anything smaller than a Benjamin.

Use my Trade Hill referral code: TH-R11519

Check out bitcoinity.org and Ripple.

Shameless display of my bitcoin address:
1Hio4bqPUZnhr2SWi4WgsnVU1ph3EkusvH
baloney
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 17, 2010, 11:21:16 PM
 #12

We are all thinking about people keeping their coins on their own devices, but people may use web services too.
If both customer and retailer use MyBitcoin for ex., transaction confirmation could be instantaneous. In the future probably there will be many sites like mybitcoin, and they will have ways to integrate their transfers. Mostly like the banking system, "only" without the central bank. Wink

It seems more likely to me that there will only be one site like mybitcoin. Though not necessarily mybitcoin. Like how there's only one paypal, wikipedia, facebook or google. Little sites shake out until only the most popular one is left.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1016


Strength in numbers


View Profile WWW
December 18, 2010, 02:21:58 AM
 #13

We are all thinking about people keeping their coins on their own devices, but people may use web services too.
If both customer and retailer use MyBitcoin for ex., transaction confirmation could be instantaneous. In the future probably there will be many sites like mybitcoin, and they will have ways to integrate their transfers. Mostly like the banking system, "only" without the central bank. Wink

It seems more likely to me that there will only be one site like mybitcoin. Though not necessarily mybitcoin. Like how there's only one paypal, wikipedia, facebook or google. Little sites shake out until only the most popular one is left.

Visa, MC, AMEX?

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
baloney
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 18, 2010, 07:56:33 AM
 #14

We are all thinking about people keeping their coins on their own devices, but people may use web services too.
If both customer and retailer use MyBitcoin for ex., transaction confirmation could be instantaneous. In the future probably there will be many sites like mybitcoin, and they will have ways to integrate their transfers. Mostly like the banking system, "only" without the central bank. Wink

It seems more likely to me that there will only be one site like mybitcoin. Though not necessarily mybitcoin. Like how there's only one paypal, wikipedia, facebook or google. Little sites shake out until only the most popular one is left.

Visa, MC, AMEX?

As a merchant I accept MC and Visa because they're bundled together at the gateway and there's no reason not to accept one or the other since they're identical (AMEX btw can go screw). You don't usually get a situation like that from emerging net technology.

Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1134


View Profile
December 18, 2010, 12:12:22 PM
 #15

Agreed with the first posters, transaction time should be basically instant by the time we care about coffee shops.

Consider that the internet routing system is a much larger P2P network than BitCoin. Routing changes propagate generally in less than 60 seconds to every router in the world. I don't see any reason the BitCoin network needs to be larger than the backbone network given that each node can aggregate the CPU/GPU power of many machines. With the coming of LTE networks, and a slightly smarter P2P network in BitCoin that lets you quickly discover nearby nodes, latency could be measured in the hundreds of milliseconds range for unconfirmed transactions.

For the case where we need instant transactions without any risk of double spend, something can probably be done with the script system. Imagine a system like the London transport networks Oyster cards. In theory systematic double spending might become an issue if lots of people teamed up and realized that they could have a sliding window of coins that their phones could double spend. In other words, they would form a pot with a few thousand people in, and each persons phone would say "from timestamp X to Y I will spend coin C" so you could get the same coin spent by different people within seconds of each other.

OK, so how to solve this? Your BitCoin client could broadcast a set transactions in which the script sends 0.25 coins to the transport network address each time, but the script also requires a password (256 bits of random data) for the output to be claimed. Do this once a week or so to "top up". Once these transactions are confirmed they cannot be reversed nor can their target be changed. Only the time of spending is controlled by the user.

The transport network computers can index all such pending transactions with >1 confirmation and when you touch your phone to the barriers, your phone dispenses a password. The transport network can instantly confirm that yes, in fact you have sent them this money, the password is correct and the transaction cannot be reversed. They can then mark that transaction as used in their own databases where the latency is entirely under their control. This solves the group double spend attack.

Of course this requires that the money effectively be spent ahead of time ... it's kind of like buying tickets in advance. We can generalize that idea to have a coalition of target companies like small indie coffee shops where you don't necessarily want to buy in advance, then the coffee shop effectively relies on the coalitions systems to be trusted and reliably check off the transactions with low latency. That introduces a bit of centralization but there would be a free market of such coalitions, so it's not too bad.
RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 18, 2010, 10:54:04 PM
 #16

I think the main thing with a POS system is that you want to ensure that somebody isn't double-spending the bitcoins.  This is something more akin to a person writing a personal check and then waiting to get that check cleared.

Rather than getting all fancy about this, what you need to have here is a way to "listen" to all of the current transactions that are floating around the Bitcoin network.  transaction messages are shared between nodes, primarily for the purpose of getting them included into the next block.  If you end up having a person trying to double-spend a bitcoin, it can be caught quite quickly and usually before it gets put into a block.

Normally Bitcoin doesn't provide this level of protection in terms of the client interface currently being used, but a POS system would need to be a bit more robust in that sense and do much more indexing of current transactions being processed.  I could even see somebody specializing in doing just that for merchants, as a fee-based service, where the merchant could make a query to ensure that the coins aren't being double spent.  Run the transaction through the verification service to make sure that nobody is currently trying to double spend those coins, and perhaps even offer "insurance" to the merchant in case the service misses a double-spend.  This kind of service is something I could see being offered by a local chamber of commerce to its members as a "membership benefit" too, as it wouldn't be too difficult to set up and could be written as an open source app on top of Bitcoin as well.

An efficient and well-connected service could respond in under 10 seconds for verification even if the server is under heavy load and certainly meet the needs of a merchant in a convenience store or coffee shop.  Nothing new needs to be added to the protocol itself, at least for most of the Bitcoin network.  I think 10 seconds would be tolerable for most POS transactions, and you could also set up "blacklists" of known abusers if it became a serious problem for this situation.

I would imagine that for a POS store you would also insist upon including a fee for such transactions.  That not only gets the transactions put as a higher priority on the network for inclusion (something a merchant really would want!) but also stops much of the funny transactions too.  The real scamers would be trying to do simultaneous spends on a broad scale, but their window of opportunity would be so narrow that they would be quickly caught before getting away with too many purchases.  Ordinary people simply being absent minded and trying to double spend (like somebody writing a check to overdraft their "account") would not happen and would be easily caught with this system.

A "real scammer" would be a whole group of people who are simultaneously trying to "spend" the same wallet at many places simultaneously.  They would also have to coordinate their purchases with clockwork precision as they would have at most about 10 minutes and likely much less to make all of those purchases before they would be caught.  Furthermore, such an attempt could also be identified for what it is, and could potentially even be prosecuted as fraud if you wanted to go that route.  It wouldn't be much consolation for the fact that the scammer wouldn't be getting much anyway.

If you are a merchant trying to make a larger purchase like paying for a refrigerator or even an automobile, I think expecting the transaction to be verified by a couple of blocks before considering the transaction complete would be reasonable.

I should note that this "system" would be by far and away much more secure and reliable than credit card transactions and a heck of a lot cheaper, even if there was some fraud from time to time.  The fraud would also be much, much less than currently happens with checks and credit cards too.  There are some bright people who will try to scam this system so I don't think you can completely eliminate such scamming but you can keep it in check and make it very difficult where only the most organized criminals could take advantage of the situation.  For the reward of the price of a latte, I think even organized crime would not find it all that profitable to try to scam this system, at least in that manner.  The only reason some fraud would exist is strictly for the convenience factor of trying to process the transactions faster.
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!