Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hoped there would be a rise in proof of work like chains, where in the work was something useful like training an AI or brute forcing a hard but useful problem. Like a SETI@Home, but paying crypto for successful solutions as opposed to relying on altruism.


It's hard to pull this off, if not impossible. A key attribute of proof of work systems is that the difficulty should be dynamically adjustable and that everyone has perfect consensus on what "work" is. Doing meaningful work, while admirable, puts the owners of those projects in control of defining "work" and adjusting difficulty, i.e., people in the loop. That's not trustworthy from a currency POV, no matter who the people are.


There are a few of these type of things, e.g. RNDR token (https://rendertoken.com) and rent a flop (https://rentaflop.com) in rendering, and golem (https://www.golem.network) and sonm (https://sonm.com/) in the "general purpose computing on the blockchain"


The problem is that in order for work to be useful to secure a blockchain, the work needs to have special properties. Specifically...

- It must be difficult to compute. It should be possible to get exponential increases in difficulty out of problem size increases.

- It must be easy to verify. It needs to be verifiable solely through data that can be copied on-chain, with no reference to external sources[0], and an easily-understood computer program needs to exist to verify that data.

- There must be no ambiguity in interpretation or valuing of the work. Every node should be able to look at the data and agree that work has been done just by having a connection to other nodes and valid consensus algorithms.

Most PoW is hashing-based, there are a few weirdos like Primecoin that use prime searches as a PoW; but these are both forms of numerical work. Number problems are easy, they have neat exponential-blowup properties, we can validate that the work has been done far quicker than they take to produce, and we only have one axis of value: how hard is it to produce that work? ML training and SETI@Home don't work that way. Verifying that someone did training requires testing the entire training set, and verifying that a Fourier transform worked involves just running the inverse, which doesn't have that same performance gulf between verification and work.

Furthermore, useful work has a value ambiguity problem. What ML training sets are considered valid proof of work, and how do we put them in a nice total ordering so that we can resolve chain splits? Who gets to inject signal data from SETI@Home into SETICoin? The nature of the work is not value neutral; if we just allow people to say "here, I trained an AI on a training set and it got better", then that allows deliberate construction of "easier" problems that look hard. Imagine like being able to unilaterally change Bitcoin from an ASIC-friendly hash function into one that is more akin to, say, Burstcoin and Chia. That would be a major trust problem for the chain.

[0] This is why most smart contract proposals fail. If we want to have the network, say, track container ships, we can't have every node operator actually board every ship to punch in data and make sure it was done correctly. There has to be trust, which disqualifies us from using an unpermissioned blockchain.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: