In our previous Bitcoin block size series, we covered popular debates on how to increase the Blockchain’s 1MB limit. This time, we will unravel the differences between the main proposed scalability solutions for Bitcoin. These include Segregated Witnesses (SegWit) and bigger blocks proposals. We will also understand how SegWit differs from SegWit2X.
So, What is the Difference between SegWit and Big blocks?
SegWit | Big blocks | |
---|---|---|
Main idea | Indirectly scales the blockchain by segregating the signature data and freeing up space for more transactions. | Directly cale the blockchain by increasing the limit from 1MB to 8M, 32M, etc, to handle more transactions. |
Fork | Soft | Hard |
Main advantage | Segwit prevents third-party and scriptSig malleability by allowing Bitcoin users to move the malleable parts of the transaction into the transaction witness, and segregating that witness so that changes to the witness does not affect calculation of the txid. | First, it allows more transactions per- second. Second, lower transaction fees. Higher miners’ salary is the next crucial benefit. |
Main disadvantage | The end result of SegWit would be unreliability: you could find the witness hash, but it’s not certain that you could find the digital signature. Also, it’s a short-term solution to long-term problems. | Bigger blocks lead to a bloated blockchain, which lead to nodes being unmanageable for the regular person. Ultimately, that could lead to centralization of nodes. |
How SegWit Works
In short, SegWit solves 2 problems:
- First, Segwit can adjust the amount of information to be stored in each block and create space for more transactions per block.
- Second, SegWit acts as a foundation for the Lightning Network. This is one of the proposed solutions that should generate a significant increase in network traffic by coordinating most transactions outside of Blockchain and processing them appropriately faster.
Each transaction consists of two components, the transaction header and the body of the transaction. The sender’s signature is in the header, which together takes up a relatively large amount of space in each block.
SegWit offers to extract the signature from the part of the check with the transaction data and separates it from the check itself, while reducing the size of each transaction. This leads to the possibility to include more transactions in each block, which improves the performance of the entire network.
Knowing that a signature is a transactional evidence, we can very easily understand where the name “Segregated Witness” came from.
The mechanism described above will not solve the scalability problem by itself. SegWit also fixes the problem of transaction malleability as this is necessary to prepare second layer scalability solutions like the Lightning Network protocol. The lightning enables the transfer of millions or billions of transactions per second. By comparison, before that, Bitcoin could only carry out 7 transactions per second.
What is Transaction Malleability?
Each transaction has its own unique ID. It is variable depending on the transaction data. In practice, if the amount of BTC sent by us changes, this identifier (transaction ID) also changes. This is also the case when the signature is changed, as it is contained in the transaction data.
This means that anyone who manages to change the signature has control over the change of the transaction ID. This is especially dangerous because Bitcoin is organized around them. Each new transaction refers to the previous ones to verify the authenticity of the signature. This problem is known as transaction malleability.
Improving this problem opens the way for the introduction of the Lightning Network. Core developers say it is possible to implement the Lightning Network without repairing the deal deformability problem, but SegWit greatly simplifies the task.
How Does the Lightning Network Work?
The Lightning Network is an off-chain solution, which means that numerous transactions are processed outside of the main Bitcoin blockchain, and only the effect of that processing goes into the chain. In any payment network, whether cryptocurrency or traditional, micropayments make up a large number of transactions.
Micropayments cover typical day-to-day transactions, usually between individuals or consumers and retailers. In the case of Bitcoin, the large influx of these micropayments can lead to a network slowdown and an increase in transaction fees for everyone.
The Lightning Network was developed to settle small payments outside the chain, thus leaving more room for larger transactions. This protocol itself relies on the creation of multiple payment “channels”. Two users can open such a channel with each other and send or receive an infinite number of payments as long as the channel is open.
How Big Blocks Work
The big block ideology is all about increasing the Bitcoin’s network to where it can take more transactions per second. This will allow the Bitcoin to function as a cash alternative and compete with traditional payment systems.
The main proposed scalability solution to achieve the above goals was inventing Bitcoin Cash, an alternative currency to Bitcoin, with 8 megabytes block size.
Also, with the increase of the overall scalability of Bitcoin Cash, validation times and fees of the transactions decrease. Commissions for a transaction of 236 bytes may cost senders as little as $0.001-$0.008, as reported by Bitcoin.com.
It’s worth noting that while SegWit and big block, increasing the network’s transaction processing limit requires making changes to the technical workings of bitcoin, in a process known as a Fork. Forks can be grouped into two types: hard fork and soft fork.
Understanding Hard Fork Vs Soft Fork
Fork is a technical term commonly used by Bitcoin developers in particular or generally in the programming world and especially in open source projects.
It is simply “ Software Updates “ Or “ Patches “. For example, when you update the application on your smartphone (mobile application), you get a fork from the old version, the concept of “ fork “ in Bitcoin is similar. For Bitcoin, there will be two different Fork concepts: HardFork and SoftFork
Hard fork | Soft fork | |
---|---|---|
Backward compatibility | Lacks backward compatibility | Has backward compatibility |
Acceptability | Older nodes refuse to accept new blocks | Older nodes accept new blocks |
Restriction | Consensus rules become less restricted after fork | Consensus rules become more restricted after fork |
Software upgrade | Users must upgrade their software to run it | Software upgrade is not obligatory for all users. |
Outcome | Two different coins and two different blockchains | Still one coin and one blockchain. |
How Does a Hard Fork Work?
Hard fork is a mandatory software update and will conflict with an older version. Forked programs will not run without updating it. For example, there is a serious bug in the software. If you want to keep using it, you need to update the software.
If not, the program cannot be used. Also, there’s no way to reverse HardFork except for a few unexpected bugs or issues. This would be the case with HardFork overtime and revert to the old version.
Examples of a Hard Fork include:
- Bitcoin cash (a hard fork of Bitcoin
- Ethereum classic (hard fork of Ethereum)
- Bitcoin SV (hard for of Bitcoin cash)
How Does a Soft Fork Work? Since the software update does not conflict with the previous version, it is not required and allows the network to adapt the new features during processing. Even though a soft fork is installed even while your computer is running the old program, you can still use it.
If Soft fork doesn’t work, has a bug, or people don’t accept it, it’s completely reversible and may fall back to the old version. Most of the software you currently use is controlled by a single entity. So every time they want to fork out the original program, they just need to update in the form of Soft fork.
Examples of a Soft Fork Include:
- Segregated Witness (SegWit)
How Does SegWit Differ from SegWit2X
SegWit was a soft fork suggestion, while SegWit2x was a hard fork proposal.
Let’s start with SegWit
The goal of Segwit for Bitcoin is to adjust the amount of information that must be stored in each block, which can be done through the Soft fork process (changing the Bitcoin protocol as soon as old transaction blocks are new). At the same time, the old nodes will accept the new transaction blocks as valid.
A soft fork can be made backwards compatible - the new version can work with the old version - because Soft Fork only needs most miners to agree to the upgrade to enforce the new Bitcoin regulations)
As such, Segwit only requires a Soft Fork (without a hard fork). This can be done quickly and will not break the Bitcoin Blockchain into 2 (due to the soft fork’s backward compatibility).
It will not be an absolute and permanent solution for Bitcoin as the block size does not increase, so no matter how you adjust the amount of information stored, it will be time to fill and then the current problem will arise.
The future is not long especially when the current number of Bitcoin transactions it is large, but actually not that significant compared to real money transactions in the world.
Now, how is Segwit 2X different?
Though SegWit2x is not the first Bitcoin scaling solution proposed. But SegWit2x has a few minor differences from previous solutions.
In fact, SegWit2x is not based on a new initiative, but is synthesized and refined on the basis of previous proposals.
Indeed, fully understanding the nature of the SegWit2x proposition is challenging even for those with in-depth knowledge. However, we’ll try to summarize the most basic ideas for everyone to understand. The SegWit2x plan will upgrade Bitcoin in two steps:
First, a SegWit made with a soft fork will be implemented, as suggested by the Bitcoin Core team. SegWit will help increase the amount of transaction information that can be stored in a block without increasing the block size. Besides, it also supports transaction flexibility.
The second phase is increasing the block size on the Bitcoin network from 1MB to 2MB, which is expected to start 3 months after SegWit’s success. Increasing the block size is a scaling option that has been proposed for a long time, simply by updating the system software to allow the integration of 2 MB blocks.
In short, you can understand Segwit2x is Segwit plus 1 batch of Hark fork block size is up to 2MB, but the desire is not divisible by the Bitcon community.
Conclusion
Agreeing on one way to scale the Bitcoin blockchain can be a challenging and intimidating endeavour, but don’t let this put you off harnessing the enormous opportunities a bigger block has to offer.
While the scalability issues of Bitcoin seem inexhaustible, you can serve as a useful tool to help you avoid the common issues faced by users and start contributing to the BITCOIN8M initiative of scaling Bitcoin and saving a promising future.
Bitcoin-8m does not cause a hard fork. The DEFAULTBLOCKMAXWEIGHT is not changed; it’s still equal (4000000 - 4000). As a result, miners still can’t mine any block with weight exceeding this number, so a hard fork will not happen. Every miner action using this build will be the same as when using the bitcoin core version. Only when 95% of miners use our build, we will increase the value of this constant, in that time bitcoin will be completely updated.
Join our Reddit Bitcoin8m community and participate in ongoing discussions.