The proposed protocol seems like it uses a pretty significant fraction of the bandwidth as sending the transaction. It also requires hashing the transactions in the mempool to do the 'short id matching'.
The idea is receive transactions flow with stripped data (inputs and outputs converted to distinct set of 4 byte items for specified filter type). And yes transaction flow means a lot of sending the transaction. I got your point about "short id" will think how to implement it more properly.
Is there really a particular reason to filter unconfirmed transactions at the expense of privacy--since what txn you fetch is still visible? With BIP 157 when a block matches the user fetches the entire block, at least somewhat preserving the anonymity set.
I suppose that most common case light client receive about 2-3 payments daily, so in case we got positive test we be able use TOR with new identity and different nodes to request complete transaction. I think it should protect privacy Or am I missing something?
Aside, the graph should show getblocktxn not blocktxn.
. Yes.
believe the 'getcfproof' message could also work by index instead of txid like getblocktxn does, for a massive bandwidth reduction.
getcfproof is not use txid it use block hash. getcfproof is only actual in case we have commitments. In case no block filter commitments we should omit this step.
Have you read this one
https://github.com/bitaps-com/bips/blob/master/bip-block-batch-filters.mediawiki? any feedback about this draft?