Vitanuova for 2003 October 13 (entry 2)

< Changing habits
The scientific method >

I have been very excited about the Hashcash approach to fighting spam.

I thought of some problems with it. I think most of these problems have been considered by the promoters of hashcash, and I hope to find out if they have good ways of dealing with them. (Briefly, the idea of hashcash is to try to get people to attach "postage" to their e-mail, at least when they're mailing people with whom they've never corresponded. That would make spam uneconomical. Mail without any postage could be rejected, or treated more skeptically, by the recipient. But to avoid having to create a financial payment infrastructure, the postage is not actually money, but rather "proof of work" -- easy-to-verify solutions to very difficult math problems. In order to see whether a message contains valid postage, you simply verify whether the math problem solution attached to it is correct. If it is, it serves to prove that whoever is mailing you spent an economically significant amount of computer time to solve the problem, so that it's very unlikely that the message is spam.)

So here are the problems I know of.

  1. Spammers taking over other people's PCs to force them into service generating hashcash. Spammers are already breaking into other people's PCs to force them to send spam to third parties; what would stop them from breaking into a large number of computers and making those computers turn out valid hashcash postage all day? Then the hashcash is still "proof of work", but it's not work done by the spammer -- it's work done by random people whose computers the spammer broke into!
  2. Hardware acceleration. Hashcash would be more easily calculated by FPGA arrays than by computers. Indeed, an EFF-sponsored project used a single self-contained custom machine to outcompete a network of many thousands of volunteers' computers -- including mine! -- in a brute-force cryptographic key search problem, which is very similar to the problems proposed for use as hashcash. What would stop spammers from building machines to calculate lots of hashcash more quickly and cheaply than PCs would? In effect, these would be counterfeit hashcash mints -- they would falsely appear to represent a substantial amount of computer time.
  3. Mailing lists. It's easy to make hashcash compatible with mailing lists (when people subscribe to the list, they promise to accept all messages from the list without demanding any hashcash). The trouble is that any list subscriber can still spam the list. And there are bots capable of subscribing to many mailing lists automatically and then spamming them all. How can a mailing list have a policy capable of making spamming the mailing list uneconomical? (Would a CAPTCHA test to subscribe to a mailing list help solve this problem?)
  4. Falling off the technology curve. If computers get faster, there will be an inflationary effect -- hashcash will become easier and cheaper to generate on modern machines. This is already well understood, and there's a mechanism for recalibrating by adjusting the amount of hashcash you demand (so as it gets easier to make, you can simply ask for correspondingly more of it). Isn't there a problem in that it will become increasingly difficult for non-spammers who are poor to get their messages through when richer non-spammers are willing to spend so dramatically much more computer time generating hashcash to get their own messages through? There are plenty of Nigerians who want to communicate with Americans, and we need mechanisms that won't prevent this entirely simply because a few Nigerians send 419 scam letters to many Americans. Moore's Law seems to make this complicated (but perhaps not catastrophic): it seems that you have to spend exponentially much more time generating hashcash to match what other people can do, if you can't upgrade your computer. That will become catastrophic at some point, if Moore's Law continues to hold and many people can't upgrade their computers regularly!

There's also a metaproblem common to many spam countermeasures: it's a chicken-and-egg deployment problem. MUAs won't attach hashcash until there are a lot of recipients who demand it, but recipients can't demand hashcash until a lot of senders are willing to provide it, right?

Network effects!


Links from other weblogs:

Sat Feb 24 11:35:05: XQhaYJuxJmVf from OjZiDBhFg

dqVmaWLmLuv MYJVkT [URL=http://xindnsy.com/]sjEhjmkM[/URL]


[Main]
Support Bloggers' Rights!
Support Bloggers' Rights!


Contact: Seth David Schoen