Why hashcash schemes for email will never be adopted

March 9, 2007

Hashcash schemes are an attempt to slow down the rate that spammers can send email by making them burn CPU time on some non-trivial calculation. This sounds superficially attractive (and has ever since 1997), but will never be adopted; in fact, the idea is dead on arrival.

To see why, we only need to observe that hashcash has a disproportionate effect on the heaviest senders of email; in fact, this is exactly what it is designed to do. Now think of what this does to the infrastructure needs of the sources of the largest amounts of legitimate email on the Internet today, namely the large ISPs like AOL, Hotmail, Yahoo, Google, Comcast, Bellsouth, and so on.

These ISPs are not going to start generating hashcash on outgoing email, no matter what; they just can't afford to. Now, practically by definition these are large sources of email your users want and you can't afford to block, which means that you can't use the absence of hashcash to block email. (Or to score it as spam, which is effectively the same thing.)

Fundamentally, hashcash schemes only work for places that don't send much email. But those are (on average) the unimportant sources of email, not the important ones; the important ones are the high volume senders.

Schemes that only work for unimportant sources of email don't get adopted; there's no point.

(The alert reader will observe that much of this argument also applies to the perennial anti-spam proposal of charging places real money to send email.)

(Hashcash wouldn't actually work even if adopted for reasons adequately covered in the paper 'Proof-of-Work' Proves Not to Work [PDF] that the Wikipedia Hashcash page has a link to.)

Written on 09 March 2007.
« A bad popup dialog
What a sysadmin's machine should be able to do »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri Mar 9 23:37:47 2007
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.