If an INV type unknown to the node appears in an INV message, a GETDATA message or some other message where the INVETORY structure is used (e.g. MSG_WITNESS_TX for non-segWit nodes, MSG_WITNESS_TX in an INV message for segWit/non-segWit node, some random INV type, etc.) , is the whole message then considered invalid or only that "row" in the message is skipped/ignored, while the other rows and the rest of the message are processed?
Asked
Active
Viewed 79 times
1 Answers
1
In Bitcoin Core, as of version 26.0, INV entries of unknown type are ignored and skipped (and optionally logged, if "net" debugging is on); later entries in the same message are still processed.
On incoming INV messages, MSG_WITNESS_TX
is treated the same as MSG_TX
, and MSG_FILTERED_BLOCK
, MSG_CMPCT_BLOCK
and MSG_WITNESS_BLOCK
are treated the same as MSG_BLOCK
.

Pieter Wuille
- 105,497
- 9
- 194
- 308
MSG_CMPCT_BLOCK
likeMSG_BLOCK
while 26.0 does. There are no specifications for how a node behaves when arbitrarily wrong data sent to it, so different pieces of software (even different versions) may behave differently. – Pieter Wuille Dec 19 '23 at 03:38