Bitcoin is the real money for the 21st century. It is faster, cheaper and more secure than what we’ve used before. But that doesn’t mean it is perfect. It has its own flaws, limitations and points of failures.
In particular, the small capacity for transaction processing threatens to stifle its adoption. Currently, the Bitcoin network can only process a paltry seven transactions per second (about 200 million in a year).
If everyone on the globe has to benefit, it has to do much more. It has to match and even do better than all the traditional payment methods put together.
To give you an idea of what Bitcoin is up against in this regard; the capacity of Visa alone is about 45,000 transactions per second.
Indeed, already the Bitcoin users are experiencing delays in transaction confirmation from time to time, which are as a result of the restricted capacity.
Fortunately, that this problem exists doesn’t mean that the Bitcoin community doesn’t care. In fact, there is hardly any Bitcoin user, developer or entrepreneur who disagrees that the network needs to scale.
It is consensus on how to scale that has remained elusive. And as expected of an open source and decentralized project, different core developers have been busy at work designing different solutions to this same problem.
Proposed ways to scale
One of the proposals has been to increase the size of the Bitcoin block from the current 1MB to 2MB or even more. A Bitcoin block is the cluster of transactions that the network confirms after about every ten minutes. The anticipation is that by increasing the block size, room will be created for more transactions.
But while this sounds like the straightforward answer, it poses very grave challenges. First, a bigger block demands large memory in the network nodes that store the blockchain.
It is important to mention that the Bitcoin network is designed in such a way that for you to join it, whether as a node to broadcasts transactions or a miner to secure transactions, you need to download the entire ledger (blockchain) right from the first ever mined block (the genesis block).
By the beginning of August 2016, that was about 80 gigabytes. And there is a monthly increase of about 3 gigabytes. What’s more, the doubling of the block size will result in that monthly increase reaching an excess of 6 gigabytes.
But it is not only the size of storage memory that will go up. Since nodes will need to propagate even larger data, they will require bigger bandwidths to operate efficiently.
The effect of increased memory and bandwidth demand is centralization in mining. That is because only a few large firms will afford to continue doing it. And centralized financial services is the one thing that Satoshi Nakamoto was trying to help society overcome by designing Bitcoin.
SegWit, SideChains and custodial models
Pieter Wuille, who is the second on the list of the developers who have contributed the most (most commits) to the core Bitcoin software, has sought the solution in the opposite end of increasing the block size.
In his proposal, popularly known as Segregated Witness (SegWit), he has proposed condensing the amount of data that goes into each block. By taking out the transaction signatures (witnesses) from the blocks, SegWit could create an extra 50%-100% space for transactions.
But you will agree that even if SegWit doubled or tripled the block capacity, that won’t be much as compared to the possible demand around the globe.
Then there is the Sidechain solution that Blockstream is proposing. Blockstream is a Canadian registered blockchain company that is also the employer of many of the top Bitcoin core developers, including Peter Wuille.
Sidechain is basically having several blockchains interconnected. The hope here is to have some chains handling micropayments separate before their nets are settled on the Bitcoin blockchain.
However, Sidechains might create even more transactions on the Bitcoin blockchain and exacerbate the problem. This is especially given that many more blockchains will be designed to serve different purposes such as domain name registrations, smart contracts and asset management while using Bitcoin as their currency.
Of course, there is the option of centralized custodial models. However, these are security risks because trust is involved. We’ve seen countless times how they’ve failed even with bitcoin with Mt Gox being the best example.
Enter Lightning Network
Sometime in 2013, the idea of spoke payment channels came to Joseph Poon, a young developer and an enthusiast of Bitcoin. Soon later, he brought on board Thaddeus Dryja, another developer, to see it become a reality.
Early 2015, the duo published the Lightning Networks whitepaper. In essence, their solution to the Bitcoin scaling problem is for users to delay and aggregate many transactions off the blockchain. These are then broadcasted as single entries on the blockchain.
For this to happen, though, two users, say Alice and Bob, have to create a payment channel between them and have it run through smart contracts. They also need to fund a multisig wallet.
With the multisig funding transaction on the blockchain, other transactions between Alice and Bob can be aggregated locally as additions and subtractions from it. If there is a dispute or at the end of the agreed lifetime of the payment channel, either Bob or Alice will close it by broadcasting its most recent status on the blockchain.
If one of the two, say, Bob, tries to cheat by broadcasting an older version of status, which favours him, he has to wait for a pre-agreed time before he can cash out. During this time, the Alice, the counterparty, can broadcast the most current status of the payment channel. Unlike Bob, however, Alice will cash out immediately. The vice versa is also true.
This provides the incentive for both parties to play fair.
The network scales
The Lightning Network is even more useful when it has many players interconnected. What’s more a channel between two, say, Alice and Bob, can also serve to pay a third party, say Jane, as long as she already has a payment channel with either Alice or Bob.
In this case, the one receiving the payment, say Jane, has to create a random number (R), hash it and share the hash (H) with the one to pay, say Bob.
Then Jane will exchange the R number with an intermediary, say, Alice, for the payment deserved. In turn, Alice will show R to Bob, who will refund her after using the hash (H) he has to confirm its validity.
Already several companies are working to bring the Lightning network to users of Bitcoin. They include, of course, Joseph Poon and Thaddeus Dryja’s Lightning Network. Then there is Blockstream, which has assigned Rusty Russel, one of Bitcoin’s core developers, as its lead developer on the project.
On May 16th, 2016, Blockchain (not to be confused with blockchain the decentralized public ledger), the company behind the Blockchain.info wallet announced it own Lightning Network project, which it has christened the Thunder Network.
Challenges of Lightning Networks
Even though the Lightning network seems to be the perfect solution to Bitcoin’s scaling problem, just like the rest before, it has its own limitations.
First it works best with hot wallets. Even Joseph Poon has acknowledged that it is more complex to implement the Lightning Network with cold wallets. That means that for users to benefit from it, they have to expose their funds to adversaries online.
Another point that many have observed is that this technology will lead to a lot of bitcoins being locked up in multisig wallets.
What’s more, there are businesses to which joined accounts for payment channels isn’t practical. For example, gambling is the source of the bulk of Bitcoin transactions. And should be the first to get off blockchain and reduce the traffic. However, it is hard to imagine bitcoin casinos committing funds to establish payment channels with their customers.
Lastly, the Lightning Network is a pretty complicated innovation under the hood. Therefore it will need a lot of work on the User Interface if it is to be embraced.
With all that said, anything that can help Bitcoin scale is welcome. And there is no way that invitation can bypass the Lightning Network.