There are many misunderstandings about bitcoin transactions, and we’ll explain the facts here. First, there are two components, the transaction and then the confirmation. Transactions themselves are nearly instant, often less than a second to reach the majority of the bitcoin network. Once a transaction is in the bitcoin network with fees (and usually without) it is nearly guaranteed to confirm. This is analogous to swiping your credit card at the store, it is nearly instant to swipe the card, maybe 10-15 seconds. The confirmation is the second part and a bitcoin confirmation can take anywhere from a few seconds to 20-30 minutes, which is significantly faster than the several month period credit card chargebacks or ACH reversals can occur or the several day period wire transfers take to confirm. In short, people who say “bitcoin transaction times are too long” are either uninformed or have an agenda. Consequently, zero-confirmation transactions are safe for most day-to-day purchases, or large purchases multiple confirmations should be obtained.
More detail: For smaller purchases, no confirmation is really necessary as long as the transaction is in the network. Bitcoin transactions are essentially instant, while confirmations take some time, usually about 10 minutes. For most transactions as long as the transaction is in the network, it is sufficient. For example, a point-of-sale terminal can watch for a few seconds to see if a “double-spend” is detected and if none is, the odds of theft is extremely low. Likewise, the point-of-sale terminal ensure transaction has appropriate fees so that the transaction will confirm.
In short, zero-confirmation transactions are suitable for most day-to-day purchases as long as they don’t rely on other unconfirmed transactions. Buying a car or a house with one or sending millions of US dollars or Euros, are a different category where waiting for more confirmations would be normal and recommended. Plus, many Starbucks have cameras and if you try to steal from them, they’ll involve the police just as if you tried it with a credit card.
Think about this – a credit card transaction can take as long as 180 days to be “confirmed” and you can buy a cup of coffee with it. With bitcoin if someone attempted a “double-spend” there are warnings and no one will attempt a “double-spend” for a cup of coffee, since the cost would be millions of times higher than the reward. People deal with counterfeit paper money and people walking out on a restaurant tab all the time, bitcoin is much more secure.
Remember, bitcoin confirmations can take anywhere from a few seconds to an hour – and alt-coins do not offer an added benefit here. Consider litecoin transactions that find blocks “4 times faster.” You would need four times the number of blocks (plus a lot more network hashing power) to offer the same certainty of confirmations. The transaction speed is identical, the confirmation speed seems to be faster, but in reality is not for the same security. Don’t read this wrong, alt-coins are fine, and useful, but a faster block time does not gain anything for confirmation security.
A few things to remember: transactions without fees take longer to confirm than transactions with fees. Most miners (transaction processors) include some free transactions, but give priority to paying transactions. Bitcoin’s recommended fee is currently 0.1 mBTC (~$0.04 – this varies of course) for most transactions. While not free it is pretty much cheaper than any other payment system.
Alternative payment method costs:
Credit Cards: $0.30 + 2% to 3%
Check processing (business): $0.50 each
PayPal: $0.30 + 3%
ACH: $0.25 to $0.50
Bank Wire: $10 to $30
International Bank Wire: $25 to $70
So, where does that leave us? The people worrying about “10 minute confirmation times” at Starbucks are either uninformed or spreading nonsense, so you are perfectly safe for small transactions accepting a zero-confirmation transaction, just as you would take cash under the presumption it is not counterfeit. Or how you would serve someone a dinner in a restaurant prior to them paying.
For the really technically minded among you, you can to try it yourself, as an experiment:
http://brainwallet.org/#tx allows you to create transactions without broadcasting them onto the bitcoin network. Send a single fraction of a coin to a new address you control. Use http://brainwallet.org/#tx and this new address to create two transactions: one to address A and one to address B. (Make absolutely sure you control both address A and address B). Go to https://blockchain.info/pushtx and broadcast the transaction to address A. Wait until this transaction is picked up by the network (should be really fast). Now, wait the amount of time it takes to leave the store with your coffee and then broadcast (double spend) the second transaction to address B. You’ll see that it won’t go through because the network already has the first transaction.