Bitcoinj Maintainer Andreas Schildbach: Segregated Witness worth the Effort
The long-lasting block size dispute has catapulted into the center of attention again. One of the most talked-about developments is Segregated Witness, of which a public testnet iteration – SegNet – waslaunched in January. 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.
To find out where the broader development community stands on Segregated Witness, Bitcoin Magazine reached out to library and wallet developers, those who will need to do the heavy lifting in order to utilize the innovation once rolled out.
Segregated Witness Makes Future Extensions Easier
Schildbach is the developer behind Bitcoin Wallet, the first and very popular Bitcoin wallet app for Android. He also maintains the bitcoinj Java library, which was initially created by recent R3CEV-hire Mike Hearn, and provides the basis for Bitcoin Wallet and many other wallet apps.
While Segregated Witness received a lot of attention in light of the block size dispute, many developers are particularly excited about the improvements to the Bitcoin protocol that don’t concern the block size limit directly. Schildbach, too, believes Segregated Witness offers many benefits beyond just the added transaction capacity.
“Segregated Witness complicates wallet development a bit, but I think it is worth the effort, as it will make future extensions to the Bitcoin protocol much easier,” Schildbach said. “Think of stuff like fraud proofs, a new signature algorithm, increased extensibility, not to mention a fix to the malleability problem – things we thought we’d need a hard fork for at some point.”
Segregated Witness also offers an effective block size increase to a range between 1.75 megabytes and 2 megabytes, depending on the types of transactions. Schildbach is skeptical, however, that this will be enough:
“When it comes to the block size topic, I think Segregated Witness is not a solution at all. In the most optimistic estimations, Segregated Witness offers an added 1 megabyte per block. I think that in practice, actual usage will grow slower with Segregated Witness compared to a 2-megabyte hard fork increase, as it requires all wallets and services to upgrade. The space optimization is nice, but just a bit of sugar on top of the other advantages. We will need to see more to achieve real scalability.”
Soft Fork “Liveable”
Roll-out of Segregated Witness on the Bitcoin network is currently scheduled for April. Once a super-majority of miners agrees to the solution, Segregated Witness will be activated, and can be utilized by wallet and app software.
Segregated Witness is currently being integrated in bitcoinj, and Schildbach hopes that both bitcoinj and Bitcoin Wallet will be ready to utilize the benefits once the protocol change is rolled out.
“I drafted a rough schedule for development,” Schildbach said. “Other developers are doing most of the work, so I can focus on code review. I’d say it can be done in a matter of weeks. Once it is done, all wallets built on bitcoinj can simply use the code with minimal effort.”
The intended roll-out method of Segregated Witness through a soft fork is being contested by recent Bitcoin implementation Bitcoin Classic. While a soft fork would require only miners to upgrade, Bitcoin Classic plans to deploy a block size increase to 2-megabyte blocks through a hard fork instead, requiring all full nodes on the network to switch in unison.
Schildbach shared the concerns as presented by Bitcoin Classic, and believes a hard fork to be the preferred solution.
“Blocks are full, and I don’t agree that a hard fork solution would be short notice. We’ve been discussing this issue for years now! I would prefer we roll out a hard fork,” he said.
He added, however, “That said, I can live with a soft fork, too. And I hope one day a hard fork will be used to clean up the soft-forking mess we leave behind.”