Deterring Spam with Cycles and Latency
Cynthia Dwork
Ted Wobber
MSR Silicon Valley
If the sender of a piece of email has to pay to have it delivered, bulk mailing becomes unattractive. One form of payment is that the sender must solve a recipient-defined puzzle in which computation of the solution is moderately and provably hard. An agent of the recipient can check very cheaply that the sender has indeed solved the puzzle. We have developed practical algorithms that do this.
We treat all unsolicited e-mail equally. While much unsolicited e-mail is
annoying, some is desirable. The technique described here changes the
economics of sending unsolicited e-mail. The impact is significant on
bulk mailings and insignificant on individual transmissions.
The Technique in Vitro
In order to send a message m, the
sender will be required to compute f(m) for a suitable function f.
Call
The function f is chosen so that:
For completeness: m should include a few extra
pieces of information, such as the sender's and recipient's e-mail addresses,
and a timestamp. This ensures that in a bulk mailing the function would
need to be recomputed for every recipient, and that multiple transmissions to
the same recipient will each incur the cost of a computation of f.
Specific families of moderately hard functions suitable for this technique are
proposed in [DN92], where they are called pricing functions.
The Technique in Vivo
We describe just one of many ways in which the technique can be
implemented autonomously by any individual. In other words, the basic
e-mail transmission protocols do not need to be altered.
Each recipient chooses his own pricing function. In addition, the
recipient may maintain a list of correspondents from whom he is willing to
receive uncertified mail.
On receipt of a pair (m,y) from a sender not on the list of
correspondents, the recipient's mail program checks whether m is
timely and if y = f(m) (checking is cheap). If so, m
is revealed to the recipient. Otherwise the mail program automatically
"bounces" m back to the sender. One possibility is for the
automatic reply to contain a program for computing f, say in C#
managed code. Alternatively, the reply may contain a link to a web site
from which the code can be obtained. Whether or not the sender must
become involved manually at this point depends on whether or not the
sender's mail program is compliant.
Summary
The potential value to
email users is clear. There is additional value to application service
providers like Hotmail and Yahoo, where spam is a serious problem because
of the storage costs. Email services can either implement the pricing function approach, allowing users to chose the computational "price" of their own incoming
messages, or implement a single pricing function for all incoming transmissions.
One might also consider charging users for computation of certificates for
unsolicited outgoing messages.