Re: Hashcash and Bcc/envelope recipients

"Eric S. Johansson" <[email protected]> Thu, 24 Mar 2011 10:52:23 -0400
Newsgroups gmane.mail.spam.hashcash
Message-ID <[email protected]>
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