← index

Any reachable node receiving tx announcement via `MSG_WITNESS_TX`?

An archive of bnoc.xyz · view original topic →

· Antoine Poinsot · #1 ·

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.

· b10c · #2 ·

Short answer: yes, someone is using this. I primarily see it on my -bloomfilter=1 node alice, but others see it too from time to time.

I’ll check which client / UA is sending these.

· Anthony Towns · #3 · · in reply to #2

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.

· Antoine Poinsot · #4 · · in reply to #2

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.

· b10c · #5 ·

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().

· b10c · #6 · · in reply to #4

In hindsight: the node also serves compact block filters, that’s why the neutrino clients are connecting to it. My first guess was bitcoinj too.