I'm in a restaurant where they serve me my meal without waiting for the blockchain confirmation. Technically speaking I can cancel my transaction before the confirmation according to this

So what stops me from doing the same thing with bigger, riskier transactions?


So what stops me from doing the same thing with bigger, riskier transactions?

Because anyone accepting a bigger, riskier transaction should know enough to wait for at least a single confirmation.

Restaurants and stores all know that they will be subjected to a certain amount of theft and fraud, but since the amounts are so small, it's mitigated by their business volume. Preventing easily-fraudable transactions from getting too high is the reason credit cards and debit cards have limits.

If you were to buy a house, however, you'll notice that the means of payment is a much slower and complex process than it is to buy a sandwich. You don't just swipe a card at the realtor's office and walk out with the keys to a house.

Bitcoin isn't much different. A zero-confirmation transaction is enough for a barista to hand you a cup of coffee, but not enough for someone to let you drive off with a new car. For that, they would make you wait for at least one confirmation (about 10 minutes with a proper fee) or for 6 confirmations (60 minutes with a proper fee). I should point out that this is still much faster than traditional financing in these situations.

Once even a single confirmation has occurred, it will now cost you a non-negligible amount of money in hashing power to reverse the transaction. Every new confirmation compounds that amount. In other words, unless the transaction is extremely large (think government budget sized), you would be losing money by attempting the fraud...and it wouldn't even be guaranteed to work.

In short, your own incentives prevent you from attempting fraud.

| improve this answer | |
  • thanks for the answer, could you please elaborate more on "it will now cost you a non-negligible amount of money in hashing power to reverse the transaction" with some numbers and examples? – AK_ Dec 22 '17 at 19:58
  • To reverse a transaction that already has been confirmed once, you need to build a valid block on top of the previous block, and then find a second on top of that one. You will need to do this faster than the rest of the network can find a single block. That means you will have to control a very large amount of hashing power, that could otherwise be used to mine legitimately. Your fraud would have to make you a lot of money in order for you to want to miss out on mining. – Jestin Dec 22 '17 at 20:52

Nothing stops it. Thus, for bigger transactions, it would be wise for the recipient to wait for confirmation before delivering any goods.

In this case, the restaurant has made the business decision that it is worth the risk to serve you your meal before the transaction confirms, even though it could later be double-spent. They apparently think that in the long run, any such losses would be exceeded by the extra business from allowing customers to pay with Bitcoin and receive their food immediately.

If they were selling something bigger like computers, cars, or houses, they would probably decide that it was not worth the risk, and that customers would be more willing to wait to receive their goods.

| improve this answer | |

There's nothing stopping you, you would just be paying higher fees and the restaurant would receive the same amount. Therefore, there's no point of doing it unless the transaction is stuck in the mempool.

The restaurant needs to wait for atleast 6 confirmations to make the transaction almost statistically permanent. If it does not wait that long, it is possible, but not easy, that the transaction can be reverted. This is why you should always wait 6 confirmations.

| improve this answer | |
  • The linked question talks about double-spending. By doing this, you certainly can prevent the restaurant from receiving the money and instead keep it for yourself. – Nate Eldredge Dec 22 '17 at 19:41
  • I've extended my answer – Cedric Martens Dec 22 '17 at 19:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.