The long-lasting block-size dispute has catapulted into the center of attention again. One of the most talked about developments right now is Segregated Witness, of which a public testnet iteration was launched last week. The innovation as recently proposed by Blockstream co-founder and Bitcoin Core developer Dr. Pieter Wuille is a centerpiece of a scalability “roadmap” set out by Bitcoin Core.
But relying on Segregated Witness as the next step of Bitcoin’s scalability process is contended by recently launched Bitcoin Core fork Bitcoin Classic. Rather than a Segregated Witness soft fork, Bitcoin Classic prefers to deploy a “cleaner” hard fork in order to increase the block-size limit to 2 megabytes.
To find out where the development community stands on this issue, Bitcoin Magazine reached out to library and wallet developers, those who will need to do the heavy lifting needed to utilize Segregated Witness once rolled out.
In part 1: Blocktrail CTO and BitcoinJS co-maintainer Ruben de Vries.
Segregated Witness
Wuille’s Segregated Witness proposal offers several improvements to the Bitcoin network. The benefit that probably received most attention is its potential to effectively increase the block size to some 1.75 megabytes to 2 megabytes. Interestingly, however, many developers are more excited about the other improvements Segregated Witness has to offer, which they believe makes it well worth the effort.
De Vries, too, emphasized that Segregated Witness offers more than just added block space:
“Even if we wouldn’t use the deployment of Segregated Witness to increase the block size in a nifty way, it fixes various issues that would benefit Bitcoin tremendously, and should be deployed as soon as possible, regardless. Being able to increase the block size as a side effect presents us with a chance we should clearly embrace, especially considering that it can be done on almost the same timeline as alternative block-size increase proposals.”
One of the main arguments against Segregated Witness, is that it presents an “ugly” workaround of existing code. This would lay an added burden on library and wallet developers, as they would need to re-write their code to utilize the innovation.
De Vries believes this effort is manageable, however. Most of the work needs to be done by library maintainers, a group of developers who essentially provide a standard for all wallets using a specific programming language. All other wallet developers using that programming language merely need to add some minor details.
“It’s not very complicated if you already know the ins and outs of the Bitcoin protocol, which a library maintainer will,” De Vries said. “To grasp the concept when you don’t is a bit harder. But then again, if you don’t know the ins and outs of the Bitcoin protocol, there’s no real reason for you to know the details of Segregated Witness in the first place.”
De Vries himself has been developing for the Segregated Witness testnet for several weeks now, and the cross-platform Blocktrail wallet will support Segregated Witness transactions as soon as it is rolled out on the Bitcoin network.
“I started experimenting with the Segregated Witness testnet even before it entered the public phase, in order to start working on support for a bunch of libraries I contribute to a lot,” De Vries said. “Getting as many libraries to support Segregated Witness as soon as possible will help a lot with adoption, and, as a result, will make it so that we can get the increased block-size effect of Segregated Witness as soon as possible.”
On Soft Forks and Hard Forks
Perhaps the most notable difference between Bitcoin Core and Bitcoin Classic is that the former prefers a soft fork increase through Segregated Witness. This can be employed through miner-support only, and is, therefore, considered a safer solution by Bitcoin Core developers. The Bitcoin Classic team, however, believes these risks are overblown, and considers a hard fork more desirable.
For De Vries, the solution is clear-cut, however. He believes a soft fork through Segregated Witness is the best way forward for now.
“Considering how much the Bitcoin Core development team has done for us in the past year, I feel that pushing them aside by forking is an insult to their expertise: They consider a hard fork too dangerous right now,” De Vries said. “Moreover, it could result in them losing their motivation or even quitting. It’s simple, really. Segregated Witness fixes various issues that should have been in Bitcoin from the start, and, as a side effect, we can avoid a hard fork for now, which is great.”
For more information on Segregated Witness, see Bitcoin Magazine’s three-partseries on the subject.