“Segregated Witness [Segwit] is the most radical and irresponsible protocol upgrade Bitcoin has faced in its eight year history,” wrote the pseudonymous author Jaqen Hash’ghar for Medium. “The push for the [Segwit] soft fork puts Bitcoin miners in a difficult and unfair position to the extent that they are pressured into enforcing a complicated and contentious change to the Bitcoin protocol, without community consensus or an honest discussion weighing the benefits against the costs. The scale of the code changes are far from trivial — nearly every part of the codebase is affected by [Segwit].”
Segwit and “Irreversible Technical Debt”
Proposed by Bitcoin Core, Segwit has sparked a discussion about whether to fundamentally change the Bitcoin network or scale it as it is. While Bitcoin Core has proposed Segwit (a soft fork), rival project Bitcoin Unlimited has proposed a hard fork. Mr. Hash’ghar urged, in a somewhat new twist, implementing segwit as a hard fork.
Segwit as a soft fork could encumber Bitcoin “with irreversible technical debt”, wrote Hash’ghar. And, the well-researched writer contended, the soft fork solution undermines the fungibility of the currency. Miners “should reject the activation of SW as a soft fork and implement it as a hard fork.” If Segwit implementation goes awry, costly situations could arise.
“If any critical bugs resulting from [Segwit] are discovered down the road – bugs serious enough to contemplate rolling it back – then anyone will be able to spend native [Segwit] outputs, leading to a catastrophic loss of funds”, Hash’ghar said. “Potential bugs could bring interesting game theory considerations into play”.
“With a risky upgrade that moves transaction signatures to a new witness field that is hidden to some nodes, the incentive for the rational actor is to let others take that risk first, while the rational actor sits back, waits, and watches to see if people lose funds or have problems,” he stated.
Hard Fork, Soft Fork
Gavin Andresen, a long-time Bitcoin developer who worked with Satoshi Nakamoto, defined the differences between hard and soft rule changes in the context of a blockchain:
…there are “soft” rule changes and “hard” rule changes. “Soft” changes tighten up the rules– old software will accept all the blocks and transactions created by new software, but the opposite may not be true. “Soft” changes do not require the entire network of miners and merchants and users to upgrade or be left behind.
“Hard” changes modify the rules in a way that old, un-upgraded software consider illegal. At this point it is much, much more difficult (some might say impossible) to roll out “hard” changes, because they require every miner and merchant and user to upgrade.
In a hard fork, opponents of Segwit contend, “Users who unequivocally disagree with a change being made are given the clear option not to adopt the change — not so with a soft fork.”
Segwit’s BIP9 soft fork, supporters claim, gives full node operators sufficient warning of changes, and they can choose not to join the network or fork to a different network if they choose.
That segwit features backwards compatibility, thus not requiring all nodes to make the upgrade, further weakens the “general security of Bitcoin as a whole,” according to Hash’ghar.
The author believes Segwit will result in fewer fully validating nodes on the Bitcoin network as “non-upgraded nodes will only perform the initial check to see if the redeem script hash matches the pubkey script hash of the unspent output” – i.e. the older nodes will not be able to help out confirming and securing the new pieces in the confirmation puzzle that is Bitcoin, if the network softforks to Segwit.
On the contrary, Segwit proponents say the soft fork implementation will instead encourage more nodes on the network, and that hard forks, in fact, discourage nodes from joining. Having to upgrade their node themselves in a hard fork ecosystem discourages individuals from running full nodes due to the maintenance costs, these soft fork proponents claim.
Must All Chains Fork?
The Medium post, with the undertitle “All Chains Must Fork”, has been widely-shared on social media. Some contend there is no perfect solution for scaling Bitcoin. Engineering is about tradeoffs. The Bitcoin community has, in numerous venues, discussed and analyzed in depth segwit and other solutions. Core developers maintain segwit is the result of “a lot of careful analysis.” They’ve determined a soft fork is less risky when deploying consensus rule changes.
Opponents of hard forking Bitcoin cite the recent Ethereum Classic debacle, which disrupted the Ethereum ecosystem and led to network fracturing via Ethereum Classic. But Bitcoin is very different from Ethereum with its two week long difficulty adjustment period. Still, many call for a open and fervent debate still to be had.
“[Segwit] represents an unprofessional and ineffective solution to both transaction malleability and scaling,” according to Mr. Hash’ghar. “As a soft fork, [it] introduces more technical debt to the protocol and fundamentally fails to achieve its design purpose… these issues are too important for the future of Bitcoin to gamble on [Segwit] as a soft fork and the permanent baggage that comes with it.”
What are your thoughts in the epic Bitcoin block size debate? Let us know in the comments below…
Bitcoin.com believes in freedom of speech – and that’s what you’ll always find on our Forums. We don’t censor anyone, no matter how controversial your opinion and no matter what direction you support for bitcoin’s future. All the experts hang out there; you’re bound to get some good advice.