[hashcash] Re: hashcash stamp server
- From: Kyle Hasselbacher <kyle@xxxxxxxxxxx>
- To: hashcash@xxxxxxxxxxxxx
- Date: Mon, 22 Mar 2004 16:36:59 -0600
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Fri, Mar 19, 2004 at 08:04:51AM -0600, Kyle Hasselbacher wrote:
>I have to admit, though, I'm pretty happy with how the daemon works right
>now. I'd rather not chew up my processor generating stamps I might not
>use, and I don't mind waiting for my messages to go out. [...]
Having said that, I now have something that's partially working (code not
yet available). Blame a long car ride this weekend with plenty of time to
come up with an implementation idea I like.
I have a quick and dirty 'hashcash-request' script to tell the daemon to
prepare a token for a message not-yet-written. You give it a -r option to
say who the token is for, and it uses the bitconf to determine the details.
You can also specify a -b option to force a certain number of bits. I'd
like to be able to tell it to generate tokens that expire in the future,
but that's not written yet. What it does is create a .req file in the same
queue that has .msg files.
The daemon treats these requests as second class citizens, processing them
dead last regardless of expense and such. A finished token is written to a
file in a directory full of premade tokens.
When I go to generate a token, I first look to see if there's one already
available at or above the postage required. I also check to see if there's
one already being generated with the same specs I need. If there's one in
process, I take over that process. Taking over another process generally
only happens with a message displacing a request, but it's possible for one
message to oust another.
Oddities:
* If I have an expensive pre-made token, it gets processed late even though
it's really cheap. I don't notice how cheap it is until the last minute.
This means I could have messages that I can delivery immediately hanging
around waiting for a message that I wasn't prepared for.
* If I request a token ahead of time, but that token isn't finished by the
time I need it, I basically generate it twice. The message that goes
through doesn't 'eat' the unfinished request.
* The daemon has a bit where it waits for a running hashcash to finish. I
do premade token expiration there. Maybe I should do it when requests
are queued.
My idea at the moment is for a MUA to make a request as a message is
started. It's also easy to script something that will make tokens for
incoming email, or a cron job that requests often used tokens on a regular
basis.
Beyond being able to specify the expiration date of a request, what would
folks like to see here? I can see the prediction business becoming very
complicated pretty quickly.
- --
Kyle Hasselbacher When free speech is outlawed,
kyle@xxxxxxxxxxx only criminals will complain.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFAX2qL10sofiqUxIQRApRMAJ94bixrae47xKyjFcJ1pXe8QgWU9wCgzXIy
6IeJQ2LvGpt5rU0tTX/QuP0=
=UD0T
-----END PGP SIGNATURE-----
- Follow-Ups:
- [hashcash] Re: hashcash stamp server
- From: Adam Back
- References:
- [hashcash] hashcash stamp server
- From: Martin Hans
- [hashcash] Re: hashcash stamp server
- From: Gerhard A. Blab
- [hashcash] Re: hashcash stamp server
- From: Martin Hans
- [hashcash] Re: hashcash stamp server
- From: Kyle Hasselbacher
Other related posts:
- » [hashcash] hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- » [hashcash] Re: hashcash stamp server
- [hashcash] Re: hashcash stamp server
- From: Adam Back
- [hashcash] hashcash stamp server
- From: Martin Hans
- [hashcash] Re: hashcash stamp server
- From: Gerhard A. Blab
- [hashcash] Re: hashcash stamp server
- From: Martin Hans
- [hashcash] Re: hashcash stamp server
- From: Kyle Hasselbacher