Hi (List is being rather slow, Cc'ing on this one and retaining full text of previous in thread below). Another issue which came up recently is Thomas Boschloo pointed out a problem with very large stamps -- they could take so long to compute they are expired by the time they are produced. This would have to be non-email application given short-times, but eg as expiry is configurable and resolution of creation time, one could have eg second resolution creation time, and expires in 10 mins. Now if one has slow hardware or a large stamp it might take more than 10 mins to generate. I think the fix is to change the timestamp in the stamp to the current time every few seconds. I have not yet coded this fix. To do this we also need something like the "do max 2^32 tries and give me control back" kind of API like find_collision has. So you might want to from this make it the same API for speed measurement and finding collisions -- just give it small amounts of work to do in speed estimate, and maybe target a rough time-intervals worth of work per loop iteration to have somewhere to update time on 1 second interval (or min clock-resolution interval). (You do not know how long stamps are valid for when you create them, expiry is defined by the recipient). Adam On Thu, Sep 02, 2004 at 03:28:33PM -0400, Adam Back wrote: > On Thu, Sep 02, 2004 at 02:21:17PM +0100, Jonathan Morton wrote: > > arowana:~/Desktop/hashcash-1.03 chromi$ ./hashcash -mXb10 foo > > X-Hashcash: 1:10:040902:foo::seq16tNIwlP0naeX:000000H9 > > good to see that works (was kind of operating blind :-) > > > > * one remaining issue to fix in pr7: time the right thing in > > > hashcash_per_sec -- we're still calling find_collision( > > > ... step = 100 ) and we need to call the CHROMATIX code > > > > I'll get on this one - you need a libfastmint function for getting a > > quick, single-core benchmark, right? > > Yes. The problem comes from my assumption when I wrote the code on > the old find_collision() function which has an extra argument with how > many iterations (max) to try. Then I just call this in a loop until > clock tick rolls over. Crude but _fast_ test :-) > > (find_collision also returns how many tries it did if it finds a > collision and 0 if it did not find a collision (you know how many it > did if it did not return)). > > I call it with 100 tries; but may be you'd want a bit more as the new > minters are faster. eg 256 or parameterizable maybe. > > > (Question: does the Cyrix 5x86 support CPUID? If not, it would make a > > suitable test platform for this. So would my old 486, but it's taking > > it's sweet time over installing Linux, so may not be ready for several > > more days.) > > I had a amd 486dx120 somewhere gathering dust (3 x 40Mhz clock > multiplier) but I am not sure I will be able to make it work, it had > several IO cards fail and I ran out of IO cards to replace them with. > That was a sweet machine in it's time. I was running slackware on it > (well already earlier running slackware on a 386sx16Mhz :-) > > Adam