If you’ve been paying attention to the bitcoin/blockchain news, you’ve probably heard the terms SegWit, Lightning Network, and SPECTRE (and others) thrown around a lot recently in reference to blockchain scalability issue.
There’s no shortage of posts covering the subject on various tech blogs and crypto-related subreddits yet, if you’re not familiar with the inner workings of blockchain and developer’s jargon, you’ll likely find most of them confusing.
Today, we’ll attempt to distill and dilute the technicalities and elucidate the intricate matter in plain English. We’ll explain what people even mean when they say scaling issue, talk about its causes, and list the ways blockchain networks are trying to resolve them.
Before we move any further, let’s recap quickly what blocks are what and mining is.
Blocks, as per our previous articles, are just batches of transactions submitted by blockchain users; bundled together, they’re appended to a network’s ledger in chronological order, each containing a reference to a previous block, thus forming a chain.
The miner’s role consists of compiling the blocks and writing them into a network’s history. However, to be granted that privilege, validators are also required to prove that they’re willing to put some effort – computational resources – into securing the network.
This is what we call providing proof of work.
So, before appending a block, miners compete in solving a mathematical puzzle – determining a cryptographic nonce that’s just a long random number. The first validator to guess it gets to write to the immutable history and is then rewarded by the blockchain with a certain amount of cryptocurrency.
On Bitcoin, the network adjusts the difficulty of these complex mathematical problems so that it takes a validator roughly 10 minutes to crack them. This is where we get the 10 minute block time from.
Proof of work is there to protect blockchains. As you can see, it makes attacking networks very difficult, time- and resource-consuming.
The blocks are limited in size. On Bitcoin, historically, they couldn’t exceed 1MB (this is not the case now though). They appeared every 10 minutes on the blockchain and only contained about 2000 transactions each, which meant the network was only able to process ~ 3 transactions per second. The limit on the number of transactions the network could process was small, so they were piling up which created congestion and prompted users who were in a hurry to pay hefty fees so that miners pick up their transactions and include them in a block.
Here’s how Bitcoin and other networks are trying to tackle the blockchain scalability problem.
When talking about Bitcoin, which is the largest decentralized network out there and the one suffering the most from the scalability issue, we must mention Segregated Witness (SegWit). It was first introduced by Pieter Wuille – Bitcoin core developer – at the Bitcoin Scaling conference in December 2015. The main benefit it was supposed to bring, initially, was fixing the issue of transaction malleability.
To get how SegWit works, one must understand the structure of a Bitcoin block. Each of them consists of a block header, a transaction counter, and a list of transactions, the latter taking up to 99% of the entire block size.
Transactions, in turn, are, too, made up of two elements – inputs and outputs. The former is what accounts for 65% of the weight. The reason inputs are so hefty is because they contain signatures and public keys – the data used to prove that a transaction is spendable and that a person who created it has the corresponding private key.
The main gist of SegWit is scraping the signature data out and relocating it to something called the witness – a structure at the end of the transaction, which allows miners to cram more transactions into each block. With this new structure, the block size on Bitcoin can be extended from 1MB to just under 4MB. This helps relieve the congestion.
SegWit was activated earlier this year – on the 24th of August. As of now, about 40% of the total transactions are done using the new structure.
However, many believe that SegWit will only bring temporary improvements and that it won’t suffice once the network grows bigger. There’s no telling if that’s true, but what we can say for sure is that the new structure will allow implementing other promising scalability solutions such as the Lightning Network.
In a nutshell, the Lightning Network (Raiden Network, etc.,) is a layer-two solution (that’s to be put on top of blockchains) that enables people to open off-chain channels with each other and then transact across them indefinitely, without having to pay transaction fees.
Miners only get paid when you open the channel and when you close it. All the intermediate transactions are not broadcasted to the network, and thus free. The participants settle these themselves using multisig addresses (smart contracts), which means they can be through with them in seconds.
The concept, unnamed at that point, was described initially by the founder of Bitcoin Satoshi Nakamoto, back in 2013. However, the more detailed explanation of how the Lightning Network works – the one we’re discussing here – was laid out in a 2015’s whitepaper by Joseph Poon and Thaddeus Dryja.
The aim of the Lightning Network is relieving Bitcoin’s congestion. It upcoming adoption, however, is still often met with a great deal of skepticism. At the technical level, the LN will relly on routing – instead of opening a private channel with every person you’d like to transact, you’ll be able to hop through multiple channels your friends have to reach that person. Other people, in turn, will use your channels, and so on. But there’s a problem. For this to work, each channel in the chain should be big enough to facilitate the transaction – if it’s a 1BTC channel, there is no way send 2 BTC across it.
The technology has not been battle-tested yet so let’s hold our predictions for now. It does have lots of promise; it would make perfect sense for, say, exchanges on Bitcoin to adopt it first to execute microtransactions, speedily, with their clients. We’ll see.
SPECTRE and PHANTOM.
Lastly, we’d like to discuss the SPECTRE protocol – a proposal for scaling Bitcoin that came from Israeli researchers Yonatan Sompolinskyand, Aviv Zohar, and Yoad Lewenberg in 2016. The idea here is to implement a data structure called Directed Acyclic Graph (DAG), instead of the flat linked-list structure Bitcoin is currently using, and thus enable parallel block creation and parallel block mining.
The founders say they want to produce a system where every single block is integrated to the public ledger, and there is no waste of power. Moving to DAG, according to them, will reduce the time of block creation to a few blocks per second (Proof of Work will be easier, and the 10-minute rule will be abandoned). There won’t be bottlenecks imposed on the system’s throughput, and the current level of security will be retained no matter how many transactions the network processes each second. The only limits will be those dictated by the network infrastructure and, particularly, nodes’ bandwidth.
Naturally, there will be many orphan blocks but they will still be merged together in the end, and the system will output a consistent set of transactions.
In 2018, the same developers proposed another solution – a sequel to SPECTRE – called PHANTOM. The new one promises to enable linear ordering of blocks which SPECTRE couldn’t do.
According to the paper, the system will use something called “greedy algorithm” to accept blocks that were submitted by honest nodes. It will ignore the blocks mined by “non-cooperating nodes”.
As of now, both SPECTRE and PHANTOM, both fascinating concepts, are just white papers that have yet to be implemented. However, there’s a team named DAGlabs, which includes the initial researchers, that’s trying to bring these ideas to life.
Bitcoin’s SegWit may have been the first real step towards finding the solution to the scalability issue, but there’s no doubt at this point that additional measures will have to be taken before the congestion is gone. There are many proposals circling around the space as to how to make blockchains fast, so let’s pay close attention to what happens.
Want to learn more about the scalability issue and blockchain in general? Contact our expert to get a free consultation right now.