Thank you for your reply. I am glad you already sketched an alternative solution. I think pairing this EIP with moving receipts to SSZ would be a good idea.
I think calculating the false positive rate helped give me a better picture of the current state bloom filter.
Take a recent (full) block 19,580,078.
1,379 bits are set to 1 in the Bloom filter.
m = 2048 bits
k = 3 hash functions
Estimate the number of unique entries (topics/addresses)
n* = -2048/3 * ln(1 - 1379/2048)
n* = 763.79
Using the approximation:
FPR = 1 - e^(-k * n / m))^k
FPR = (1 - e^(-3 * 763.79 / 2048))^3
FPR = 0.30528
For an address + log combination this would be approximately 0.30528^2 = 0.09035. Not useless, but less effective than we would like.
I wonder if the ZK-SNARK solution would also be able to filter by address, since the address + topic search is common and for this the use of the Bloom filter is still effective. And I still wonder if this EIP will reduce/remove the ability to query full nodes for events.