OK.
We have a severe problem in Gnutella: The Dynamic Querying protocol stops searches after about 300 results came in, but its designers didn't take spam into account (at least not the massive amount existing today - back then 3 spam answers on a request were normal, today rare queries often generate hundreds, since companies pay people to spam).
-
GnuFU en - Dynamic Querying
Combine that, and rare searches (who would only generate 5 or 6 real hits in the whole network) stop after receiving 300 spam results, but no useful result.
So we need an efficient spam filter to make Gnutella run smoothly again.
Dynamic Querying is still being used, though, because it provides about 90% bandwidth savings and in theory supports rare searches as well as popular searches.