|
The Penny Black Project
Overview
As with the British Post of the 1830's, Internet email is becoming increasingly expensive for message recipients. In the current case, the culprit is spam. Although spam does not constitute a monetary expense for most users, it does require time and attention (and hence productivity) to deal with spam. Moreover, measurable costs associated with spam are incurred by providers of network services, and these costs are increasing daily. In a nutshell, the idea is this: "If I don't know you, and you want to send me mail, then you must prove to me that you have expended a certain amount of effort, just for me and just for this message." The approach is fundamentally an economic one. Suppose we measure effort in CPU cycles. Since there are about 80,000 seconds in a day, a computational "price" of just ten seconds per message would limit a spamming computer to at most 8,000 messages daily. So spammers would have to invest heavily in hardware in order to send high volumes of spam. (While this idea is simple, people often misunderstand its implications. We encourage potential critics to look here first.) The Penny Black project has investigated several techniques to reduce spam by making the sender pay. We've considered several currencies for payment: CPU cycles, memory cycles, and Turing tests (proof that a human was involved) are the leading candidates. There are multiple system organizations that can support this: senders can pre-compute the appropriate function, tied to a particular message; senders can come up with the payment in response to a challenge after they've submitted their message; senders can acquire a ticket pre-authorizing the message. Recipients would aggressively safe-list good senders. The ticket scheme involves creating a ticket service that would issue tickets, which can then be submitted with an email message. The recipient would then call the ticket service to validate and cancel the ticket. There are some interesting ramifications to the ticket server idea. For example, 1000 pre-paid tickets might be bundled with each new PC. A detailed description of the Ticket Server design is available in [ABBDW-03] The CPU-based approach was proposed and analyzed in [DW-92]; see also [B-02]. Four Stanford undergraduates, under the supervision of Dan Boneh, implemented the computational approach using a very simple proxy architecture, described in more detail here. We are still investigating memory-based functions, first proposed and constructed in [ABMW-03]. An alternate solution, described in [DGN-03], is more amenable to theoretical analysis. Here are some of our talks on the subject: Stanford-MIT, HP. The research component of this project is largely complete. We continue to investigate how these ideas might be realized in practice. Project Members
Reference Material
|