REMAIL: simple digital postage
-----BEGIN PGP SIGNED MESSAGE-----
How willing are remailers to try this? Both Hal Finney and Karl Barrus have code for remailers (Karl's is more recent, Hal's is in wide use). Could their code be modified easily to accomodate a primitive form of stamps?
Well, I know that integrating a quick and dirty (not particularly cryptographically sophisticated) digital money system can be done in Hal's code, since thats what I did at elee6ue@rosebud.ee.uh.edu for quite a while. (Now elee6ue@rosebud has been restored to "ordinary" operation). And the one I recently wrote could be modified the same way - I just put it together to test cutmarks, automatically detecting pgp encryption, and latency delayed remailing. I was looking into a more efficient way to check the validity of cash, and making things bomb-proof, but sorta got sidetracked ;) The way I did it is to add to remail.pl, have the script search the header for a Digicash line (you use the pasting tokens as usual to place it in the header). The script extracted the "cash" and searched for it in a list maintained by the remailer. If found, then the remailing proceeded as usual, otherwise the message "Insufficient funds to deliver message" was sent along instead. The cash list is read into memory and rewritten out, minus the value just used. The cash strings I used were random characters, which looked like this (all starting with the character B): BU2j4yCJgtl8wO2KvsEIIttaSOt9zEfS7giqHwEuuh3bbuTGppoElILYeW09a BYnIA2EQSXEJQ65U8PM2nG07ilq7zCEFqaTBXDuzeEb6YjBgVWUGNm6GPA0zS BmgF0hscwOHICfLNcDefkPo8PSO1ou2NQ4ecMcIPiGDu5fUEz63Wjiosj0JSD and so forth. Now with magic money a more sophisticated system may be developed. Perhaps I will shift elee6ue@rosebud back to a pay-for-remail system, or do it at the mystery middle point of the remailer chain I'm experimenting with. Here is an extract of the additions to remail.pl I made to implement this: if (/^Digicash:/) { chop ; s/^.*: // ; # remove text before colon AND blank afterwards $payment = $_ ; } } # check validity of digital cash # open cash file and read it all in open(CASHLIST, "./digicash.list"); @listofcash = <CASHLIST>; close(CASHLIST); unlink "./digicash.list"; #open file, check cash for validity #if valid, don't write it back to the file open(CASHLIST, "> ./digicash.list"); $paidfor = "n"; while (@listofcash) { $validcash = shift @listofcash; chop $validcash; if ($validcash eq $payment) { $paidfor = "y"; next; } print CASHLIST $validcash, "\n"; } close(CASHLIST); -----BEGIN PGP SIGNATURE----- Version: 2.3a iQCVAgUBLWGxcoOA7OpLWtYzAQHV2AP/T7o0N9qUE8XU/urPqx8pzL+h/Rvs2zbg 6Lky3vu2GoMXEUmVbtbB8xl4c20kvSz5ysSkQ3B8NYXhTdAtcrgH0J2Zd1YHdCKb xmh+rS4xLXuiO6T/j24XqiLOcq0YiF2F2ytzgM/mi03cxN6FMZrat+8vIqLrgjfg ZNVvBAR46to= =JDF6 -----END PGP SIGNATURE-----
participants (1)
-
Karl Lui Barrus