Hashcash is a scheme that, if adopted widely, can more or less solve the spam problem. In proprietary networks (instant messengers, SMS) there’s absolutely no reason not to incorporate it — the only reason why it isn’t there already is designer ignorance or oversight, or managerial obtuseness. Email, since it’s such a heterogeneous system, might be more clumsy in getting up to speed, but this is definitely good news.
The idea behind hashcash is that as a receiver, you accept only (or, if you’re using a scoring filter such as spamassassin, give a bonus to) messages that carry a special stamp. This stamp is computed for every message sent; it takes a while to generate (it is costly in CPU, hence the “cash” in the name) but you can verify the validity of a particular stamp on a message very quickly (hence the “hash”). Both the sender and the recipient must agree on this protocol; this is why it’s easy to add to proprietary systems but hard to add to email: you need all the mail clients to support it. (Technically, you just need someone who trusts the sender to support it, so you might for example add support to a company’s Exchange server without having to go and upgrade all the Outlook clients. But this will certainly add to the load of the server.)
Update: If you are using mutt, sending stamped messages is very easy:
- Install hashcash. On debian, simply do this:
apt-get install hashcash
zcat /usr/share/doc/hashcash/examples/hashcash-sendmail.gz > /usr/local/bin/hashcash-sendmail
chmod +x /usr/local/bin/hashcash-sendmail - Add this line to your .muttrc:
set sendmail="/usr/local/bin/hashcash-sendmail" - (Optional, but recommended.) Edit
~/.hashcash/bitconfto set up stamp values. I just use this:echo "^:24:19" > ~/.hashcash/bitconf
This makes 24 bit stamps the default for all mails I send, at a very nice nice level. You can tweak special values for special recipients, etc.