Segregated Witness (SegWit) does more than condense transaction data that goes into the Bitcoin block. Marek “Slush” Palatinus, architect of the hardware wallet Trezor, pointed this out when he said:
“Segregated Witness is not just about scaling. There are other issues with Bitcoin under the hood, and SegWit opens potential for applications and use-cases that are not possible today. For those who think only bigger blocks will save Bitcoin’s exchange rate this is important to understand.
The narrative that surrounds SegWit makes us believe scaling is the only benefit it provides. The idea for SegWit took shape in late 2015, when the debate around Bitcoin scaling was also picking up. Around that time, core developer Eric Lombrozo authored and published the SegWit Bitcoin improvement proposal (BIP 141).
The association of SegWit with block size grew even stronger at a conference in Hong Kong on February 21, 2016, where the Bitcoin community formally adopted it as part of the scaling solution. Miners, core developers, and entrepreneurs present at the meeting agreed that SegWit would come as a soft fork to be executed before the hard fork designed to increase the block size. They wrote:
“We will continue to work with the entire Bitcoin protocol development community to develop, in public, a safe hard-fork based on the improvements in SegWit.”
On November 18, Bitcoin core developers released the latest version of the client software that includes the SegWit component. The majority of miners, wallet services, and exchanges have signaled support for it. If 95% of nodes and miners in the Bitcoin network adopt it by early next year, the new code will officially become part of Bitcoin.
Many expect SegWit to significantly change how Bitcoin works more than any previous upgrade.
The journey for SegWit has been long and challenging. Even at the writing of this post, the implementation of the solution isn’t out of the woods. For instance, the mining pool ViaBTC has expressed its intention to block it with the 8% of the network hash power it controls.
Much of the opposition comes from those in the community who believe that SegWit adds little capacity to the Bitcoin network. They see it as a distraction to the task of increasing the block size. Haipo Yang, ViaBTC’s founder pointed out in a Reddit Ask Me Anything (AMA) that threat to centralization is another reason they are opposed. He said:
“We won’t support the soon-to-be voted SegWit. I think we need decentralization too in Bitcoin development. Bitcoin should be defined by a standard protocol instead of mere codes.”
Those who hold this latter school of thought believe a hard fork is all Bitcoin needs. A hard fork happens when every node in the Bitcoin peer-to-peer network upgrades so it can communicate with the others and contribute to the verification of transactions. With a soft fork, on the other hand, nodes that haven’t upgraded can still communicate and coordinate with those that have upgraded.
What exactly is Segregated Witness? Segregated stands for “separate” and witness stands for “signature.” Together the terms mean removing digital signatures of Bitcoin transactions from the main block and carrying them in an extended block.
When SegWit goes live, it will implement a soft fork to create more capacity by shrinking the data that each transaction brings to the current block size. This creates room for more transactions in the main block.
The analogy many use to explain SegWit is that it’s akin to moving stuff from an overflowing garage to the shade in the front yard as a temporary solution before moving to a bigger house.
So, what are the benefits of SegWit beyond scaling? Here are three.
First, it will protect transactions from malleability. When a third party gains access and changes details of a transaction—especially its ID—while it is in transit, it becomes hard for users to track transactions. Some transactions can even be invalidated as a result. SegWit separates digital signatures from transactions and removes this problem.
Second, SegWit will make hardware wallets more secure, thanks to a small change to the core software that allows users to sign input values of transactions. Until now, users have only been signing outputs, which leaves room for the remaining funds in a wallet to go out as transaction fees. This risk is especially real if malware gets into the hardware and classifies the remaining inputs as huge transaction fees.
Finally, the separation of digital signatures from transactions will make it easier to effect further changes on the Bitcoin core client software without need for a hard fork. It is easier to execute a soft fork than a hard fork. SegWit removes the need to use hard forks for a majority of changes and opens the door for fast improvements to the network.