[hashcash] Predicting hashcash needs.

  • From: Kyle Hasselbacher <kyle@xxxxxxxxxxx>
  • To: hashcash@xxxxxxxxxxxxx
  • Date: Tue, 9 Mar 2004 21:45:08 -0600

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've toyed with the idea of having something that tries to predict what
stamps I'll need and compute them ahead of time.  I doubt I'll write such a
critter myself.  Running one means deciding that immediate delivery is more
important than the cycles I'll waste on stamps that are not used, and I
already know I think otherwise.  So I'm putting this out there so that
someone with a different opinion might benefit.

The easiest way to predict is just to have the user specify.  I know I
email certain people a lot, so I can tell the predictor to always keep
stamps ready for those people.

I read earlier on this list that you could make stamps for people who send
you mail on the assumption that you'll reply.  That's straight forward.
You could configure the predictor to generate stamps for the next X days
for each email received.

Finally, you could look at historical usage.  Say for each individual I
keep a counter that I increment each time I email them.  I'd decriment the
counter on some regular basis (once a week?) so that old contacts "decay"
over time.  Whoever I've sent the most email to (say, the top ten, or
whatever is specified) has stamps available at all times.

There are probably better ways to predict, but those are the ones I came up
with.  Ideally a predictor could be configured to use all of them to some
degree.  I could configure it to make stamps for certain people.  On top of
that, I could tell it at any time "make staps for X for the next Y days"
for emails I'm receiving.  Whatever time it didn't spend doing that it
would spend on automatic predictions using whatever algorithm it has
available.  Parameters for that would be configurable too.

I'd want to integrate this into the main hashcash tool somehow so that when
I say "hashcash -m ...", it would first check some shared DB to see if a
suitable stamp is already available and return it immediately (removing it
from the DB).  The predictor would monitor the DB and replace missing
stamps.

You could do some of this without a predictor too, now that I think about
it.  Imagine hashcash has the DB of fresh stamps.  When I ask for one, it
pulls one from the pool, returns it immediately, and then goes to work
replacing it in the background.  Given that, you could have option to "just
mint and store for later".  You might also want options to "return stamp
but don't replace", "tell me if a stamp is available", "list available
stamps", etc.

Anyway, there's some food for thought.
- -- 
Kyle Hasselbacher | A cult is a religion with no political power.
kyle@xxxxxxxxxxx  |                   -- Tom Wolfe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFATo9E10sofiqUxIQRAgzWAKDaInXB9ZdNkTTOCxOwUMPJyspp3gCgzFns
LxrXHGopCdNJhdJRK7Hy4yc=
=IHy/
-----END PGP SIGNATURE-----

Other related posts:

  • » [hashcash] Predicting hashcash needs.