Hello all Bitcoin enthusiasts!
I would like to discuss some ideas that could make Bitcoin purchases on Internet much easier and help the adaption of Bitcoin to the rest of world population too. As I see it today, the world lacks a good solutions for selling low-cost content on the Internet. This is where Bitcoin actually can play a role, as a currency that enables micro-payments with low fee.
In order to make mass adoption of Bitcoins possible, I would like to introduce some new concepts I have called Bitcoin Bank, Bitcoin Cheque and Bitcoin Cheque Protocol. These system will allow governments to permit ordinary businesses to trade with Bitcoins and make incentives for the commercial banks to start offering Bitcoin services.
A problem to solveUnfortunately, I think it is still too cumbersome for non-technical user to buy anything with Bitcoins. For a first-time user, he will first have to purchase some coins, which in fact is prohibitively difficult. Next, at the actual site, the user must copy the send to address, enter the amount, and click send, click “payment made” or something similar in the site itself. Even the BIP-70 will make the payment process a bit easier, there are still very few reasons for people to actually want to starts using Bitcoins.
Most newspapers has moved some of its business to Internet. And most of them are trying to make money in the old fashion, by selling ads and subscriptions. The ads require huge number of page views in order to earn enough to pay for the article. It is very limited how much an ad click is worth, and this will make the newspaper produce cheap and low-quality content read by the masses. Expensive and high-quality articles, maybe only of interest for a smaller group, will never be profitable by ads alone. Such articles seems to be something only written by bloggers, willing to work for next to nothing.
In order to make high quality content profitable, the reader has to contribute with some payments. The newspapers way to collect this payment is to sell expensive subscriptions. The subscriptions may not be that expensive, compared to tons of articles he gets for the price. For a daily reader, this may be an acceptable solution. However, most readers do not read all articles and most readers reads several newspapers. Subscribing to all of them would be too expensive. In fact, in the era of googling around searching for information, it may only be of interest to read one single article. Purchasing an expensive 3-month subscription to read a single page is not an economical option for most of us.
A better alternative is to offer single page-views and only require the reader to pay for what he actually reads. The price for a single page would be much lesser compared to a subscription of all pages. As a reader, I would not be reluctant to pay, let us say 10 cent for an article. In most cases, this will be more than what the newspapers earns by showing ads to me. For high-quality content, which I am eager to read, I could be willing to pay even a dollar or more, if the article gives me value in return.
However, here starts the obstacles; there is no good solutions to make this happen. Since credit/debit card fees makes a significant amount when making small purchases, such purchases simply is too expensive. Another barrier to make it happen is all the credit card information I would have to type inn each time I reach a new site. It’s just too much work, so I will just give up and google another site.
The ideal solutionThe world needs a super simple payment solution for micro-payment to purchase Internet content.
- When a reader visits a newspaper, or want to buy some other content, the user must only be required to do only one click in order to fulfill the payment and instantaneously get the page or the content!
- First time a user makes a Bitcoin purchase, he may be willing to install a Bitcoin wallet and purchase some Bitcoins. This process has to be super simple too!
- It must also be super easy for merchants that want to sell the web content. They must have access to plugins/modules that easily can be install into their Web Shop and then the system will take care of the rest.
Obviously we need to rethink how a user should experience Bitcoin.
RequirementsIn order to create this ideal solution, several requirements must be met and other obstacles around Bitcoins must be addressed. Here is the list:
1) First, we need browser plugins that includes Bitcoin wallet and functionalities to handle the one-click payment.
2) We need CMS plugins/modules that supports one-click Bitcoin payment for the most popular systems like WordPress, Joomla, Drupal etc.
3) The payment process must be fast, max 3 seconds. Today Bitcoin has a problem in that the confirmation of the payment my take up to 10 minutes.
4) Money laundering problems must be addressed, otherwise government will ban it. This may require the purchaser’s identity is somehow registered to the transaction.
5) The system must provide anonymity and privacy. It must be possible for people and businesses to do trade using Bitcoins without the rest of world to know.
6) The system must provide adequate safety from losing Bitcoins due to hacking, robbery, human errors, computer crashes, scams etc. This safety must be available for all people without needing to be an expert.
There have also been some other concerns regarding Bitcoins, which I consider not to be problems needed to be addressed. Some people says that Bitcoin has an intrinsic problem in being deflationary and that money supply of Bitcoins cannot be controlled by a central-bank in order to provide a stable currency supply. I don’t consider this as a problem, but rather as a good properties of a currency. I think most Bitcoin enthusiasts and other gold-backed currency believer agree with me in this. It has indeed been high volatile in the Bitcoin price, but this is due to the fact that Bitcoin is a new currency with relative few users. As user base grow, this will add stability.
Bitcoins may have a problem in that small amounts from time to time will get lost due to loss of private keys, computer crashes, people trashing wallets containing small amounts of remainders. This may have some unforeseen consequences. The system should help prevent that from happening.
Introduction of the Bitcoin BankThe listed requirements and obstacles can be meet by the introduction of “trusted Bitcoin banks”. A trusted Bitcoin bank will be an independent third-party that safely can store your Bitcoins. Additional, it will play an important role as a payment gateway by issuing “Bitcoin Cheques”.
By using a Bitcoin Bank during a purchase process, the Customer will not pay a Merchant directly from its own local Bitcoin wallet located 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 Customer, Merchant and the Bitcoin Bank. See the figure below.
https://i.imgur.com/PCM9nwU.png A payment process will follow these steps:
1 ) A customer visits a merchant’s web shop 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.
2 ) 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 he want to make a payment to the merchant.
3 ) If the customer has enough Bitcoins in his bank wallet, the bank will respond with the Bitcoin Cheque holding the amount of money for the payment.
4 ) The Banking App plugin then sends the Bitcoin Cheque to the merchant’s web shop to initiate the order.
5 ) The merchant’s web shop 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.
6 ) The Bitcoin Bank confirms the cheque and response with an ok message.
7 ) The merchant can now trust that the bank will make the payment and can safely give the content to the customer.
8 ) Later, if no complaints has arisen, the bank transferee the Bitcoins to the merchant. There is no need to wait for Bitcoin transaction to be confirmed, this enables the payment process to get completed in a few seconds.
A Bitcoin Bank is a business that will offer these payment services by issuing Bitcoin Cheques and provide Bitcoins exchange. The income may be from charging a fee for the service.
In today’s world there already exists a lot of Bitcoin exchange businesses and some few that have introduced Bitcoin debit cards to the market. I think it is assumable that these will be the first 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 roles in the mass adoption of Bitcoins.
Introduction of the Bitcoin ChequeThe Bitcoin Cheque itself does not store any Bitcoins, it is only a note confirming that the issuing bank will pay a certain amount to the holder of the cheque. The Bitcoin Cheque should be a standardized file, maybe in xml format. It must at least hold the following information:
- Issuing Bank name and address
- A cheque serial number.
- A long unique randomized secret token. This is to prevent hackers trying to create false cheques by brute force techniques
- Bitcoin amount hold by the cheque
- The banks URL and protocol where the receiver can collect the Bitcoins
- Issuing date/time
- Payment date/time
- Expiration date/time
- Receivers name and address
- The receiver’s Bitcoin wallet address
- User id for the account holder
- Optionally the name and address of the account holder
Typically it will be trusted Bitcoin Banks that issue Bitcoin Cheques, but in theory everybody can issue them. It will be the receiver’s responsibility to decide if the issuer can be trusted. If a Merchant receives a cheque from a Customer, but don’t trust the issuer, it can choose not to accept the cheque. Or, if allowed, it will have to first collect the Bitcoins from the cheque’s issuer bank and wait for the transaction to be confirmed before it can give the goods to the Customer. The Bitcoin Cheque can only be used once and before the expiration date.
The cheque file should be sent to the receiver encrypted or using secure connections. If the file is lost or stolen, a thief can connect to the bank and collect the money. This can be a problem with a Customer having its computer hacked by somebody stealing the cheque. If the thief gets the cheque file before the merchant, he can collect the money before the merchant do. This problem can be solved by requiring the issuer of the Bitcoin Cheque to write in the receiver’s Bitcoin wallet address. Then only the receiver will be able to collect the money. If somebody attempts to change the file by writing its own bitcoin address, both the merchant and the Bitcoin Bank will be able to detect this.
Bitcoin lacks a money-back-guarantee, which most credit cards and other payment system can provide. This pose as a problem for traders selling Bitcoin by accepting payment from such systems, the customer can open a complaint and get back the money, while the Bitcoin is long gone. This unbalance may be resolved by having the “payment date/time” on the Bitcoin Cheque. This way, if the Customer don’t get the goods or complains, the issuing bank can withhold the Bitcoins until the complaint has been resolved. In the consumer market, Bitcoin will need to provide some safety for the customers not to lose money, like the credit card companies provides. By having the “payment date/time”, the Bitcoin Bank will be in better control of the situation and can offer such a money-back guarantee. A money-back guarantee may also be required by government regulation.
An important aspect by using the Bitcoin Cheque, is that all three involved parties has 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 don’t like some of the terms, they must either renegotiate or there will be no trade. As all three parties has the ability to verify the cheque, this will makes the system more robust from cheque fraud.
Even I called this new concept Bitcoin Cheque, it really has no strong ties to Bitcoins. In fact, the cheque can easily hold any digital currencies by specifying which currency the value is denominated in. It can even hold fiat currencies. I think having a system that allows usage of several different digital currencies, would makes the world of digital currencies stronger, as it would allow competitions between the currencies. And if, for any reason a currency would fail, the system can easily adapt to another currency.
The Bitcoin Cheque ProtocolThe Bitcoin Cheque Protocol serves two main functions, issuing of cheques and payment of cheques.
When a customer wants to purchase some goods for Bitcoins, it must log-in to the Bitcoin Bank to get a Bitcoin Cheque. To get the cheque, the customer must at least provide information like amount and the receiver’s name and the receiver’s Bitcoin wallet address. The request must be done using a secure connection. The protocol should also support two-factor authentication, but that requirement should be configurable, depending on the amount asking for. I don’t want to do authentication each time I pay to read a page.
If the Bitcoin Bank trusts the receiver and the customer has enough fund its bank account, it will return with the Bitcoin Cheque file.
On the other side, after the merchant has verified that the cheque contains the same criteria as it asked for, and provided that it trust the bank, it will use the protocol to get the payment. This too must be done through a secure connection. The Merchant will send a request containing the information hold by the cheque. After the bank has verified that the requested cheque is identical to what it previous issued, and that the cheque is unclaimed, it will return an OK response. This bank will then make the payment to the Merchants Bitcoin wallet at the cheque’s payment date/time.
I have some limited knowledge in setting up secure connections and request methods. Maybe the cheque request itself can be implemented as a JSON Request? I encourage the community to support me with advice in this.
The last protocol is between the Merchant and the Customer. I don’t have deep insight knowledge into the Bitcoin protocol, or the newly released BIP-70 payment protocol. Maybe the described idea is supported by existing protocols or maybe more protocols will be needed. Hopefully someone can fulfill me in here.
An important requirement by having an open Bitcoin Cheque standard and an open Bitcoin Cheque Protocol, is to make independence between the CMS plugins providers, Bitcoin Banks and browser wallet plugins. It is likely that a system integrator would like to develop and provide solutions for all three parties, but it should be open to enable free competition.
Such a Bitcoin Cheque and the Bitcoin Cheque Protocol may in the future be used to other purposes as well and can be tools to make financial infrastructures. Hence the format of it should be generic to enable future usage.
Once again, even I called this concept Bitcoin Cheque Protocol, it really has no strong ties to Bitcoins. Its mere purpose is to request the cheque and collects its payments, which could hold its value in any currencies. In fact, most of the protocol here described can be made generic to fit any currencies. Only the last phase in the payment process, where the actual Bitcoins are transferred, is something that truly relates to the Bitcoin protocol itself.
Improved anonymity, privacy and securityIt has been told that Bitcoin is anonymous, but that is not so true. If you know my wallet bitcoin address you can easily look up my balance at block chain. You can even figure out my transaction. I don’t like everybody to be able to do that. It is possible to hide my transactions by spreading it on many addresses, but I think that is not a perfect solution as it adds a lot of unnecessary transactions and possible additional costs.
By using a Bitcoin Cheque, the Bitcoins will be transferred from the Bitcoin Bank’s wallet rather from my personal wallet. In fact, the bank need only one big wallet to hold all its deposits and can keep track of the individual user’s amount in accounting sheets. All users funding, withdraws and payments can be done using this wallet. This way it will be impossible to read from the block-chain which transactions belongs who.
When making a purchase using this system, the web shop does not need to know my identity. Only the Bitcoin Bank may need to know my identity. The Bitcoin Cheque don’t need to hold my name in order for the receiver to collect the money.
The Bitcoin Cheque could include a user id number of me, so if I want to make a seconds purchase the merchant know I’m a returning customer. But this should be a configurable options, so if I don’t like it, I can be a completely new anonymous customer each time. The user id number should also be different when trading to other merchants, so they cannot know I am the same person. The user ids used at the different merchants will be kept track of by my bank.
Such a system will provide much better security compared to credit-cards. Using today’s credit cards all over the Internet, my name and credit card number are spread to a lots of servers around the world. I have absolute no guarantees this information cannot be misused or stolen.
Since all my Bitcoins can be stored in a bank, and not in my personal wallet located in my computer, this will reduce the danger from somebody hacking my computer and stealing my wallet. Having Bitcoins collected in banks will also reduce the risk of Bitcoins getting lost due to loss of private keys or other human errors. Most people have limited technical skills and securing a computer can for these be a real challenge. For most people it will be a better solution to store their Bitcoins safely in a bank.
Addressing the need for government regulationsOne of the biggest objections for government against Bitcoin, is it enables people to trade anonymously. The block-chain will truly lists the transactions, but without knowing who’s hiding behind the wallet address, the transaction will be anonymous. This makes it difficult to reveal if money laundry is taking place. It enables criminals to earn black money, hide income and avoid tax. A business accepting Bitcoins can therefor easily be tempted to hide some of its income to reduce its tax burden. And someone surely will.
Governments are struggling to cope with this problem and introduces all kind of strange rules. Bitcoin business gets required to report all kind of information, both information that makes sense and information of no relevance. It seems that the governments lacks some effective tools here.
The main source of money laundry is when somebody, for any reason, receives some money and do not pay the required tax for it. Basically, to prevent somebody from hiding his income, you have to somehow be able to check his income. For government backed fiat currencies, the government has tools to deal with this, as these currencies mostly are required to be transferred through a third-party, in most cases a bank.
For Bitcoins, which is a decentralized peer-to-peer currency, the same measure doesn’t work. To be able to check an income, you must either check what he actually receives or how much everybody else is giving him. The latter can be quiet complicated, as this would require the tax agencies to follow the rest of the world. The first options, may be quiet easy as the Bitcoin block-chain reveals all transactions to a Bitcoin wallet. This will require the tax agency to know who is hiding behind a Bitcoin address, and that’s the key here. Actually only a few rules are needed in order to let the government do a complete tax audit:
- Companies (merchants, banks and businesses) are allowed to accept Bitcoin payments from other companies and people, but can only receive it by using Bitcoin wallet addresses that are registered in a government register.
- Companies are allowed to make Bitcoin payments to other companies and people, but can only send it to Bitcoin wallet addresses that are registered in a government register.
- All companies and people, provided proper identification is given, has the right to register Bitcoin wallet addresses at the government’s register.
- All companies are required to record and store logs of all Bitcoin transactions for tax audit.
- Bitcoins are otherwise threated as whichever foreign currencies and subject to equivalent taxes and laws.
These rules permits everybody to use Bitcoins. Companies are only allowed to receive and send Bitcoins through registered Bitcoin wallet addresses. Companies can receive Bitcoins from anonymous users, but are only allowed to send Bitcoins to people which have registered addresses. Received Bitcoins can be spent without restrictions. A person can for instance use a Bitcoin mixer to hide his money and then spend it as an anonymous user. This is not controversial, as fiat cash provides the same opportunities. The bank know when you withdraw cash from an ATM, but the bank, nor government, cannot see where you spend it.
Note that these rules only applies for Bitcoin transaction into and out from a company. Companies are still allowed to make internal Bitcoin transactions. The requirements for registering the receive Bitcoin wallet address mainly affects the companies. In practice the requirement to register all transactions can be made automatic by the computers.
It should be easy to register a Bitcoin wallet address at the government’s register. This can be implemented as an online service. The register should also implement an API to read out information. Everybody should be allowed to look-up a company’s Bitcoin wallets addresses. For people’s addresses there must be more restrictions. The main purpose with the API is to make it easy for companies to check that they are allowed to transmit Bitcoins to an address.
The enforcement of these rules will be very simple, both for the merchants, the banks and the government. When issuing a Bitcoin Cheque, the bank can check that the receivers address is registered. All transaction to the registered addresses can easily be monitored by looking in the block-chain. Governments can do random tests of merchants to check if they are only using registered addresses when asking for payments. As the register API is open, also people has the ability the check if they are doing a payment to a registered address. It will be in the people’s interest that nobody is wondering tax and piggybacking others.
For merchants there will be no restrictions in receiving Bitcoins as payments, as long as it register all payments in the log. It can receive Bitcoins from other companies, from the government and from anonymous people, both from domestic and foreign. When the same merchant wants to make a payment, some more restrictions occur, as it is only allowed to send Bitcoins to a registered address. This also applies when sending Bitcoins out of the country. However, this should not be a big deal, as everybody should be allowed to register a Bitcoin wallet address, provide proper identification is given. If the receiver does not want to register, he can ask the sender to make the payment to a Bitcoin Bank.
Note that the merchants still don’t need to know the customers identity. When using a Bitcoin Cheque, only the banks need to know the customer’s address. Of course if a customer want to order some goods that must be shipped to a physical address, the merchant must know his postal address.
The second main objection government has against Bitcoin, is it allows people to trade on the “silk road” where illegal goods like narcotics can be purchased. By hiding their webpages in the Tor-network and paying for the drugs in anonymous Bitcoin transactions, it makes it very hard for the government to investigate. The Bitcoin Banks may actually help in this. From having very few ways to investigate, the government with help of Bitcoin address register may have better chance in tracking up criminals.
The third main objections government has against Bitcoins, is it will be a money competing against the government’s own fiat currency. They may eventually lose their ability to print money and conduct crazy monetary policies. In my opinion, this is an interest that is solely shared by the central-bankers and politician alone. Printing money is an easy way to pay for all the stuff promised by politician. But the resulting inflating of the currency is of no good for the people, as it steals their wealth. I don’t have any good measures here, but to start educate the politician in basic economics.
Helping mass adoption of BitcoinsMass adoption of Bitcoin is truly a chicken and egg problem. Nobody spends Bitcoins because nobody accepts it, and nobody accepts it because nobody spends it. This problem has to be eliminated.
In the context of a web shop, we need a system where the merchant can thinks like this: “I need to make some profit by selling my goods, so I install this easy-to-use payment plugin into my web shop, which happens to use Bitcoins because of the low fee. Even nobody is using Bitcoins I don’t care about that, because it is not a problem for me nor my customers.” If a merchant can chose to make more profits by accepting Bitcoins in order to reducing the credit-card costs, he surely will take the Bitcoins. How can this be archived?
First, it must be of no hassle for both new and returning customers. First time a person wants to use Bitcoins, he may not have the Banking App installed nor have any Bitcoin Bank account. This very first time he clicks on a Bitcoin payment link, he must automatically get redirected to a Bitcoin Bank where he can register for an account and buy some Bitcoins. Second, the Banking App must be installed in the browser and automatically get configured to connect to his Bitcoin Bank account. It is absolute crucial that this process is as easy as possible. If it isn’t, this will fail for most people, and the merchant will not want to install the Bitcoin payment plugin in the first place.
When buying Bitcoins using credit/debit cards, most Bitcoin exchanges require some kind of identification. The identification may be a driver’s license or a passports or other identification papers, which must be posted and approved by the exchange. This approval process takes from hours to days. Waiting hours for an approval when I’m eager to read the article right now is simply unacceptable. I’m not sure why almost every exchanges require this identification, but I assume it is mostly about government regulations. Maybe it is possible to use the Facebook or Google account or other means for identification? Maybe the Bitcoin Cheque’s inbuilt money-back-guarantee feature can help the Bitcoin Banks to be able to charge credit-cards or other payment solutions without the need for identification? Credit-card users are already identified by the credit-card companies. I hope someone really can help here, as this may be the remaining and most difficult challenge that needs to be resolved to enable easy first-time registration.
The problem of waiting for hours for the first-time identification approval, will disappear in the exact moment when your local bank starts offering Bitcoin Cheques. Since you already have an account in your local bank, the identification approval process is not needed any more. Using a local bank also is of very little hassle, compared to signing up for an account in a bank you never have heard about. But until that happens, the initial Bitcoin Banks must provide easy registration.
After the Bitcoin Cheque and the Bitcoin Cheque Protocol has been defined, it is likely that existing Bitcoin exchanges and other start-up businesses will see the opportunities and start offering these payment services and make a profit out of it. The commercial banks, still not allowed to join the party, will soon smell the bait and want a share of this profit. As they now have the tools and incentives to propose government regulation of the Bitcoin trade, they will happily lobby the government to giving them access to the emerging market.
The need for a Bitcoin financial industryThe banks will play an important role in the new era of Bitcoins, but they need incentives. And the strongest of all incentives, is the urge to make more profit. The banks can earn a good profit by taking a small fee from each trade. The Bitcoin Banking concept and Bitcoin Cheque will actually create a new big and profitable market and soon everybody wants to have a share of it.
After the commercial banks joins the party, they will start develop and provide a lots of Bitcoin services that may include trading, exchanges, loans and investment. To attract Bitcoin capital in order to provide loans, the banks will most likely offer interest rates to store your Bitcoins safely. They will develop Mobil Banking Apps and payment terminals to put in ordinary shops. From here Bitcoin will start transforming itself into a global reserve currency.
ConclusionsFor all this to happen, the government must permit commercial banks to trade and exchange Bitcoins. As already discussed, the government has reason to put regulations on the Bitcoins, but they currently have no effective tools. These tools are the Bitcoin Banks, Bitcoin Cheques and Bitcoin Cheques Protocols that will enable them to do effective tax audit on the Bitcoin transaction. We should therefore develop and give them these tools.
In this concept I have outlined a chain of events that would lead to mass adaption of Bitcoin. To summarize, this events will follow this path:
1) The Bitcoin Cheque file format and the Bitcoin Cheque Protocol must first be defined.
2) Demonstration of the technology:
- Open-source plugins for common CMSs like WordPress, Joomla must be developed.
- Banking App plugin for common web browsers must be developed.
- A Bitcoin Bank must be setup. In the head start it does not need to provide exchange service, as sole purpose is to issue Bitcoin Cheques and pay them in order to demonstrate the technology. User must only be able to register for an account and create a personal wallet in the bank.
3) At some point professional developers sees the opportunities to create better and more versatile plugins for web shops and browsers.
4) Bitcoin exchanges and start-up business will see the opportunity in becoming a Bitcoin Banks and make profits in providing Bitcoin Cheque payment services.
5) Commercial banks wants to join the party and starts lobbying the government to make regulations of the Bitcoin.
I think the definition of the Bitcoin Cheque and its protocols is the single most important task right now, as this will trig a whole lot of other initiatives. Demonstration of the technology will require a whole lot of efforts from the Bitcoin and open-source community, but at some point the snowball will start rolling itself. When that happens Bitcoin will start transforming itself into a global reserve currency.
In understand that the idea of regulation may be controversial and cause a lot of hard feelings, as most of us love the idea of having a completely de-centralized, anonymous currency and without the need for the banks. We would like everybody to start using Bitcoins, however we have to understand that other people may have other needs. This is politics, and good politics is about finding good compromises. Even such regulations will be put in effect, Bitcoin will still be an open-source project, de-centralized currency and out of control from the currency-printing-addicted central-bankers and politicians.