Cryptocurrencies are becoming more popular every day. In the near future we should be able to use Bitcoin, Ether, ZCash, Monero, Dash, etc to pay for lunch.
As a customer who would like to use cryptocurrency as a method of payment (medium of exchange), I would expect following things to happen:
- Payment should be secure, and my remaining coins will be stolen now or later.
- I should not care that I pay with concrete cryptocurrency. It also includes that I should not care that my coffee for EUR 1.5 could cost me 3 because of the currency volatility.
- Payment should be instantaneous. I could wait couple of seconds, not more.
- Payment should be private. Which leads you to question if your phone is tracking your location, video cameras are tracking what you do, what is the point that my transaction was private? It could be just matched by comparing when I did my payment on the camera with concrete transaction timestamp. Maybe we should hide also timestamp of each transaction?
- Transaction cost should not matter for you. It could be neglected due to its small amount, or just carried to the receiver.
Payment is secure as soon as receivers address is copied correctly or scanned from the correct QR code, and proper amount is set. Remaining coins simply can not be moved, even if public address is known to everybody, and could be transferred if sender is in possession of address private key.
I should not care that I pay with concrete cryptocurrency point could be resolved by using mobile app – wallet, allowing multiple currencies, which easily carried everywhere, as it resides on your phone. Possible solution could be Jaxx, and its not the only solution.
Now, lets think about payment should be instantaneous. In cryptocurrency world transaction speed is correlated with the transaction safety, and to be precise how sure receiver is that coins are moved properly. Technically speaking, transaction should be stored on the blockchain and confirmed by majority of the nodes. In case of Bitcoin, confirmation will take around 10 minutes, for payment with Ether – 12 seconds.
Payment should be private. If you would like to pay with Bitcoin, then you will ask for a Bitcoin address from the shop (or scan QR code), and will make a payment. This transaction will be stored on the blockchain, with publicly available transaction information, such as amount, sender and receiver addresses. For you, as a sender, you could just take this address and check all transactions which involved this shop address, because blockchain stores all the transactions for every address forever. It might not be convenient for a store, as its clearly exposes sensitive business information. Its not also convenient for a sender, because its balance will be known to a receiver.
There are already currency such as ZCash and Monero which address issues of currency fungibility and privacy much better than Bitcoin or Ether.
Transaction cost should not matter for you. As of now, in case of Bitcoin, at the moment average transaction fee is about 3$. Fees are raising for other coins as well, its almost 1$ for Ether. The lowest transaction fee at the moment are in Litecoin, due to recently activated SegWit.
As an alternative, transaction costs could be carried by the receiver (think – credit card system today). In this case to make payment still profitable for the seller, transaction fees should be negligible, otherwise its hard to imagine that customer would be fine to pay premium only for the fact that payment is done using Bitcoin or other crypto.
How far are we now to address all the issues mentioned above?
A lot of work to do.