SegWit, short for Segregated Witness, is a system that makes your Bitcoin transactions faster.
Why do we need SegWit?
Think of a single lane highway with 5,000 vehicles driving along smoothly. As traffic builds to 50,000 and more, that single lane becomes clogged forcing you to wait hours on end in congested traffic and maybe miss your appointment. That’s Bitcoin. It’s called the scalability problem, and it’s an issue that the smartest blockchain developers have been trying to find solutions to for years.
SegWit is the Bitcoin team’s solution.
The scalability problem
One of Bitcoin’s most aggravating issues is its lack of speed. Ten transactions take about a second on average to process. Compare that to payment companies like Visa that are able to process around 5,000 to 8,000 transactions per second.
Pay more and you can get yours to the front of the queue, but that makes Bitcoin an expensive and undemocratic system. Besides which, Bitcoin wants to make its platform as efficient and as whizzingly fast as the internet to retain its users and grow its appeal.
The SegWit solution
Bitcoin transactions are made up of blocks with each block able to absorb no more than 1MB of data.
The blocks come in two parts: a header and a body. The header stores a cryptographic hash of the previous block, along with a time signature and other data. The body stores the transactions, including sender data and receiver public keys, which shows you this is a legitimate transaction. Each part takes up room and increases the mass of the block. The signature part alone that is needed to validate the information takes up around 60 percent of its bulk.
This block, called the “witness” block is separate to Bitcoin’s original block. We now have more room in our core block to slip in more information. The block becomes lighter, so Peter’s idea also helps Bitcoin transactions move more efficiently.
In essence, Bitcoin added a parallel lane to its highway to divert some of its traffic from Route A (call it that) to Route B. Route A has the blocks with sender and receiver data, while the new parallel lane contains the “witness” segment with the scripts and signatures.
Result? The highway is less congested. Your Bitcoin transactions slip through faster.
- Node performance – The Bitcoin platform is less congested, so nodes can verify blocks, or transactions, faster.
- Cheaper transactions – At one time, increased demand raised fees. Now, Bitcoin can reduce its fees.
- Transaction malleability – Originally, the sender’s signature, or the transaction id (txid), was vulnerable to an intruder hacking and changing it and, thereby, hacking the transaction. By SegWit moving the signature from the transaction data to another “lane”, it protects your transaction data from being hacked.
- Linear scaling of signature hashing operations – For certain transactions, adding more data, expands the amount of time that each signature needs to be verified. Segwit resolves this by changing the calculation of the transaction hash for signatures so that each byte of a transaction only needs to be hashed no more than twice.
- Increased security for multi-signature transactions – SegWit provides two different scripts; one to a single public key that is vulnerable to hacking (and therefore to payments being stolen) and another that directs payments to a script hash. This boosts security for multi-signature transactions.
- Building on top – SegWit frees Bitcoin for the development of second layer protocols, like its lightning network. SegWit activation also boosted development work on other features such as MAST (which enables more complex bitcoin smart contracts), Schnorr signatures (which would enable another transaction capacity boost) and TumbleBit (an anonymous top-layer network).
- Protects Lightning Network – SegWit is great for payment channels like the Lightning Network (LN), where a vulnerable signature originally prevented more people from using it to remit Bitcoin.
Where is SegWit now?
In August 2017, Bitcoin finally integrated SegWit into its system. SegWit is called a “soft fork” which means it is compatible with Bitcoin’s old code, minimalizing the hassle to make SegWit work. A hard fork, in contrast, is a system that is so totally incompatible with the old that a separate blockchain and currency is needed to make it work.
In SegWit’s case, all the system needed was 95 percent of Bitcoin miners to accept the changes, which happened in less than a year.
In 2017, Bitcoin came out with a controversial hard fork SegWit 2x which increased block sizes from 1 MB to 2 MB. Most of the crypto community resisted SegWit 2x due to its ambitious changes. Consequently, the hard fork was canceled only a week before it was scheduled to occur.
What are the main problems with SegWit?
For one, miners and mining pool operators dislike SegWit. Transactions that go through Lightning Network are in a separate channel (i.e., the parallel “line”), which means these transaction fees will not flow to miners.
Some Bitcoin services – like Bitcoin wallets – have been slow to support the SegWit changes. In February 2018, only 14% of Bitcoin transactions were made using SegWit Bitcoin. The numbers have improved since then, but the network is still in the woods.
Critics complain that SegWit doesn’t go far enough to solve the scalability problem. They maintain that only major changes to the Bitcoin platform and to the way Bitcoin handles transactions can decongest transaction flow.
Finally, SegWit has caused divisions in the bitcoin community leading to several hard forks, such as Bitcoin Cash (BCH).