<p>I actually got the full answer I was looking for in one of the comments above! Please refer to the forum discussion, the very last post on the page gives an in-depth explanation to the the answer in the comment. Sadly I can't upvote it yet, so I am posting this as a separate answer.</p>
<blockquote>
<p>But a segwit transaction is sent with the new serialisation, how do they parse it? How do they &quot;skip&quot; the witness part ? I hope my question makes sense. – Ifo0 Aug 1 at 20:07</p>
<p>Yes, it makes sense, it may just be, that you think the client requests a tx... before doing so, there is a handshake, which tells about the capabilities of a node. Based on this the nodes get or do not get segwit data. See a discussion held here: bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041 – pebwindkraft</p>
</blockquote>

CC BY-SA 4.0
2018-08-05T10:32:42.650Z
2018-08-05T10:32:42.650Z
2020-06-16T11:10:03.350Z
Ifo0
<p>Legacy nodes (that is, nodes before segwit) do not receive witness data.</p>

<p>Witness data is a separate data structure. It is only relayed if a node asks for it.</p>

<p>Older nodes don't know it exists, so they don't ask for it, and thus don't receive it.</p>

<p>Since segwit data does not contribute to the txid, old nodes can receive the regular block and still validate it as normal. They just interpret the segwit inputs as "anyone-can-spend" equivalents.</p>

CC BY-SA 4.0
2018-08-01T20:07:29.020Z
But a segwit transaction is sent with the new serialisation, how do they parse it? How do they "skip" the witness part ? I hope my question makes sense.
Ifo0
CC BY-SA 4.0
2018-08-01T23:02:47.927Z
Yes, it makes sense, it may just be, that you think the client requests a tx... before doing so, there is a handshake, which tells about the capabilities of a node. Based on this the nodes get or do not get segwit data. See a discussion held here: https://bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041
pebwindkraft
CC BY-SA 4.0
2018-08-05T10:25:57.503Z
Perfect! Now it makes sense, I was looking exactly for this in-depth explanation we get in the forum! Thank you @pebwindkraft !
Ifo0
CC BY-SA 4.0
2018-08-01T15:19:47.487Z
2018-08-01T15:19:47.487Z
Raghav Sood
<p>My question  comes from not understanding how <a href="https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki" rel="nofollow noreferrer">BIP 144</a> works? Regarding the BIP what I ask is, whether legacy nodes support the new parser, so that they treat Segwit tranasctions as valid? There it is stated:</p>

<blockquote>
  <p>Parsers supporting this BIP will be able to distinguish between the old serialization format (without the witness) and this one. The marker byte is set to zero so that this structure will never parse as a valid transaction in a parser that does not support this BIP. If parsing were to succeed, such a transaction would contain no inputs and a single output. </p>
</blockquote>

<p>In relation to my main question, I could not understand how legacy nodes treat the witness fields of a segwit transaction?</p>

<segregated-witness>
Do legacy nodes receive the witness fields of a Segwit transactions?
Ifo0
# Do legacy nodes receive the witness fields of a Segwit transactions?

(Asked by: username_0 on 2018-08-01)

My question comes from not understanding how [BIP 144](https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki) works? Regarding the BIP what I ask is, whether legacy nodes support the new parser, so that they treat Segwit tranasctions as valid? There it is stated:

> Parsers supporting this BIP will be able to distinguish between the old serialization format (without the witness) and this one. The marker byte is set to zero so that this structure will never parse as a valid transaction in a parser that does not support this BIP. If parsing were to succeed, such a transaction would contain no inputs and a single output.

In relation to my main question, I could not understand how legacy nodes treat the witness fields of a segwit transaction?

**Tags:** segregated-witness


---

## 2 answers

### Answer by username_0 on 2018-08-05. Score: 1 | Accepted answer

I actually got the full answer I was looking for in one of the comments above! Please refer to the forum discussion, the very last post on the page gives an in-depth explanation to the the answer in the comment. Sadly I can't upvote it yet, so I am posting this as a separate answer.

> But a segwit transaction is sent with the new serialisation, how do they parse it? How do they "skip" the witness part ? I hope my question makes sense. – username_0 Aug 1 at 20:07
>
> Yes, it makes sense, it may just be, that you think the client requests a tx... before doing so, there is a handshake, which tells about the capabilities of a node. Based on this the nodes get or do not get segwit data. See a discussion held here: bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041 – username_2


---

### Answer by username_1 on 2018-08-01. Score: 5

Legacy nodes (that is, nodes before segwit) do not receive witness data.

Witness data is a separate data structure. It is only relayed if a node asks for it.

Older nodes don't know it exists, so they don't ask for it, and thus don't receive it.

Since segwit data does not contribute to the txid, old nodes can receive the regular block and still validate it as normal. They just interpret the segwit inputs as "anyone-can-spend" equivalents.

> **Comments:**
> **username_0**: But a segwit transaction is sent with the new serialisation, how do they parse it? How do they "skip" the witness part ? I hope my question makes sense.  
> **username_2**: Yes, it makes sense, it may just be, that you think the client requests a tx... before doing so, there is a handshake, which tells about the capabilities of a node. Based on this the nodes get or do not get segwit data. See a discussion held here: https://bitcointalk.org/index.php?topic=1682183.msg21389041#msg21389041  
> **username_0**: Perfect! Now it makes sense, I was looking exactly for this in-depth explanation we get in the forum! Thank you @username_2 !  

---

