Bitcoin Developer Eric Lombrozo on Five Benefits of Segregated Witness

Segregated Witness has become the most talked-about breakthrough in Bitcoin development since the concept was presented in early December to the Scaling Bitcoin Workshop in Hong Kong by Bitcoin Core Developer Pieter Wuille. One of the men that Wuille thanked in the last slide of that presentation was Bitcoin Developer and Ciphrex CEO Eric Lombrozo.

Lombrozo gave a presentation on the future of Bitcoin scalability at the recent Blockchain Agenda Conference in San Diego, where he outlined some of the key benefits of Segregated Witness (SegWit). Although much of the Bitcoin community thinks of SegWit in terms of getting more transactions into each block, the reality is that this innovation offers more than that. When first mentioning this concept to the audience at the San Diego Convention Center, Lombrozo stated:

“This is one of those ideas that – in hindsight – once you understand it, you think this is how it always should have been done.”

1. Stuffing More Transactions Into Blocks

Lombrozo first pointed out that most nodes are interested only in the transactions that affect themselves. He explained:

Scripts take up a lot of space and consume bandwidth. Most nodes are not interested in every single script and every single signature of every transaction on the blockchain. They’re usually mostly interested in the [transactions] that concern them.”

Lombrozo explained that SegWit allows nodes to ignore data that they were unlikely to use anyway. He added that this new feature would essentially free up more space for transactions in each new block:

“Every single time that you have to download blocks and transactions, you download all of this data that most nodes are just going to end up throwing away anyway. This can actually give us about two-thirds or more additional space, so we can put [more transactions] in the blockchain.”

Although the Bitcoin community has focused on an increase in the block size limit to increase transactional capacity, SegWit is able to achieve the same goal through alternative means.

2. Fixing Transaction Malleability

Transaction malleability has been a thorn in the sides of Bitcoin developers for years. During the collapse of Mt. Gox, Mark Karpeles attempted to blame the loss of customer funds on this issue in the Bitcoin protocol. Transaction malleability has also been used to perform DoS attacks on the Bitcoin network.

During his talk, Lombrozo noted that SegWit has the ability to slay the dragon of malleable transactions once and for all:

“It fixes transaction malleability. Now, you can sign transactions independently of transaction identification, so you can construct these very long transaction chains and make it so that the order they get signed in doesn’t matter.”

A fix for transaction malleability is also required for the Lightning Network to function properly, so it’s possible that SegWit will be able to improve Bitcoin’s ability to scale in more ways than one.

3. A Mechanism for Adding New Opcodes

Adding new opcodes to Bitcoin has been a difficult proposition in the past, but SegWit creates a better method of upgrading the scripting language. Lombrozo noted:

“It provides a powerful script upgrade mechanism. Up until now, we really didn’t have a good way to upgrade or add new opcodes to the scripting language.”

Lombrozo then took his statement to another level, saying:

“With this, I believe we can actually replace the scripting language entirely with a soft fork.”

Opcodes are what enable various types of transactions on the Bitcoin network. One of the most recent opcodes added to Bitcoin was OP_CHECKLOCKTIMEVERIFY. As a side note, new opcodes are required to bring sidechains functionality to the Bitcoin blockchain.

4. A More Flexible Security Model

Lombrozo also talked about how SegWit can enable new security models for Bitcoin transactions. He explained:

“It makes it possible to add new, partial proofs for future soft forks. This allows for fraud proofs and other kinds of cryptographic proofs, which would allow us to have more flexibility in the security model, so we can decide how much we want to trust other peers and how much we want to validate for ourselves.”

Validation on some transactions can be much lower than others, so it makes sense to allow users to choose the level of security they need in different situations. For example, someone purchasing their morning coffee does not require the same level of validation as a financial institution settling a day’s worth of transactions with another entity. Transactions with less validation can bring more efficiency and scalability to the Bitcoin blockchain, but it’s important to understand the security tradeoffs.

5. Bandwidth Requirements Are Lowered

Bandwidth availability is one of the key requirements for running a full node on the Bitcoin network. Lombrozo explained how bandwidth requirements are lowered via SegWit:

“When we separate the effects from the scripts and signatures, now we can download these things from different peers at our own leisure – however we want. This allows us to optimize for the peer-to-peer layer significantly, since now we no longer need to be propagating everything all the time. We only propagate the things that are necessary at that moment for the particular peer.”

There may be some downsides to SegWit, too, but these advantages are hard to ignore. Both Bitcoin Core and Bitcoin Classic have plans for implementing this new concept into their respective software clients.

Kyle Torpey is a freelance journalist who has been following Bitcoin since 2011. His work has been featured on VICE Motherboard, Business Insider, RT’s Keiser Report and many other media outlets. You can follow @kyletorpey on Twitter.

The post Bitcoin Developer Eric Lombrozo on Five Benefits of Segregated Witness appeared first on Bitcoin Magazine.

Source: Bitcoin Magazine

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>