Bitcoin transactions are completely digital, and they can seem instantaneous, at least to us mere human observers. However, the truth is that some of the time, those transactions can take a very long time. What’s more, the longer a transaction takes, the higher its cost. There is a solution, though. A new technology, called SegWit, or Segregated Witness, promises to increase bitcoin speeds and reduce costs. What is it and how does it achieve those goals?
What Is SegWit?
SegWit is what is called an “implemented soft fork”, and it was originally designed and proposed to achieve two different goals. One of those was the malleability of bitcoin. The other was to address the blockchain size limitation that was slowing down bitcoin transactions on many networks. What is malleability? Simply put, it means that while all bitcoin transactions are cryptographically signed, the signature on the transaction does not span all the data in the transaction. The loss of or even theft of bitcoins from individual transactions is possible due to that problem.
What is the blockchain size limit? Simply put, the way bitcoin and blockchain technology were originally designed, there was no limit on block size. They could be any size. The problem was that this allowed hackers to add in fake data, creating false blocks and use that to advance a DoS attack. To counter that, the block size was limited to a single MB per block.
According to a February 2018 story on CNBC, both Coinbase and Bitfinex have adopted SegWit, and both networks expect the technology to speed up transactions, and even reduce the costs of each transaction by up to 20%.
How Does SegWit Work?
SegWit addresses both the malleability problem, and the issue of block size limitations slowing down transactions. In terms of the size limitation, it gets around the problem of huge blocks being used by hackers by cutting each transaction into two. It allows very large block sizes, but the actual size is hidden as SegWit relies on a measurement of one million units per block, and eliminates the notion of bytes completely.
It also separates the witness signature data from the Merkle tree record of sender/receiver. That data is moved to the very end of the block, and rather than counting as a full unit, each byte of witness data would only count as a quarter of a unit. Essentially, this increases the maximum block size from 1 MB to 1.8 MB. The benefit here is that it is backwards compatible with older bitcoin protocols, meaning there is no need to invest in new software.
As far as malleability is concerned, SegWit addresses that by making it impossible to change the signatures on a transaction (by moving them to the end). This ensures that the transaction ID can no longer be manipulated, reducing the chance that bitcoins could be stolen from within a transaction. Note that this is of particular importance on the Lightning Network. It also allows another important benefit that touches on transaction speed. Because these transactions are now more secure, it allows smaller transactions to be bundled together, offering faster processing and less time required.
If the name SegWit sounds familiar, it is because a similar measure was attempted in early 2017. Called SegWit2X, or SegWit2Mb, it was ultimately allowed to drop when it lost most of its support. It would have allowed a 2 MB hard fork within six months of adoption, but it was deemed that the 1.8 MB block size limit was ultimately preferable to a 2 MB block size limit.