As someone who runs some large boards, blocking Tor stops trolls. Does very little for spam.
For spam, http://www.stopforumspam.com is pretty awesome. But most likely because the few people who have written scripts for vBulletin or phpBB attempt to hit all of the vBulletin and phpBB sites... so it works pretty well for that group. May have zero effect on something like HN where an entirely different approach may be used (cheap labour?).
Actually, HN has captchas built in: they are the first comments a user makes.
So here's a simple captcha idea: judge a first-time user on the pertinence of their first comment to a thread. Just like show-dead, only users who browse with show-newbies enabled would see those comments (in green). No downvotes? Welcome to the community
edit: top of my head reply/speculation so I don't claim any factual accuracy.