seriously, I am sort of surprised no one has done this before, so far it has worked wonders for me :)
The idea is simple. Comment spammers typically use 'links' to add comments to your old posts. so what I did was simply add a hidden field in the comments form in 'wp_comments.php' with a random name and random number in it. Then in 'wp_comments_post.php' I made sure this was present. Now if anyone tries to add a comment via the url they won't be able to because that field won't be present. So far I have not had any spam since this has been implemented.
Try it out for yourself!