Bitcoin Cheques and Bitcoin Banks are needed infrastructure to make Bitcoin as payment available to everybody
Introduction of the Bitcoin Cheque
Basically, a Bitcoin Cheque is a note promising that the issuer will pay a certain amount to the holder. The Bitcoin Cheque itself does not store any Bitcoins, but it can be understood as a contract confirming that the issuer will pay a certain amount to a receiver.
When a customer wants to purchase something for Bitcoins, he can pay with a Bitcoin Cheque. As soon as the merchant has validated the cheque, the content can be handed over to the customer. The validation can be done very fast and the merchant doesn’t need to wait for a number of Bitcoin confirmations.
The Bitcoin Cheque should be a standardized file, maybe JSON format. The Bitcoin Cheque is described in this Bitcoin Cheque Standard.
Introduction of Bitcoin Banks
Typically it will be a Bitcoin Banks that issue Bitcoin Cheques, but in theory, everybody can issue them. A Bitcoin Bank will be an independent third-party entity that safely can store your Bitcoins. The bank’s income may come from issuing fees and by selling other financial services.
In today’s world there already exist a lot of Bitcoin exchange businesses and some few that have introduced Bitcoin debit cards to the market. Maybe these will be the first one to offer Bitcoin Cheques, once there is a need for it in the market. As later will be discussed, Bitcoin Banks and Bitcoin Cheques will play an important role in the mass adoption of Bitcoins.
In order for a customer to pay with Bitcoin Cheque, he will first need to install a Banking App in his browser or cell phone. This Banking App will connect to the Bitcoin Bank and handle the payment processing at the customer side.
Bitcoin Cheque payment processing
A payment using a Bitcoin Cheque will involve three parties, the customer himself, the merchant selling something and a Bitcoin Bank.
By using a Bitcoin Bank during a purchase process, the customer will not pay a merchant directly from his own local installed Bitcoin wallet in his computer, but by using the Bitcoin Cheque. After the purchase has been confirmed and completed, the merchant will collect the payment hold by the cheque from the issuing Bitcoin Bank. This process will require some interactions between all three parties. The figure below illustrates the payment process and the communication between the parties.
A payment process will follow these steps:
- A customer visits a merchant’s webshop and wants to make a purchase. The customer’s web browser has a “Banking App plugin” installed which reads the price and payment information from the web shop’s page.
- When the customer clicks the payment link, the Banking App plugin starts the payment process. The plugin will send a request to the Bitcoin Bank telling him he wants to make a payment to the merchant.
- If the customer has enough Bitcoins in his bank account, the bank will respond with the Bitcoin Cheque holding the amount of money for the payment.
- The Banking App plugin then sends the Bitcoin Cheque to the merchant’s webshop to initiate the order.
- The merchant’s webshop receives the Bitcoin Cheque and verifies that it contains the correct value and the correct Bitcoin receive address. If everything is fine, it sends the cheque to the Bitcoin Bank to confirm the cheque and request the payment.
- The Bitcoin Bank confirms the cheque and responds with an ok message.
- The merchant can now trust that the bank will make the payment and can safely give the content to the customer.
- Later, if no complaints have arisen, the bank transfers the Bitcoins to the merchant. There is no need to wait for the Bitcoin transaction to be confirmed, this will enable the payment process to get completed in a few seconds.
The payment process here illustrated is described in detail in three standards.
Flexible payment methods
The payment sequence described above is not the only way to do it; the customer should, of course, be able to pay a merchant directly by doing a Bitcoin transaction the traditional way. The merchant’s web-shop may use the BIP-70 proposed Bitcoin Payment URL, and should also implement that payment method. This way a customer can choose to pay using the Bitcoin Cheque or use the standard way of Bitcoin payment.
A second way is to let the bank handle the payment process alone. After having been redirected to the bank’s web-page, the customer can choose to open an account or install a Banking App or make a Bitcoin payment from his bank account or make a Bitcoin payment by charging a credit card. Of course, if the customer is paying a lot of small amounts, credit card fees will add significantly. In this case, it will save him a lot of money to open a bank account and buy some Bitcoins that can be used as a buffer. The Bitcoin Cheque and its protocols are flexible and the bank can initiate a standard Bitcoin transaction or send the Bitcoin Cheque directly to the merchant.
A third way is to install an app that decides the preferred method of paying. For instance, the app can read the Bitcoin payment URL but forward this information to the bank that will take care of the payment.
An important aspect by using the Bitcoin Cheque is that all three involved parties have to trust each other, or can choose not to trust one of the other parts. All three parties must also agree with the terms of payments as specified in the Bitcoin Cheque. If one of the parts doesn’t like some of the terms, they must either renegotiate or there will be no trade. As all three parties have the ability to verify the cheque, this will make the system robust against cheque fraud.
Since the bank will be involved in a huge number of trades to different merchants, the banks will soon learn which merchant can be trusted, and which one is of more troublesome character. On the other side, a customer will be involved in a lesser number of trades and his experience will be limited by that number. The first time a user shall make a trade to a new unknown merchant, he can not know for sure if he can trust him or if the unknown merchant is a scam. Here the bank may come to help, since it may already have been involved in trade against that merchant. If the bank does not trust the merchant, the bank can refuse to issue the cheque.
Merchants have to decide which cheque issuers they can trust too. Since the money promised by the Bitcoin Cheque will be collected sometime after the trade, the merchant must know for sure that the issuing bank will pay. If the merchant does not trust the bank, he can refuse to accept the cheque. If so happens, the customer must either pay directly with Bitcoins or find another bank.
And lastly, the customer has to trust the Bitcoin Bank where he will store his Bitcoin savings.
Support for non-Bitcoin users
If the customer does not have any Banking App or Bitcoin Wallet App installed, he will automatically be redirected to a recommended bank. This happens when a customer clicks a Bitcoin Payment URL but has no Banking App or Bitcoin Wallet to use for payment. The purpose of this redirect is to offer the customer a simple way to register for a bank account and help him buy some Bitcoins and download the Banking App.
This automatic redirect will be made possible by the use of browser HTTP headers as described in Payment App Browser HTTP Header Standard.
It will be the merchant that decides what bank a customer will be redirected to. The merchant will off course have incentives to chose a bank that already trusts the merchant, and which probably also will be trusted by the customers. The actual bank chosen can depend on the customer’s location. The customer is likely to have more trust in a local bank, than an unknown bank in another country.
Maybe it would be more appropriate to redirect to a list of possible banks the customer can choose from? This may actually lead to the creation of third-party services, whose goal is to certify the good banks.
Today, Bitcoin itself has no money-back guarantee. Once the Bitcoin is set in transfer, there is no way to hold it back. The Money-back guarantee is a feature that the Bitcoin Cheque can offer. This is archived by setting a “payment date/time” on the cheque to some time after it has been issued. This way the bank will hold back the money for some time after the content has been delivered to the customer. If the customer does not receive the content or the goods or is not satisfied, he can ask the bank to hold transfer further until the disagreement has been resolved.
This feature will increase the safety of using Bitcoins.