I've had a hard time finding a good source online that explains segwit. I've read the basic idea is to store the scriptSigs separately as the scriptSig is potentially malleable, and then compute the txid without the scripSig. But the scriptSig still needs to be somewhere on the blockchain, so how does this save space?

  • 1
    It doesn't. See bitcoin.stackexchange.com/q/52196/208 – Pieter Wuille May 3 '17 at 5:11
  • I don't get it. It sounds like you're putting the scriptSig in a separate place you're not calling a block, but still using the same amount of space. Why not just keep it in the block, and just compute the txid ignoring the scriptsig to get the non-malleability advantage? – relG May 3 '17 at 9:20
  • That would not be a softfork, and thus require every node in the whole network to adopt new software before the change can be deployed. It would also break existing wallet software. The way it is done is fully backward compatible. – Pieter Wuille May 3 '17 at 14:04
  • 1
    Softforks are not a holy grail. A softfork that freezes some specific person's coins would be a very bad thing. But what you're saying is an overstatement: old nodes indeed can't fully verify spends from segwit outputs, but they also don't care about them. – Pieter Wuille May 3 '17 at 15:18
  • 2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.