Hacker News new | ask | show | jobs
by anandsuresh 3218 days ago
The proof-of-work algorithm is an expensive proposition. I wonder if there are ways to utilize all that power and compute to perform useful work... like reCAPTCHA. The desired characteristics would include to ability to dynamically modify the difficulty of the problem.
4 comments

I really like this idea. Perhaps transaction fees could be paid by those needing compute, and the result might be a globally distributed cryptocurrency AND a huge pool of (hopefully) cheap compute resources.
Exactly! I don't expect this to work for every case, but if we can re-think even a small subset of socially-relevant computation problems as a PoW scheme, that could be a game-changer!
I think there are a few that have tried. E.g. Primecoin calculates prime number chains https://en.wikipedia.org/wiki/Primecoin Looks like there are some protein folding coins as well - curecoin and FoldingCoin that contribute to folding@home
one such example would be https://en.m.wikipedia.org/wiki/Primecoin

The big issue with making a POW is not making something hard to calculate, but making something hard to calculate and easy to verify. As far as I can tell, useful tasks that satisfy those conditions are very hard to find.

It absolutely is USELESFULL work, its protecting a 40 BIO USD Marketcap, financial freedom, censorship resistant payments...

Recaptcha and co are gimmicks compared to this.

I wouldn't go so far as to call reCaptcha a gimmick. It is an excellent example of how a slight modification/re-mapping of the original problem-space can solve more socially/commercially useful problems.

PoW has proven itself in the field for years, while PoS is still untested at scale. Being able to piggyback scientific/medical/environmental computation over a PoW scheme would provide significant value as opposed to a fairly useless compute problem such as the double-SHA256.

The key here is to be able to re-interpret/re-state a problem in terms of the PoW algorithm with the following characteristics: - Expensive to calculate, cheap to validate - Dynamically-adjustable difficulty

An ideal implementation of this would be similar to an OS running an idle process (double SHA256), and switching to running user-processes (medical/scientific computation) when needed/instructed.

> Expensive to calculate, cheap to validate

Sounds like NP-completeness [1]

[1] https://en.wikipedia.org/wiki/NP-completeness