There’s been quite a bit of discussion concerning the block size debate again with the recent Scaling Bitcoin event in Hong Kong. Many BIP proposals and concepts were brought to the public’s eye by a few engineers working on Bitcoin’s code. One of the ideas called “Segregated Witness” was brought to the table at the conference by developer Pieter Wuille, and seems to have sparked a new discussion within the community.
Also read: The Mycelium Card Network Is Coming
Proposing the Segregated Witness Concept
Day two of the Hong Kong Scaling Workshop introduced Peter Wuille’s topic on scalability with a new idea. The presentation called “segregated- witness-and-its-impact-on scalability” (SegWitness) is a mechanism that acts as an observer for transaction signatures within the blockchains entries. Signatures act as “witnesses” by authorizing tx outputs from the original owners.
The idea behind this is to relocate the witness inputs away from transaction hash by creating its own individual tree. This means that full nodes will validate tx data blocks but with the signature data separately. Light clients will skip the separated data entry entirely. Wuille states in his presentation that currently there exists a mechanism that validates these signatures using checkpoints. He then proceeds to explain that people would like to cease this activity saying, “we want to deprecate that soon, but the result will still be that we’re not validating all signatures from years ago in deep history.”
Integrating SegWitness doesn’t necessarily lighten the blockchain load, but rather partitions it so it can be handled more smoothly. It can be analogous to moving to a new state and hiring a company to help alleviate your travels. You take your most prized possessions with you on your trip while the moving business takes a few things you don’t necessarily need, but nevertheless you still want to keep. In the Bitcoin world, the concept is similar to this analogy and, in turn, may make a few things possible throughout the network.
This presentation marks a turning point for #bitcoin
— Andreas (@aantonop) December 8, 2015
Wuille also asked the Hong Kong attendees if people believe it would “be nice to drop the signatures?” This is currently not possible because signatures are included within the transaction hash. You cannot delete this protocol from the transaction, though Wuille implies that it can be marked as “special” in a separate designation.
“one way to do this is change the merkle tree that blocks have to commit to the transaction IDs, into two-sided tree where one side refers to the transaction IDs without the signatures, and then there’s a second tree, exactly constructed, in the same way, but it contains the hashes without the signatures,” he explains.
One possibility is the SegWitness could possibly curb malleability attacks and maybe even make the problem nonexistent. Now with the “witness protection program,” partial nodes can better participate as simplified payment verification. It also opens up the doors of initiating fraud proofs that are significant to ideas like the lightning network. With this additional feature a complete lightning channel can be applied to the Bitcoin blockchain and subsequently compensate for complete on-chain transactions.
Wuille notes that this new element of marking the signature relay doesn’t delete the function but merely runs it alongside the process of transacting. He says:
“It’s just a realization that, whenever we relay data to an old node, we can drop the witness. To them, the transaction is valid without it. Because the witness does not impact the txid, you can say it’s not really a part of the transaction, it’s just another piece of data we relay along with the transaction instead.”
The opinion concerning SegWitness in the community’s eyes seems to be back and forth. Some believe it’s a great idea and can add many possibilities to the network especially concerning side chain applications. Meanwhile Wuille feels this produces a “far-more scalable full-node or partial-full-node model,” although this comes with a security tradeoff that some may not agree with. However, it’s an addition that could enable a soft-fork as opposed to a hard fork within the client.
With an implementation of SegWitness users can download the blockchain and verify transactions without downloading as much data. The plan is already planned in the side chains alpha and could possibly allow larger data and up the block size to 2mb blocks. If SegWitness is not implemented, it is believed that a 2mb size is a fairly safe increase for the network to test.
What do you think about this segregated witness concept? Let us know in the comments below!
Images courtesy of Peter Wuilles Slide Presentation, and Redmemes