spam prevention and the rewards mechanism are two completely different things. Although they directly influence one another its best to solve each one with closed loop systems that don’t expand infinitely in some form (e.g infinite catch errors or rewards per click).
Once the reward mechanism is fleshed out and bullet proof it will stop 90 percent of all spam. However the remaining 10 percent of spam must still be solved for. A human in the loop must exist for the remaining spam, we cannot solve for it programmatically without affecting valid proposals in some way.
Please check out this summary for a quick review of current events and a breakdown of NNS challenges.
https://forum.dfinity.org/t/breakdown-of-current-icp-spam-events-a-summary/12546/3
Also if you have the time let me know what you think of this concept - a micro turks system for the nns proposals with no wasted icp