Bitcoin problems that might affect its longevity
Bitcoins are getting increasingly popular with the promise of revolutionizing the way economical systems work. But few people really understand how Bitcoins actually work. In this article I will discuss bitcoins from a critic point of view: What are its problems and limitations and how these problems affect the final users of the currency.
While studying what exactly is the concept of Bitcoins and how it works I was surprised to find some ugly designed mechanisms that might bring problems now and in the future for the Bitcoin users. With this I do not want to offend the original creators of the currency, but rather pinpoint the few important problems Bitcoin still have to learn how to handle efficiently.
Below I describe the most important design concerns I found that affect the final users of the currency directly.
1. Bitcoin mining is getting more expensive and is not productive
Mining is the term used to describe what a computer does when it enters the competition of computing Bitcoin transactions. Note the term “competition” because it will be important later.
The process of mining can be divided in 2 parts:
- Compute the transactions and verify their validity (the actual work)
- Find a solution for an arbitrarily hard cryptographic problem by randomly trying solutions very fast until it finds the one that is the correct answer. (the competition goal)
The first part is relatively simple and inexpensive, the second part is more complex intentionally. The goal is to prevent a single computer from processing several blocks of transactions consecutively, since this would be a dangerous security issue. Thus, only the transactions evaluated by the computer who finds the cryptographic solution first is used and all other computers have to try again on the next round.
Bitcoin miners are rewarded, not surprisingly, with Bitcoins and the reward is given to the owner of a computer every time it wins the competition, and that competition happens every 10 minutes.
With this we can deduce 2 things: (1) Most of the energy of each computer participating in the competition is not actually performing any useful work and (2) if you are not the winner of the competition all your work was for nothing.
Computers don’t use so much power so this process is probably cheap right? Not really.
Since we are talking about a competition, the more power you have the more chances you have to win. So miners buy more powerful computers and make them work around the clock to get better chances. However, the competition is designed to take 10 minutes every time so if the competitors solve a round faster than that too often, the difficulty of the cryptographic problem is increased to force the next rounds to take 10 minutes again. This means that the useless part of the job takes more energy and more time than before but the final objective of processing the transactions still takes 10 minutes.
And who, after all, pays for all this power? The final user.
Each Bitcoin transaction today costs in average more than $5, and this value is increasing. This value is likely to stabilize at some point when the supply matches the demand, however, we are not there yet.
2. Limited number of transactions per second
The block chain is a record book that keeps track of all the transactions that ever happened with Bitcoins on all time. To make sure this record is not tempered with, it is required that each and every Bitcoin user make a copy of it, store it in its own computer and keep it updated.
To give time to all of these nodes to synchronize its data the competition is designed so that each round takes 10 minutes to be completed, this value is called the block-time. At the same time there is a limit on the number of transactions that can be processed in a single round called block-size (more on block-size here).
These 2 design limitations are responsible for one important consequence that directly affects the Bitcoin users: There is a maximum number of transactions that can be performed of approximately 7 transactions per second. This does not seem too bad at first but this is actually a very small number if you compare it with credit cards and bank transaction systems that perform millions of transactions every second.
This also means that with the current design, Bitcoins can not support as many users as other transaction systems, and thus, will not be able to replace them.
There is some research on the possibility of reducing the block-time for Bitcoins, but changing the Bitcoin protocol it is a tricky subject that must be well thought before being applied. There are also other currencies that offer block-times a lot smaller, but with a slightly relaxed security. For a technical discussion on the block-time subject see this post by Vitalik Buterin.
3. Transactions are somewhat cumbersome for buyers and sellers
There is an exploit of the Bitcoin system called double-spend attack. This is when someone spends the same set of bitcoins in 2 different places of the world at the same time. It is like giving 2 checks when you know you will only be able to pay for one of them. This con works only for some minutes before the Bitcoins servers around the word have time to synchronize and detect it, but it causes some problems until then.
So if you are selling a product you should wait for at least some rounds of the competition to confirm you did not get the invalid check. Currently it is advised to wait for 6 rounds (~60 minutes) or 6 confirmations before trusting a transaction, but this is overly protective, and waiting for 10 or 20 minutes (a single confirmation) should be enough for most low value transactions. It is, however, still cumbersome. For example buying things in person would require you to wait for at least 10 minutes before receiving the product.
At the same time when buying over the internet the Bitcoin system has another issue: you have to worry about possible frauds. Meaning that a buyer must trust someone’s reputation before sending them Bitcoins, since there is no going back after that and the seller might not deliver if he is not honest.
This means that using Bitcoins for buying online require you to be sure you can trust the seller and buying things in person requires you to wait for some time before leaving with the product. In both cases the easy way out is to use an intermediary system for managing your payments, like a credit card system that you could pay in the end of the month using Bitcoins. But then there would no be a point in using Bitcoins from the start.
These 3 limitations impose serious restrictions to the way Bitcoins work today making transactions expensive, slow and currently not scalable. It is also worth mentioning that it might be easier to rob Bitcoins than it is with traditional currencies as discussed by Adam Pasick in this post.
Most of these problems also affect to a greater or lesser degree other Block chain based currencies and thus there isn’t yet a clearly better alternative that would solve all these problems.
With that said, the Bitcoin system still delivers what it has promised: freedom, not speed nor convenience. So there are certainly some activities that will benefit from the use of Bitcoins. However, with the current problems in the Bitcoin system it is unlikely they are going to replace traditional currencies anytime soon and if these problems are not fixed it is quite possible that the Bitcoin itself could start losing space to other digital currencies with faster block-time or smaller transaction fees.
Thanks to Mariana Ramos.