Bitcoin Core contributors are discussing ignoring transaction announcements that use MSG_WITNESS_TX INV types. That type was only defined for GETDATA’s in BIP 144, but Bitcoin Core has supported its use in INV’s ever since the Segwit implementation was merged.
I’d like to make reasonably sure that there isn’t an application out there that came to rely on it. A quick way to check using AJ’s snippet:
grep got.inv: /path/to/debug.log | cut -d" " -f5 | awk '{c[$0]++} END {for (l in c) printf "%8d %s\n", c[l], l}'
Would appreciate if anybody with a long-running reachable node could share the result of the above command.
Probably would be useful to know if the txs they announce are real, have witness data, and if the hash provided matches the txid or the wtxid in practice.
I had a quick look at bitcoinj, and it looks like they are not the culprit here, since they just bypass normal transaction relay and send transactions unannounced.
I’ve only sampled/tracked down a few peers who send this yet, but a few seem to be /btcwire:0.5.0/neutrino:0.12.0-beta/. Neutrino seems to be setting the INV to InvTypeWitnessTx in sendTransaction().