1
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.
2Thank you! I guess I'm on the right path! YEAH! :) – My Quid Pro Quo – 2018-12-18T15:33:19.793
2This response is correct in what it says but it's a little misleading. The reason old nodes don't accept/relay segwit using txn is unrelated to the format, it's because they violate the cleanstack standardness rule. The reason that they're accepted in a block is because they get a copy of the block recoded into the old format. – G. Maxwell – 2018-12-18T22:22:43.797
@G.Maxwell could you elaborate the answer or point me to some more detailed information? Maybe even write your own answer if you feel like it. Thank you very much. – My Quid Pro Quo – 2018-12-19T00:14:03.947