What is scalability?
Scalability may be a measure of a system’s ability to grow to accommodate increasing the demand. If you host an internet site that’s overrun with requests, you would possibly scale it by adding more servers. If you would like to run more intensive applications on your computer, you’ll upgrade its components.
In the context of cryptocurrencies, we use the term to explain the convenience of upgrading a blockchain, so it can process a better number of transactions.
Why does Bitcoin got to scale?
To function in day-to-day payments, Bitcoin must be fast. Because it stands, it’s a comparatively low throughput, meaning that a limited amount of transactions are often processed per block.
Users attach these to their transactions to incentivize miners to feature their transactions to the blockchain.
Miners seek to form a return on their investment into hardware and electricity, in order that they prioritize transactions with higher fees. If there are tons of transactions within the network’s “waiting room” (called the mempool), fees can rise significantly as users bid to possess theirs included. At its worst, the typical fee was upwards of $50.
How many transactions can Bitcoin process?
Based on the typical number of transactions per block, Bitcoin can manage approximately five transactions per second at the instant. It’s much less than that of a centralized payment solutions, but this is a often one among the prices of a decentralized currency.
Because it’s not managed by a knowledge center that one entity can upgrade at will, Bitcoin must limit the dimensions of its blocks. A replacement block size that permits 10,000 transactions per second might be integrated, but it might harm the network’s decentralization. Remember that full nodes got to download new information roughly every ten minutes. If it becomes too burdensome for them to try to so, they’ll likely go offline.
If the protocol to be wont to payments, Bitcoin enthusiasts believe that effective scaling must be achieved in several ways.
What is the Lightning Network?
The Lightning Network may be a proposed scalability solution for Bitcoin. We call it a layer two solution because it moves transactions far away from the blockchain. Rather than recording all transactions on the bottom layer, they’re handled by another protocol built on top of it.
The Lightning Network allows users to send funds near-instantly and for free of charge. There are not any constraints on throughput (provided users have the capacity to send and receive).
To use the Bitcoin Lightning Network, two participants lock up a number of their coins during a special address. The address features a unique property it only releases the bitcoins if both parties agree. From there, the parties keep a personal ledger which will reallocate balances without announcing it to the most chain. They only publish a transaction to the blockchain when they’re done. The protocol then updates their balances accordingly. Note that they did not get to trust one another, either. If one tries to cheat, the protocol will detect it and punish them.
In total, a payment channel like this one only requires two on-chain transactions from the user one to fund their address and one to later dispense the coins. This suggests that thousands of transfers are often made within the meantime. With further development and optimization, the technology could become a critical component for giant blockchain systems.
What are forks?
Since Bitcoin is open-source, anyone can modify the software. You’ll add new rules or remove old ones to suit different needs. But not all changes are created equal: some updates will make your node incompatible with the network, while others are going to be backward-compatible.
A soft fork may be a change to the principles that permit updated nodes to interact with old ones. Let’s take block size as an example. Suppose that we’ve a block size of 2 MB which half the network implements a change from now on, all blocks must not exceed 1 MB. They might reject anything bigger.
Older nodes can still receive these blocks or propagate their own. Meaning that each one node remain a part of an equivalent network, regardless of which version they run. In the below animation, we will see that the smaller blocks are accepted both by older and updated nodes. However, newer nodes won’t recognize 2 MB blocks, because they’re already following the new rules.
Bitcoin’s Segregated Witness (or SegWit) is an example of a soft fork. Employing a clever technique, it introduced a replacement format for blocks and transactions. Old nodes still receive blocks, but they don’t validate the new transaction type.
A hard fork is messier. Suppose now that half the network wants to extend the block size from 2 MB to 3 MB. If you are trying to send a 3 MB block to older nodes, the nodes reject it because of the rules clearly state that 2 MB is that the maximum they will accept. Because the 2 networks are not any longer compatible, the blockchain splits into two.
The black chain within the diagram above is that the original one. Block 2 is where the hard fork has taken place. Here, nodes that have upgraded have started producing larger blocks (the green ones). The older nodes don’t recognize those, in order that they continue along a special path. There are now two blockchains, but they share a history until Block 2.
Now there are two different protocols, each with a special currency. All the balances on the old one are cloned, meaning that if you had 20 BTC on the first chain, you’ve got 20 NewBTC on the new one.
In 2017, Bitcoin went through a controversial hard fork during a scenario almost like the above. A minority of participants wanted to extend the block size to make sure more throughput and cheaper transaction fees. Others believed this to be a poor scaling strategy. Eventually, the hard fork gave birth to Bitcoin Cash (BCH), which split from the Bitcoin network and now has an independent community and roadmap.