We’ve covered Bitcoin’s SegWit earlier. If you haven’t been following — SegWit stands for Segregated Witnesses. It’s a proposal to modify how bitcoin and its blockchain (the public ledger of bitcoin transactions) work so that a larger number of bitcoin transactions could be carried out in less time. Segwit2X goes a step further than SegWit and proposes another added measure to increase the speed of transactions on the bitcoin network.
For all the security, anonymity and freedom from central control that bitcoin offers, transaction speed has always been its Achilles heel. To put things in perspective, while a payment gateway like Visa can process thousands of transactions every second, the bitcoin network can process only seven transactions per second. If you wonder why transactions are slow and how Segwit2X could bring about a change, read on.
Blockchain and Block size
Bitcoin transactions are recorded in a ledger of transactions that is called the blockchain. It is made up of blocks which are linked serially to form the whole chain. Each block, in turn, holds transactions that have been validated over a period of about ten minutes. Bitcoin rules restrict the maximum size of a block to 1MB. Thus, only a limited number of transactions can be validated in a given amount of time (Up to a maximum of seven transactions per second).
The transaction limit wouldn’t be much of a problem if the number of transactions is low. But now that bitcoin is becoming mainstream and the volume of transactions is expected to rise exponentially, it could mean long delays before transactions could be validated. Also, people who validate transactions called miners could charge more for priority validation. This is a serious problem confronting bitcoin which needs to be solved for bitcoin to scale up and become ready for mass adoption.
Thus, bitcoin rules have to be changed to enhance transaction speed.
Soft fork and hard fork
A fork is caused by a change in the bitcoin rules about how transactions are validated and added to the ledger. This change in a rule can either be adopted by all, by some, or by none. In the first and the last scenarios, everyone either plays by the new rules or by the old rules. But in case that some accept the new rules and some don’t, bitcoin could split into two cryptocurrencies. This is called a fork. That is, two different versions of the blockchain are created, with each group following one.
A soft fork differs from a hard fork in those nodes (serves or computers which have the whole blockchain stored in them) following the old rules still recognise transactions validated under the new rules as legitimate. Thus, to avoid a soft fork, it isn’t necessary that nodes are upgraded to follow new rules. A soft fork can be avoided with just miners validating transactions under the new rules as nodes following old and new rules will accept the new rules.
The implementation of SegWit requires the support of miners alone to avoid causing a soft fork.
SegWit — a novel proposal
Segregated Witness, SegWit in short, is a novel proposal we’ve covered previously as well. SegWit increases the limit on the number of transactions that could be made in a period of time. It is novel in that it does this without increasing the block size of 1MB. Thus, no existing blockchain rules would have to be changed.
To understand how SegWit works, you need to know how bitcoin transactions work. Each bitcoin user has a bitcoin wallet identified by its unique address. And each wallet has a public key and a private key. When you send bitcoins to someone, what the software does is take bitcoin from your account and lock it with the recipient’s public key. This information is added to the blockchain. Afterwards, only the recipient can use their private key to unlock the bitcoins and use it in some other transaction. To allow everyone to verify that the transaction has been authorised by you and has not been made fraudulently, your signature is needed. The signature is a piece of code on which your public key can be used to verify that the transaction was authorised by you. Thus, your signature along with your public key is also added to the transaction information stored in the blockchain.
What SegWit does is to segregate this information and place it at the end of the transaction data with each transaction. Miners can see your signature and verify that the transaction was authenticated by you. But the signature doesn’t get added along with the other transaction data directly to the blockchain. Instead, all signatures are separated from other transaction data and are compressed together by a process called hashing. The resulting hash is added to the blockchain. Thus, the size of transaction data comes down and more transactions can be accommodated in a single block without exceeding the 1MB limit.
SegWit2X — increasing block size
SegWit2X goes a step further and proposes an increase in the block size to 2MB three months after SegWit is activated. This change requires both nodes and miners to accept the change to avoid causing a hard fork.
Though SegWit comes with a host of benefits, the bitcoin community is divided on the possibility of potential pitfalls with the implementation of Segwit2X. Some believe the implementation of SegWit2X could give bigger bitcoin mining pools an undue advantage in validating transactions, thus centralising bitcoin. There are also fears that increase in block size with Segwit2X could lead to network delays and might crash the system.
While SegWit rolled out in August and is now being slowly adopted for general and corporate transactions, the debate on Segwit2X is still ongoing and no consensus has been reached as yet within the bitcoin community.