When you’re investing in cryptocurrencies, you’re actually backing their revolutionary technology: Blockchain. But why are you part of a minority? Why isn’t everybody embracing blockchain’s solutions? If you want to understand its current state in terms of scalability, security, and usability, here’s your explicit guide.
- What is Scalability?
- What is a Scalable Cryptocurrency?
- Are Cryptocurrencies Fast to Transact?
- Slow Usually Goes with Expensive
- How to Make Bitcoin Fast (And Cheap) Again
- Is the Network Reliable
- Is the Network Efficient
- What is Accountability in a Trustless System?
- No Accountability = More Risks
- Creating Accountability On Top Of The Network
In recent years, the blockchain has progressively grown more into a buzzword than an actual usable piece of technology. Everyone talks about it in financial magazines, crypto-oriented websites, and traditional news outlets. The more we get to the outskirts of the information spectrum the less technical people get, and we start developing the feeling that the blockchain can solve all the bad things facing our world.
It is true that the blockchain, Bitcoin, and Ethereum are amazing, but we can’t forget the fact that they are all very new. Currently, it feels like the blockchain has become our new sun, and we have stared at it for too long. We are blind to the obstacles in front of us. As a new technology, the blockchain has to be understood on a technical level in order to grasp its real potential as well as its limitations.
Of course, it is good to be positive but it can lead to extremely dangerous behaviors such as over-investment, which can then cause a bubble and ultimately hinder the long-term evolution of this technology. So in this article, we will explore what we can expect from the blockchain and, more specifically, cryptocurrencies in the long term, as well as what some of the technical and educational hurdles we should pass before we can live in an economy powered by the blockchain (if that is even possible).
What is scalability?
When a company is successful, it starts to sell more products and buys more resources. That means that the leaders of the company have to hire more staff to deal with the sales and the new purchases. For instance, the company may face legal problems, so it will hire some lawyers and open a legal department. These issues have to do with finding solutions to deal with growth. This is called scalability.
Let’s take the example of a toy company founded by Jack and Kirill. They invent a great toy in their garage, and they decide to open an online shop called ToyCorp. The toy is very successful so they get more orders online. Kirill and Jack are working very hard but it is only the two of them building the toys, and shipping them. They are starting to get overwhelmed with orders and Christmas is coming soon. So they have to hire people, to help them build more toys. This is a scalability issue. If at Christmas they are able to build enough toys to satisfy all families, it means that they have scaled successfully. If they are not able to build all the toys by Christmas, they have not scaled successfully.
What is a Scalable Cryptocurrency?
So how does this apply to the blockchain? In this context, the blockchain network is the toy company and every user is the customer. So, the blockchain will be considered scalable if it can satisfy all the users even if more users keep coming. In the ToyCorp example, the parents will want three things:
- A good quality toy.
- For the toys to be delivered on time (before Christmas).
- Good customer service.
If Kirill and Jack can provide those three things to each of their customers, no matter if they have ten thousand orders or ten, it means that they are scalable.
What do blockchain users want?
- Fast transactions
- Cheap transactions
- Control over anonymity
- A reliable network
Not every Blockchain user will want the same thing, but these are commonly accepted attributes.
Are Cryptocurrencies Fast to Transact?
Let’s start with the speed problem. We will use Bitcoin as an example because Bitcoin is the biggest and oldest blockchain. Fast transactions means that if a customer wants to pay for a toy he or she can press a button and the toy is paid for. With a credit card, transaction speeds are very fast, it feels almost instantaneous. That is because credit card companies have very fast networks. Visa can process 24,000 transactions in a single second! Another company like AliPay processes more than a billion transactions in a single day!
Well, Bitcoin is not doing well on that end. On a very good day, it can only process 7 transactions in one second. Ethereum (another cryptocurrency) can maybe go up to 20.
So what happens when someone wants to buy ToyCorp’s toy online? The customer has to send the Bitcoin to ToyCorp’s account ( also called an address) and wait until the network validates the transaction. On a good day, this will take less than 10 minutes, but sometimes it could take longer. For an online shop, this isn’t too bad because ToyCorp will probably only ship the toy the next day, so a 30 minute delay to receive a payment isn’t that bad. They can simply send a validation email to the customer when the transaction is validated. But if the transaction is cancelled, the customer will have to go through the whole process again 20 minutes later, which is annoying.
The real problem is when the customer wants the transaction to be immediate. Let’s take the example of a coffee shop. The customer doesn’t want to wait 30 minutes before he/she gets a coffee. So, no coffee shop would accept Bitcoin as a method of payment.
This speed problem is inherent to every blockchain. For a transaction to be validated, it needs to be registered into a block of data, and a block is only validated every 10 minutes on the Bitcoin blockchain. In other blockchains this process is faster, but it isn’t a guarantee for increased speed.
There is another problem when more and more people want to send transactions. A block has a limited size whether it’s full or empty, and it will still take 10 minutes to mine. So if it’s full before the last 10 minutes, or if there are too many transactions at once, the transaction will have to go into a waiting room until it’s their turn to be validated.
This “waiting room” is called a mempool, and there was a period of time when over 800,000 transactions were waiting in the Bitcoin mempool. But the Bitcoin network can only register 600,000 transactions in 24 hours! You can see the state of the mempool here:
This mempool problem is a typical scaling issue because the more users make transactions, the bigger the mempool becomes. Many transactions have been offered to solve this problem, including increasing the number of transaction you can put in a block, but it’s not quite that easy. We won’t get here into this complicated, technical, and political debate here though.
The effects of this transaction delay is even worse if someone needs the payment to be instantaneous. To buy a coffee, no one wants to wait 30 minutes before they have their payment go through… the coffee would get cold!
Slow Usually Goes With Expensive
The problem with a crowded network is that everyone must fight to get their transaction processed first, and in the crypto-world: cash is king… I mean Bitcoin… more Bitcoins. How does that work?
When we say that a transaction is “confirmed” it means that a miner has looked at the transaction, checked that it is not fraudulent, and decided to include it in the latest block of the blockchain. Every transaction in the network has a transaction fee attached to it which is fixed by the sender, the transaction fee is used to pay the miner.
Now, when there are a lot of transactions waiting to be confirmed, the miners can prioritize the ones which will be included in the next block, and they are more likely to pick the ones with the highest transaction fee because it brings them a higher reward. Therefore when the network is congested (like if the mempool is big), the users have to fight to be first in line so that the miners will pick their transactions to be processed first.
Let’s create a coin called ExCoin which has blocks that can “register” 100 transactions in them. Now, let’s say we have 200 transactions waiting to be processed. 110 of these transactions have a transaction fee of 10 ExCoins, the rest have a transaction fee of 5 ExCoins. This means that if I want my transaction to be confirmed as fast as possible (processed in the next block), I have to set a transaction fee of over 10 ExCoins so that the miners will select my transaction in priority.
We can see see that when the transaction processing is slow there is a competition between the users to be the first to have their transaction processed. This means that the transaction speed and cost are closely connected, and that solving the speed issue should have a direct impact on the transaction cost.
How to Make Bitcoin Fast (And Cheap) Again
There are two types of solutions being developed to solve the speed problem. First, there are improvements to the common technology stack that we’ll call global solutions. These improvements are free and can benefit the entire Bitcoin community. The second are services provided by third-party providers. They only benefit the ones which use the service.
An example of a third-party solution is BitGo Instant. They allow their users to make transactions with zero-confirmation, and they will bear the risk of the transaction confirmation. In other words, they work as a sort of escrow between two parties, and the receiver must trust that BitGo will send him or her a valid transaction. The only issue with this method is that you have to trust a third party, and the third party will also will take a chunk of the transaction.
Let’s go back to the coffee transaction. I come in with my BitGo Instant wallet and make my transaction to the coffee shop’s address using BitGo Instant. What happens under the hood is that BitGo is also cosigning the transaction to confirm that the sender’s fund are actually available (meaning they aren’t double spent). When BitGo signs the transaction, it is giving the receiver a guarantee that the funds will be transferred. So in the case the transaction I made to the coffee shop is not valid, the owner of the coffee shop can turn to BitGo and claim its money.
To my knowledge and at the time of the writing, Bitgo is the only service provider for an enterprise-grade service available to the masses. Other services might only be built for companies requiring a custom solution. An interesting open-sourced project to monitor is ChainSide, which recently released a full featured Bitcoin library.
When using third-party services, the user is not making the best out of the decentralized architecture of the blockchain and it could be said that he/she might as well be using the banks as intermediaries. On the other hand, it can be argued that users will only be required to use this service in specific use cases, and that using one intermediary is still less than the many parties involved in a credit card transaction for example.
The global solutions are built with decentralized architecture in mind. Recently, Bitcoin Cash was created to increase the bitcoin block sizes, and Segregated Witness was introduced to the main Bitcoin blockchain to improve speed and fix a few security issues. It would be too long to explain the pros and cons of each option though. What is important to know is that these changes directly affect the software needed to use Bitcoin. The next much awaited evolution in Bitcoin is the Lightning Network. If implemented well, it it could allow transactions to become so much faster than before and at a much lower transaction price.
Is the Network Reliable?
The short answer is yes, the long answer however has a “but.” Because the blockchain is so new in computer science, politics, economics, and finance we often delve into uncharted territories. However, the more it grows the less predictable it gets.
Today the oldest blockchain is Bitcoin, no one has ever been able to completely hack it, but it has some vulnerabilities as a network. The only time money was actually stolen on the Bitcoin network was in 2010 at a time where Bitcoin was in its infancy. The rest of the attacks usually involve shutting down, or slowing down, part of the network.
Even if the network is less predictable, it seems that it gets more robust as it grows. Indeed, attacks become increasingly expensive to organize. Let’s take the most basic, yet hardest attack, that could be done to the network: the 51% attack (aka: majority attack).
As we know the Blockchain is powerful because it relies on all the network to secure validity of the ledger. However, what would happen if one person or group of people held over 50% of the mining power during a short period? Well theoretically, this person could allow some Bitcoin address to send the same Bitcoin to two different people or prevent other miners to find any other block temporarily.
If for example, I have 100 ExCoins in my wallet and send them all to pay for my ToyCorp toy and immediately after I use 100 ExCoins to buy many cups of coffees at the store. In a normal situation ,the second transaction would be cancelled because I’m not allowed to spend the same coins twice. Except that under a majority attack, the miners can temporarily create a new chain on which the second transaction is validated by them! At the end of the attack, the second payment will be cancelled but the coffee shop will see its ExCoins disappear from its address.
The majority attack required a lot of relative mining power to be successful. Mining equipment is expensive and requires a lot of energy, so it costs a lot of money. The bigger the network is, the more valuable the coin is and the more expensive the attack becomes. Thus, the bigger the network is the more it costs to implement an attack.
Another point is that as the network grows, more money can be invested into protecting it. Moreover, as it gets older more security flaws will be identified and solved, making the whole protocol more robust as a whole.
Is the network Efficient?
As the network grows, the mining of bitcoin consumes a lot of energy which is expensive and bad for the environment. What miners do roughly is solve mathematical problems, very complicated ones. In the early days of Bitcoin, these problems were easy enough for anyone with a computer to become a miner. But as the network grew, the price of Bitcoin went up, so it became more profitable to mine. Therefore, more miners joined the network and competed for the rewards. The trick is that the Bitcoin network adjusts itself to the number of miners and it makes the math problems more and more difficult. So nowadays, a Bitcoin mine looks more like a giant warehouse full of computers.
As you can imagine, warehouses full of computers consume a lot of energy. The warehouses become bigger, and now the Bitcoin ecosystem is estimated to consume as energy much as a small country.
The chart above has to be considered carefully as it might not be accurate. Regardless, it is true that the amount of energy used is extremely important to consider as one day it could reach worrying levels. For the blockchains using proof-of-work (eg: Bitcoin and Ethereum), there aren’t many solutions that are being put forward to remedy this problem.
For this reason, and the other limitations described above, other verification systems are being developed such as Proof of Burn and Proof of Stake which would considerably diminish the impact on the environment.
Proof of Stake (PoS) is a concept which was put forward by a user called Quantum Mechanics on the Bitcointalk forums. The idea gained some success and was discussed to become adopted by the Bitcoin Network. More recently Ethereum has put forward a plan to transition to a Proof of Stake mechanism. Put very simply, in a PoS network each participant has a certain percentage of the network calculated on the number of coins they own which represents their stake. Every block, stakeholders are pseudo-randomly selected to check if the transactions are valid. In that system, there isn’t high competition between the miners to be the most efficient, thus the energy costs would go down and possibly the transaction fees. There many other advantages and drawbacks to the PoS system which are developed here: https://en.bitcoin.it/wiki/Proof_of_Stake.
Security vs Usability
Apart from scaling, one of the greatest technical hurdles is the introduction of more novices into the network who are more likely to be confused by the cryptocurrencies’ complex architecture and security features. In this context, we are not talking about the security of the network itself (such as the network’s vulnerability to be shut down by hackers), but about the security features provided to the users to protect their funds. On the other hand, we will define usability as the level of difficulty for a novice to check and transfer funds across the network.
One very important note before we start this section. When we are pointing out security flaws that have been found in different implementations, it is important for the reader not to obsess over them and simply give up. For example, we will talk about hardware wallets and mention some point of failures. These flaws still make the hardware safer than most, if not all, other wallet options, or dare I say… storing money in a bank. So, it is important for the reader not to interpret security flaws of this very safe system as a reason to fall into Fear Uncertainty and Doubt (aka FUD in the crypto world).
A Debate Older Than Bitcoin
The debate between usability and security is not specific to Bitcoin, but to all industries where valuable items have to be protected. Let’s say you recently acquired a painting by Picasso – congrats! If you want to use it, you can leave it in your living room and enjoy it anytime you want. The problem is that your living room is probably not the safest place in your house, so maybe you won’t put it in your living room, but in a special room with very thick walls and the latest fingerprint identification system. Now the painting is more protected, but you will only get to enjoy it once a week. Or maybe you’ll consider the fact that your house isn’t safe enough, so you will ask a bank to store the painting in a vault inside a high security facility. The painting will be safe, but it will be a pain to try and enjoy the painting.
As you can see in this example, the safer something is the less usable it becomes. Banks, PayPal, credit card companies, and Bitcoin are no exception to the rule. If something isn’t usable enough it can become unsecured. For example, if you have a very long and complex password for your Bitcoin wallet, that is safer. However, that password is easier to forget, so if you forget it, you will lose all your money.
As its name points out, a wallet is used to store cryptocurrencies. The wallet has one public address which everyone can see and send money to. It also has a private key which only the owner has access to. It is that private key which allows the owner of a wallet to send currencies from that address to another. The problem is that private keys are very long and complex, so users will usually have a username and password that will give them access to their private key, allowing them to use their Bitcoin.
Most wallets do not have passwords which can be retrieved with a “forgot your password?” function. If the password is lost, the Bitcoins are lost and this is as much of a security feature as it is a security flaw. If the users don’t know that a Bitcoin password is not like a normal password, they will be more likely to forget them. On the other hand, if the password is too easy then it can be cracked by a hacker and the funds can be retrieved by said hacker.
Some companies will offer to manage private keys and even allow the users to have backups that the company will provide in case the user has forgotten it. When one person controls a lot of money or precious information, attackers have a greater incentive to steal that money. This is a major security flaw because it means that attackers have a central point of attack to find private keys. When a centralized entity manages many accounts, it is richer and thus has a bigger target on its head.
Leaving a third-party to manage keys is not very different from letting a bank manage your money. Cryptocurrencies were created to empower individuals and give them the control over their money back. The blockchain gives uses independence and frees everyone for the need to use third-parties such as banks. Using a third-party is simply counter-intuitive.
Let’s take the example of a centralized exchange, which are places where people can exchange their money or cryptocurrency for other types of currencies. Usually exchanges will ask users for a username and password at the bare minimum. This method of authentication is extremely weak and gives hackers multiple options to have access to users’ funds. For example, hackers have access to a large amount of common passwords which are used with advanced software to crack your password. Also users usually have the same username/password combo so if their combo is compromised on one platform, it is compromised for every platform, including the exchange. Recently, a very common attack consists of bringing the user to a page which looks exactly like the page of the exchange, but that page is in fact the attacker’s site which collects the sensitive data.
Finding The Balance
Many solutions have been developed to make secured Bitcoin storage options more accessible. One of the preferred methods is to build a bridge between hardware and software. The idea behind this is to create a physical object which will be used to access a Bitcoin address.
A commonly used feature is two-factor authentication. This is a security feature whereby a password can be accessed directly onto the user’s phone. The two main methods are SMS dependant or app-generated code. This system is more secure than just the password/username combo, but it still has its flaws. First, if a person has his/her phone stolen or looses it, he/she won’t be able to access the Bitcoins anymore. Moreover, there are some more technical vulnerabilities which have been exploited on some of the biggest Bitcoin wallets such as Coinbase.
A more secure way to store Bitcoins is to use what is called a hardware wallet. In principle, it is quite similar to two-factor authentication, except that you are using more secure hardware to store your Bitcoins and unlike a phone, you won’t be carrying it around every day. It simply looks like a USB stick which allows you to access your Bitcoin wallet. The two most common models are the Ledger Nano S and the Trezor shown below:
Once again the problem is that if you lose it, your funds will be lost if you didn’t save the backup password that consists of a list of mnemonic words. These words can be anything for example, “witch collapse practice feed shame open despair creek road again ice least.”
On the other hand, you are much less likely to walk around with your hardware wallet (unlike your phone) and if someone steals it, they will still need a password to get in. The whole security scheme of the product is much safer than two-factor authentication. The code of the wallet is also auditable, so you can be sure that if there ever is a security flaw, it is not only the managing company but all qualified users who can find it and help keep the whole system safe.
We won’t go in detail about all the wallets and storing options here. A good rule of thumb is that the easier something is to use the more likely it is to have security flaws. Of course, that doesn’t necessarily mean that something complex will be safe or vise versa.
Hardware wallets are probably the safest option for a novice to save large amounts of Bitcoin or other cryptocurrencies. There are other options with varying levels of safety on different formats: desktop, mobile, and web. The best resource to find out about all the different wallet options can be found at the end of this article: https://www.howtotoken.com/for-traders/become-cryptocurrency-investor-without-risking-money/ or on the bitcoin.org site: https://bitcoin.org/en/choose-your-wallet. And as they both point out very clearly: TAKE THE TIME TO EDUCATE YOURSELF.
Is Full Security Possible?
100% risk free isn’t possible however, even if Bitcoin is certainly the most secure store of value in the world. That being said, since 2009 over $2 billion Bitcoins have been stolen. This is almost exclusively due to problems with those companies which manage Bitcoin addresses for users. The most notable case was the Mt Gox hack which was the biggest Bitcoin exchange in the world, handling 70% of all bitcoin transactions at some point. Because they didn’t protect the private keys of their users well, they lost 850,000 Bitcoins.
So the rule is : only trust who you can trust more than yourself.
What is accountability in a trustless system?
In a normal relationship, you have two parties interacting with each other. If I were to deposit money in a bank, the bank gives me a title with the right to withdraw that money. What happens if the money in my account disappears? I would contact my banker, ask him what happened, and ask for a refund. If all goes well, the bank will transfer the missing money back to my account and apologize for the inconvenience. If the bank refuses to pay, I could start a lawsuit against the bank to get my money back.
The problem in a distributed, trustless system that blockchains set up is that there is no “bank,” or other parties, that I can contact to get my money back when something goes wrong. The only thing that can be blamed is the system.
An easy example of something which can go wrong is when sending money to the wrong address. It is a gross understatement to say that public addresses are complicated to read. Could you easily differentiate between two QR Codes? Here is one of my Ethereum addresses for example: 0xe9751655b8DbFFe00959F40E34FF93C1C1C143a8. Could you differentiate that from 0xe9751655b8DbFFe00959F40E34FF93C1C1F143a8? Probably not, and to make matters worse, if the latter is a valid address then your funds are lost forever.
No accountability = More Risks
The lack of accountability can create several problems. Companies like to hire experts who they can make accountable if something goes wrong. Since their employees aren’t experts, they are more likely to make mistakes. Going back to ToyCorp’s account, let’s say that the owners have little knowledge about how to keep their Bitcoins. They set up a wallet which requires multiple signatures to open. Unfortunately, they forgot the password of one of their wallets, so they cannot access the funds where they stored all the Bitcoins they received for their sale. ToyCorp is only left with only their bitter tears as they cry over lost Bitcoin.
If they were working with a bank and forgot the password of their account, they could simply ask the bank to send them a physical letter with the new password written on it.
Creating Accountability On Top Of The Network
There are companies which help users manage their Bitcoin wallets and transactions. The drawback of course is that using third party software comes with a monetary cost and a security one since they are a centralized point of attack. Another problem is that as soon as the third party provider gets hacked, it might be more than just one user’s funds which disappear. In this case, it is uncertain if the wallet manager will have enough money to refund all the Bitcoins that were lost. For example, when Mt Gox collapsed, even if lawsuits were levied against the company, it could not pay back everything that was lost.
There is only one method to cancel a transaction which has been validated by the network, and it’s called a hard fork. A hard fork is an update to the blockchain which is forced by a group of users who want to change elements of the software, or the blockchain itself. There is one famous example of a hard fork which happened after a group of Ethereum users created a common Ether fund, and hackers stole most of the money inside that fund (around $150 million dollars). So a group of users decided to go back in time, and rewrite the blockchain in a way so that the funds never disappeared. The problem with hard-forks is that they discredit arguably one of the best features of Blockchain; immutability.
However, hard forks are very difficult and expensive to set up, so if I am an individual who lost his funds I won’t be able to create a hard fork alone. If I would decide to create a hard fork to GreatCoin with 2 of my friends and the network has 1000 users, this means that MY blockchain will not accept the transactions of all the 997 other users, therefore my coin won’t have much value. There is nothing stopping people from making hard forks, but they do not necessarily make sense economically.
Hard forks are very interesting because they are a new phenomenon which has no precedent in the history of moneyb and it leads us to question ourselves on how the new economic model offered by blockchain-based cryptocurrencies fits into our current economic model.
Blockchain and Bitcoin technologies are amazing new innovations which are getting increasing attention and praise from greater audiences. The more popular it gets, the more excited we get about it but maybe not for the right reasons. Blockchain is amazing because it is extremely safe, allows for international transactions, and gives individuals sovereignty and independence over their money. However, today it does not have the same qualities as money:
- It is not as easy to spend.
- It is not as fast to transact.
- People are not as used to the technology and most don’t know how to use it
However, these flaws are all possible to overcome, so we have a lot of room for progression. Maybe we will be able to have instant transactions powered by the blockchain, but not yet. And even if we can’t improve the speed of the network, we can always see a value in instruments like Bitcoin. A lot of people compare Bitcoin to gold, and say that Bitcoin is a store of value. And indeed if they were compared side by side, Bitcoin is far superior because it is as safe, easier, and faster to transact and move around. Ethereum is also allowing the development of new instruments, especially smart contracts, which potentially have a great disruptive value even on a slow network. The conclusion is that even if Blockchain doesn’t meet all the scalability issues that we have pointed out, even if it cannot replace currencies, we still have an amazing instrument which we can use today for things that have never before seemed possible.