View Single Post
Old 2021-04-01, 14:25   #3
CRGreathouse's Avatar
Aug 2006

3×1,993 Posts

Originally Posted by naturevault View Post
Basically a user generates a private key, then hashes it using some algorithm like sha-2 or sha-3 to get a public key. They then hash this public key with something like skien-1024 to get a large random number (and truncate to a given acceptable length). They then provide a prime factor of this number that is between 7/16ths and 1/2 the length of the number. So for the network to verify the PoW, they do a primality check of the factor, and divide the large number by the proposed factor. If it checks out, it is a valid proof of work (and of course the person who generated the challenge is the only one who can spend it because they are the only one that knows the private key). We would start around 140 or 150 digit numbers so people can complete a proof of work in about a week with a decent computer.

Is there any potential attack vectors to this method?
Yes, your users have too much flexibility. They could generate numbers until they find one with enough small factors (< 30 digits) to make finding the big one easy.
CRGreathouse is offline   Reply With Quote