Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Clarification on how sigwit reduce transaction malleability issue
by
Rgram
on 30/07/2025, 15:12:48 UTC
⭐ Merited by vapourminer (1)
The witness data is not separated from the transactions, it's in each transaction before the nLocktime field.   It prevents malleability attacks by separating it from the txid so that child transactions aren't invalidated by changes to the signature, the same way *within* a transaction the various signatures don't sign each other.  It doesn't change the space of anything.  It doesn't directly lower fees, but because the witness field isn't counted in the original blocksize limit the change was able to effectively eliminate the old limit and replace it with a "weight limit"-- like measuring blocks by the pound instead of by the gallon and the witness data takes up less weight.  Nothing in bitcoin sets the fees for transactions except market forces, but the increase in capacity can result in lower fees for a given amount of demand since users bid against each other for access to capacity.

Witness as it’s used here, are they the same thing as signatures?

From the much I’ve had to consume, the main difference between the legacy and segwit transitions is largely due to this separation of signatures.
Where in the case of the segwit, each signature doesn’t sit next to an input (unspent output) but rather, the raw input as Bitcoin data is processed as a whole while and validated by the signature at the end while, in the case of legacy, the signature validation is done per input processing which consumes more and is reflected in the fees.