In the back end there is an option on the discussion setting page - Comment author must fill out name and e-mail
I have noticed that spam comments do not have an email address.
In email forms I code, if there is missing required input data, the form does not send. I could just scour through the code and add an if...then statement (somehow) to make this happen just like in my email forms. Unfortunately the next WordPress update would erase anything I changed.It would also be nice if the user was identified by the MAC address of his computer, so you could block a real address instead of a dynamic ip address. Just food for thought for the next WordPress Update.