1

I am currently learning about SegWit and trying to understand what it is used for. It is clear to me that it was primarily introduced to overcome txid malleability, but...

Looking at this question and the answer looks like Bitcoin, by updating the way that Bitcoin script works, disabled the txid malleability even without SegWit. So you can no longer add additional content to the script, keep it valid and have a different ID. So, txid malleability is not anymore possible, not just through using SegWit, but also by using legacy transactions (P2PKH) and the unlocking script field. In the first answer to the referenced question, Antoine Poinsot also talks about third-party malleability, but as he said, SegWit is not the solution for that, so it can't be the purpose of why SegWit is used today.

So if overcoming txid malleability, as the main reason why SegWit was introduced, is no longer the main advantage of SegWit (since it can also be overcome without SegWit), what is?

One advantage/purpose, I would say, could be that there is an indication of the version of the script being used, so that the script language can be extended very easily.

What are the other advantages/purposes of SegWit today (not just today, but in general)?

11
  • 1
    You seem confused by terminology; lots of sources use different names for these phenomena. However, if a transaction today does not have exclusively segwit inputs, then txids of presigned transactions are completely unreliable, making any system relying on those (including Lightning) practically infeasible. That is not due to third party malleability, but just because any participant in the transaction can produce a different signature, which would (before segwit) change the txid. Some people also call that malleability, some don't. Commented Aug 19, 2023 at 22:02
  • 1
    It's complicated, these things don't exactly overlap. While script changes like BIP66 and BIP62 (only a policy rule) make it impossible for third parties (e.g. miners, relay nodes on the network) to alter the txid of a transaction without invalidating it (only for specific simple transactions even), that is not what matters to e.g. Lightning. The concern there is about transactions created by multiple parties, and another party (but a co-signer) changing the txid by changing their signature, without invalidating your own. Segwit completely fixes that problem, while BIP62/66 are unrelated. Commented Aug 19, 2023 at 22:27
  • 1
    Further, it's not like it's in general not possible to modify segwit transactions anymore without invalidating them. It's just possible for parties to make sure that when that happens, the txid won't change. Commented Aug 19, 2023 at 22:32
  • 2
    BIP66 is a consensus/validity rule, which activated as a softfork in july 2015. BIP62 was originally intended as a consensus rule too, but never adopted as such (in part because fixing all malleability avenues is a game of whack-a-mole, and cannot possibly guarantee txid predictability of presigned transactions anyway; segwit was a much more thorough solution of those). Some parts of BIP62 have however been adopted as a policy/standardness rule in Bitcoin Core. Commented Aug 19, 2023 at 23:13
  • 2
    bitcoincore.org/en/2016/01/26/segwit-benefits Commented Aug 19, 2023 at 23:26

1 Answer 1

-1

SegWit was introduced to solve Bitcoin's slow transaction speed and congestion issues caused by a 1 MB block size limit (separating transaction signatures from transaction data). This boosts the block's capability without a hard fork. And achieved lower transaction fee. This link might be helpful. https://blockgeeks.com/guides/what-is-segwit/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.