[hashcash] Re: Hashcash and Bcc/envelope recipients

  • From: "Eric S. Johansson" <esj@xxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Thu, 24 Mar 2011 10:52:23 -0400

On 3/24/2011 9:23 AM, Aaron Toponce wrote:
On Thu, Mar 24, 2011 at 01:30:00AM -0400, Eric S. Johansson wrote:
in two penny blue I chose to split the to list and send one message
per stamp ( iirc).  compared to the cost of stamping, sending 1
recipient copies is rather small.  this choice also made the
outgoing message processing logic simpler.  look in the headers.  if
I remember what I did 2+ years ago correctly, you should see a stamp
on the bcc copy I sent you and no headers (or minimal) on the
mailing list one.
Looking in the headers, actually, I see a stamp for myself, which you put
in Bcc:, but I don't see a stamp for the list. Also, the header tag is
incorrect, afaik. It says:

Hashcash: 1:23:110324:aaron.[snip]

rathar than:

X-Hashcash: 1:23:110324:aaron.[snip]

Great, it's working as I remembered. I only send a stamped to someone I e-mailed the very first time. The reason for this is that the only place sending a stamped on every message is even vaguely practical is if you put stamp generation on the end user machine. This doesn't work if you're using web e-mail except under very special circumstances. In a gateway scenario, the preferred model for introducing stamps across an enterprise or other large population, you can't generate enough stamps to handle the volume unless you use a "captive zombie Farm" to generate the stamps. Therefore, I made a conscious decision to generate a single stamp when I'm sending mail to someone and if I put the recipients in a white list because I'm expecting to get a response back from them. This has some problems with white listing bounce messages to nonvalid addresses. I have a postfix workaround but the real solution should be white listing only when you see stamps in reply. Unfortunately, in the beginning, it needs to be a little more forgiving of nonparticipants. I have some ideas but I'll save them for later.

As for the header, I read an RFC back at the time of implementation is said that the x-headers were deprecated.Don't remember exactly where but, I really did read it in an authoritative document.

The Python script I'm writing is a foreground script. I set it as my
"editor" in my ~/.muttrc. In turn, it calls Vim. After saving and quitting
Vim, it does its logic, minting all the tokens necessary for those found in
the To: and Cc: fields. Because it's being used as my editor, I'm really
not motivated to write the logic to send a mail for every Bcc: recipient.
Seems wasteful anyway. It's looking more and more like Bcc: will just be
ignored.

It's important. We had this discussion back somewhere around the 2006 range and at the time BCC could not be ignored because it was in use. Today, most people are ignorant about the subtleties of e-mail addressing so maybe you can get away with ignoring blind carbon copy. As for being a waste are not sending individual copies, who gives a hoot. We have networks that can handle video streaming which means e-mail comes along for free every mailing list software out there I know of splits and send individual messages. The code not hard. I did it and twopenny blue using speech recognition even.
[OT]: I find http://2pennyblue.org, as well as the project on Launchpad,
but I can't find anything to download. It this something that can be
implemented with Mutt? What are the supported MUAs? All of the links on the
2pennyblue.org site don't exist yet.

Yeah, a friend of mine convinced me to switch over to whatever framework that was because he would do the conversion and well... I need to revisit it because I want to modify the twopenny blue framework is more reputation-based model than strictly sender pays a already partially there. I'm collecting some of the data necessary for reputation in addition to the automatic white list. I just need enough resources so I can go back and flush out the reputation model.

I may just convert the website to a blog and rewrite different pieces as blog entries with a list pointing to the perma links for the various Keystone entries.

Twopenny blue is designed to be a gateway solution. You could work on it and change it to them anyway specific solution but you would lose some of the important data we need to gather. It's currently written for postfix but with a slight (ha) architectural change one could make it work with almost any anyway. The reason I chose postfix was because it allows me to easily filter e-mail in both directions, inbound and outbound. Inbound for reputation, filtering, stamp etc. and outbound for stamp generation and White list creation. Then there's the Web interface for controlling many of the services.

Download via bzr from launch pad.

--- eric

Other related posts: