[hashcash] Re: Possibility of plugin for Mozilla/Thunderbird?

  • From: "Eric S. Johansson" <esj@xxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Fri, 10 Sep 2004 23:44:07 -0400

Meredith L. Patterson wrote:

On the other hand, Enigmail (for Mozilla and Thunderbird) uses GnuPG on
the backend; users occasionally see error messages which one normally
only sees on the command line, but that's the exception rather than the
rule.

:-)

That said, I haven't looked at the guts of Enigmail at all, and have
only recently started looking at the guts of hashcash. (I ran across an
article on reusable proof-of-work tokens on Slashdot a few weeks ago,
and found hashcash.org through that. In fact, it was wondering whether
an Enigmail-like plugin could be created that brought me to this list.
Nice to be here, btw. :))

and we're glad to have you. Welcome!

It would be interesting to play with camram 0.4.<dammit I
found another bug> and build a client side stamping engine.


I think the question is more one of whether to integrate stamping into
the MTA or the MUA, the latter of which is of course the point of
designing a plugin. I know that camram's emailrelay handles the stamping
at the MTA level, and of course it's far nicer to be able to stop spam
there; but not everyone admins their own MTA.

oh boy. There is about 2 (?3?) years worth of history you might need to catch up on.


(growing a great white mane and long white beard with profoundly resonant voice) in the beginning, Adam received two e-mails one from Ben Laurie and the other for myself asking if anyone had done anything with hashcash and spam. Adam arranged introductions, we started talking, Ben set up mailing list and the name camram (campaign for real mail) and we started talking about how to make hashcash practical as an anti-spam system.

In the beginning we all recognized that the best place for hashcash was in the MUA. One way to look at it is that it's the zombie problem in our favor. the problem being trying to get all these e-mail clients to change and how to deal with the startup/T0 problem got to be a bit much.

I kept picking away at the problem of how to get started and hashcash's general use. Got myself banned from one mailing list because of some early experiments with the challenge response and stamps[1].

With the help of very good people on the camram mailing list, we were able to pull together a model of startup use. I proceeded to push that model into the MTA because I recognized early on that many organizations either won't or are extremely reluctant to make changes on the desktop. Additionally, the MTA model has significant advantages to the organization that sees computers as a sealed box like a refrigerator or a microwave oven (think your dentist office, insurance agent, department store etc. etc.)

So, I would also point out that I have at least 80 percent of the code necessary for client side filter. I've run the Stamper as a proxy after pushing it through py2exe. Please don't reinvent the wheel, the code is yours to do with as you see fit if you want to add or fork. by the way, the camram CVS is effectively dead. I have a darcs repository here.

For my part, I'm glad to learn anything I can. Following Mitch Denny's
remarks on using hashcash with blogs, I've been thinking about working
up an XSLT implementation, though I think before that I'm going to try a
Python port, just to get more familiar with the algorithm.

I think even with psyco, you'll see some significant performance differences. How do you feel about making a python module out of the stock hashcash library? It would help verification speed. I must say however that the performance hit of fork&exec when making a stamp really isn't noticeable. ;-)


---eric

[1] Forgot to white list one mailing list because it had been so frightfully inactive. Someone posted, got the challenge response, replied back to the list with the challenge message saying "what's all this then" not once but four times before I noticed and pull the plug. Then he called me an idiot. I suppose if I had just groveled instead of pointing out that it was his mistake I probably could still be on the mailing list. It was not one of my more measured responses or shining moments. In any case there is much better company found here.

Other related posts: