There is one thing I do not understand:
Why isn't this vanity miner testing all available works at once? I thought the slowest part in this process is crypting/hashing, so testing result against hundreds/thousands/milions of adresses should not be that big deal (if some smart datastructure like trie would be used...).
Am I wrong?
You can only test concurrently any available work that has the same public key when it was requested.
eg my pub key is A & I request vans:
b, c, d, e, f
all these can be tested or searched for together, as my private key to A gives me the private key solution to them.
but someone else with pub key B requests van gens;
g, h, i
these can't be searched for at the same time as mine as it's a different pub key & hence priv key needed to see/de-crypt the solution.
(A non tech attempt at explanation as I see it - I'm geek lvl @ minus 10 btw, as I'm sure is evident)
You could actually work on all requests at once, if you would be creating simple pubkey-privkey pairs. Once you find one, you give the pubkey and privkey to the requester. Of course there is no guarantee you delete the privkey, so you could steal any funds sent to that address. Or someone steals the privkey from your harddrive, etc.
The beauty in the system here is that you kind of create a pubkey corresponding to a privkey you don't know, but the requester can calculate once he receives your solution. That way only the requester ever has the privkey.
..with the limitation that you can only work on requests from the same, well, confusing, pubkey used to create the request :-)
Either way, would it do any good if we could work on all requests at once, if the securityproblem wasn't there? I am sure people would still offer as little reward as possible. Then you wouldn't earn a few bitcents for a task, but a few bitcents for all requests combined. Regular mining would still be more profitable. Sure, the minimum reward could be adjusted? Same could be done here. So, short answer: Free market and supply&demand. :-)
Ente