This whole spam problem is a symptom of a larger conceptual mistake. For thirty years, we've been thinking about email as if it were an application. We've got word processors to type text, spreadsheets to manipulate numbers, and email apps to read our email, right?
Email's been a huge success, of course. But it could be much more, if we stop limiting it in our minds to a single application, and start thinking of it as a platform for constructing many new applications.
There's one instance of an email-platform app so far, so-called "meeting maker" that lets people schedule meetings. There's a couple proprietary versions, Outlook and Notes support it. But imagine if there was a standard, easy, way to integrate other apps to use email. Email is the most standard of Internet apps, its asynchrony is well matched to dial-up access (and other sources of intermittent access like wireless) and many work patterns.
For example, let's say I wanted to play a game by email with a friend. Today, we'd use a regular email application, and manually update the game with the results of the moves. However, if it was really, really easy for application writers to build on an email platform, then more apps would support this option. In many cases, email would fade into invisibility.
To accomplish this, however, we'd need to change the basic idea of email addressing. Now, the "one account, one address" form is exactly why spam is such a problem. Email addressing would have to become more like IP addressing: both a destination machine (or address) and a port number (or application). If these application-specific addresses had enough bits, which should be no problem, then we can use them as unforgeable capabilities. (This is something that Bob Frankston has been talking about for a while.)