Over the past few weeks, we have seen a lot of talk about whether Bitcoin is able to scale. Today we’ll look at why bitcoin needs to scale.
Whether you like to admit it or not, Bitcoin is the whole cryptocurrency market. No, I’m not talking about things like market caps, usability or any of the other metrics that people normally use to gauge something’s value or dominance. I say that Bitcoin is the whole market because it is the proof of concept. Bitcoin must succeed.
Why does Bitcoin have to scale?
Bitcoin is the first real cryptocurrency. Its the oldest one out there, and has had waves of uproar and adoration since its inception. Bitcoin has had to deal with dying nearly 300 times in its very brief existence. It has been pushed forward by the people and pushed back by governments. It’s received far more media coverage than any other cryptocurrency, and it is certainly the most known.
This means that the world is watching Bitcoin far more than any other currency. For any cryptocurrency to make it, Bitcoin needs to make it. Not because every currency is dependent on it by some real or imaginary link, but simply because Bitcoin was first.
Bitcoin must be a success because Bitcoin and it’s supporters have been trying to convince much of the world that it would be one. It has taken Bitcoin proponents 9 years to get this far, and every other cryptocurrency has it to thank for the subsequent support it has received. If Bitcoin fails, all currencies fail, because at least for now, the biggest coin needs to stay strong to entice newcomers, promote usage and add give confidence to sceptics.
What does that have to do with scaling?
In December 2017 there was a shift in the Bitcoin community conscious. Two years ago if you spoke with a Bitcoin holder, you’d likely hear them say something along the lines of “you should spend Bitcoin to increase adoption”. In December, the general consensus was: “Bitcoin is a store of value”. While Bitcoin might currently be a store of value, it was intended to be a currency. To be considered a currency, it needs to be spent and to be spent, it needs to be spendable. In December we found that Bitcoin was too expensive to spend.
The volatility of the currency, as well as the increase in transaction costs, had effectively prevented it from being a currency. Many online stores have stopped accepting Bitcoin and some have even switched to other cryptocurrencies. Bitcoin achieved an incredible value but for many of its (newer) supporters, it failed in that it couldn’t be used. At one point I remember the recommended fee going up to $30 for a transaction. I was buying some credit on my Microsoft account to renew my Xbox Live Gold subscription, and $60 of credit cost me $90.
SegWit (Segregated Witness)
Bitcoin needed a solution, and one had in fact been implemented earlier in the year, the SegWit soft fork. The Bitcoin Core development team proposed this in 2016, and in July 2017 miners signalled support for SegWit and it is implemented. The Bitcoin Core team has still not implemented SegWit in any releases. This has caused many Bitcoin users to put pressure on exchanges and wallet developers to implement SegWit on their respective platforms. As of 22 January 2018, there is only a 12% adoption rate.
This looks likely to change now that a pull request was added to the GitHub repository by Core developer Pieter Wuille. This will make it far easier for developers to implement SegWit into their apps and exchanges. The next major release from the Core team is expected to be complete by 1 May 2018.
SegWit is the process by which the block size limit on a blockchain is increased by removing signature data from Bitcoin transactions. When certain parts of a transaction are removed, this frees up space or capacity to add more transactions to the chain.
Segregate means to separate, and Witnesses are the transaction signatures. Hence, Segregated Witness, in short, means to separate transaction signatures.
The problem that Bitcoin is facing is that as more transactions are being conducted, more blocks have to be added to the chain. Blocks are generated every 10 minutes and are constrained to a maximum size of 1mb. Due to this constraint, only a certain number of transactions can be added to a block. The weight of the transactions, represented by the blocks, is weighing down the network and causing delays in processing and verifying transactions, in some cases, taking hours to confirm a transaction as valid. This caused some wallets and exchanges to increase the automatically added fees in order to entice miners into picking up their more valuable transactions to verify.
SegWit attempts to ignore the data attached to a signature by stripping off the signature from within the input and moving it to a structure towards the end of a transaction. This would increase the 1 MB limit for block sizes to a little under 4 MB. In addition to slightly increasing the capacity size of blocks, SegWit also solves the problem where a receiver could intercept and modify the sender’s transaction ID in a bid to get more coins from the sender. Since the digital signature would be detached from the input, the unscrupulous party would have no way of changing the transaction ID without also nullifying the digital signature.
The concept of SegWit was formulated by Dr Pieter Wuille, and you can read more about how SegWit works here.
The Lightning Network is another system built on top of Bitcoin that would let people instantaneously send/receive payments and reduce transaction fees by keeping them off the main network. Lightning was first proposed in January 201 and was implemented late last year. That being said, it was only last week that a lightning network store was implemented on the Bitcoin MAINNET.
The Lightning Network is a system of smart contracts built on top of the base Bitcoin blockchain that allows for fast and cheap payments directly between two parties.
In order to achieve these fast and cheap transactions, the following steps are taken:
- A multi-signature wallet which holds some amount of Bitcoin is set up
- The wallet address is then saved to the public Bitcoin blockchain including a balance sheet (smart contract) that proves how much of this bitcoin deposits belongs to whom.
- After this payment channel is set up once, it is possible for these two parties to conduct an unlimited amount of transactions without ever touching the information stored on the blockchain.
- With each transaction, both parties sign an updated balance sheet in order to always reflect how many of the bitcoins stored in the multi-sig wallet belongs to who.
- The updated balance sheet is not uploaded to the blockchain but rather both parties keep a copy of it.
- Whenever there is a dispute or the payment channel is closed, both parties can use the most recent mutually signed balance sheet to pay out their share of the multi-sig wallet.
This might seem rather complex for the new or even older users who want ease of use, but for the end-user, hardly any additional effort is actually needed to conduct Lightning payments. If it is properly implemented, all of the above will happen automatically in the background.
The Lightning Network’s use of payment channels effectively allows users to transact with each other directly rather than broadcasting their business to the entire world (aka public blockchain). By tracking their payments between each other on their own, the two parties are able to avoid expensive and time-consuming interactions with the blockchain.
Can Bitcoin scale?
Yes, I believe that these two solutions, along with many future innovations that will undoubtedly come in the future, will scale Bitcoin appropriately. It appears that these two solutions, currently still in their infancies are already making a difference, you can read more on this here.