- Mar 13, 2016
Segwit Pros and ConsPros
Effective block size increase
this increase would be about 1.6 MB to 2.0 MB.
as far as relay speeds and network load is considered segwit blocks or 2MB traditional blocks, would cost the same.
Segwit is a softfork
- it hardly qualifies as a soft fork; users & wallets that do not implement segwit and receive funds from a segwit TX will end up with TX they cannot validate.
they should be able to spend the funds even if they dont
upgrade they simply see the TX as anyone-can-spend, when infact noly they can spend...
- Segwit allows a softfork by requiring a significant wast of space in the wtxid, it should be implmented as a hardfork.
its only 1kb wasted, softforks are favorable.
- calling segwit a softfork might lead people to believe they do not need to upgrade, confidence in the dev team will drop as these users figure out that it was indeed a mandatory upgrade.
-SegWit is technically superior as a hard fork. Witness proofs would be about 50% or 1,000 Bytes larger, and code would be more complex, as a soft fork.
Fixes third-party transaction malleability allowing LN and sidechains to be developed .
Possible 66% additional improvement in bi-directional channel efficiency by consolidating channel open and close operations.
Allows the ability to more easily upgrade Bitcoin’s Script language.
Includes fraud proofs.
enables sidechain type contracts.
it does not currently include fraud proof validations and it won't include it even in the first deployment.
The implementation of segwit is complex and multifaceted
- all the different wallets will need to implement segwit themselves, its unlikely they will all get it right the first time, could lead to some serious loses.
Bitcoin is fairly simply to explain, poeple can trust it because they understand it, segwit makes understanding bitcoin an order of magnitude more complex, which could lead to poeple not trusting bitcoin.
Upon adoption, segwit creates a 4X adversarial attack surface.
miners and network engineers have to design their systems to be able to handle 4 MB blocks without bogging down, but we only get to actually use about 40% of that capacity. This 4x adversarial case will make it very difficult to increase the blocksize limit in the future. With a 1 MB base block size, it's 4 MB, but with a 2 MB base block size, the adversarial case would be 8 MB.
Makes use of an existing feature (anyonecanspend) that was never meant to be used this way.
Introduces a new type of DOS attack (go-fish-wit-ddos)
An attacker mines a segwit-block with 1000 transactions the network has not yet seen (The attacker creates these TX herself )The attacker has the witness data readily available. When other miners try to validate this block they will go through every single one of these TX and say "I don't have the witness data for this TX_ID, I have to call TCP::GetWitnessData( TX_ID ) aw yes this is valid"
Subsidizes signature data in complex/large multisig transactions.
Weights signature data at 1/4 the level of transaction/UTXO data. Signatures are more expensive to validate than UTXO, so this is not justifiable in terms of computational cost.
Increased resource usage (capacity, bandwidth, processing power)
Black Text Is a Pro or Con related to segwit .
Green Text Is used to highlight key points which give the Pro or Con more validity
Red Text Is used to highlight key points which debunk or lessen the validity of the Pro or Con
We are compiling a list of some basic pros and cons for segwit softfork. please post below some Pros or Cons for segwit, and discuss them. Feel free to try and debunk the pros / cons i will try and follow the discussion and summarize / post links to these posts with more information. Free feel to ask me to reword a Pro or Con listed in OP for added clarity, please provide full text as you believe it should appear.
In a few month Core will be looking push segwit out onto the network, Its is my hope that this Pro & Con List will help users and miners understand all the specific issues related to segwit. so they can be confident about their decision to accept it or not.
Thank you for your input!