Post
Topic
Board Development & Technical Discussion
Re: Why include witness data in Segwit transactions?
by
zylstra
on 02/02/2018, 10:01:05 UTC
Or are you talking about SegWit blocks stored by a Legacy Node?
This is it.

If you are asking about SegWit blocks stored by a Legacy Node, then those nodes are fooled into thinking that bitcoins sent to a SegWit address are sent to a "ANYONE CAN SPEND" output.  Therefore, when they try to validate the blocks that spend those bitcoins, they are unable to tell the difference between a block where those bitcoins are validly spent or a block where they are invalidly spent.  In other words, a Legacy Node is unable to fully validate a block that has transactions spending bitcoins that were previously received at a SegWit address. Instead, it must trust that those blocks have been validated by a SegWit node.
This is what I was looking for.  Thanks.

If you are asking about SegWit blocks stored by a Legacy Node, then I've already explained that the Legacy Node can't tell the difference between a valid transaction that spends bitcoins which were previously received at a SegWit address and an invalid transaction that spends bitcoins which were previously received at a SegWit address. The Legacy Node must trust that the block has already been validated by a SegWit node.
More confirmation.  Good stuff.

Except that we would miss out on all the benefits that SegWit provides.  SegWit was not intended to be a method of significantly increasing throughput. It was intended to fix some issues with bitcoin transactions (such as maleability), and to make other transaction types easier or possible.
Ah, yes, true dat.

Thanks again.