I was trying to manually parse a raw Bitcoin transaction in order to better understand how it works.
This is how it starts: "0200000000010141035625cd030eca667c95d1729a"
I think I've parsed the Tx version just fine but then the next byte was 00. I imagine this has something to do with BIP144. Correct?
If so in BIP 144:
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.
Does this means that old nodes do not relay Segwit transactions? They will think they are invalid? But once they are put in a block it's already in a format that an old-node can understand?
Sorry for the messy question.