Great that folks are starting to think about this, I think it's important to keep the power of AI decentralized. Thought it seems like for this to be practical, they need to flesh out the Security section in the appendix to deal with bad actors. I like the probabilistic approach in lieu of full byzantine fault tolerance. Would be interesting to see what kind of guarantees we could still have about correctness/convergence even with bad actors.
One issue with that is it takes equally as long to verify a solution as it does to compute it. There's also no obvious way to generate instances of problems that are actually desired by people in such a way that commits to a new block in the way hashcash does. And there's also the problem of how you actually collect those questions in a way that can't be trivially compromised.
The dogma is that money makes trade easier. In bittorrent tit for tad there is no need for long term ledgers. You have lemons, I have sugar, we can both make lemonade. To buy your house with lemonade a more complex system is needed but to use that complex system for everything seems inefficient.
> One issue with that is it takes equally as long to verify a solution as it does to compute it.
Validate? If the "impossible" can be done on a group of nodes repeating it isn't hard, it just costs what it costs.
If you have a bunch of not very trust worthy nodes the challenge of repetition seems ideal. They can be made to do enough validation to earn enough trust to do their one nefarious act which resets their trustworthiness while the network keeps the fruits of their labor.
Tit for tat works in BitTorrent since I already know what each chunk looks like (verifying it is just hashing it and comparing against the index in my .torrent file), bandwidth is interchangeable with bandwidth, and the local view of bandwidth accounting is all that matters to me. How you behave with other peers matters little when I know how you're behaving with me.
But as a consensus mechanism that doesn't work since we do have a global state we need to negotiate. Proof of work isn't about establishing trust, it's just about constraining the rate at which blocks can be added to the chain and for reconciling forks. The cost to verify the transactions in a block is minimal. Hashcash works because to solve an instance of it, m, a you have to find some n where H(m,n)<(1/difficulty), which takes a lot of time to try different values of n for a candidate payload m, but to verify it you just have to give me m and n and I only have to check the hash once. And the difficulty value is a dynamically adjusting parameter that keeps the network running at a consistent rate, indirectly being a spam prevention. It's not a mechanism to establish trust in (the blocks of) particular nodes.
NN inference doesn't work that way. To check that you ran an inference properly I have to do the inference myself too. (Ignoring advanced techniques that are more application-specific.). If we wanted to use it to establish trust, then a new peer that joins the network would have to redo all of the work that every peer they interact with has ever done, to determine the level of trust in it. Or if you wanted to build a consensus protocol with that trust primitive then you'd have to redo all the work everyone that's ever proposed a block has done. And that still doesn't do anything about ensuring the inference that these block producers are doing is actually useful to somebody.
Fwiw, I'm not trying to defend PoW here. I'm just trying to articulate why it's proved very difficult to find an alternative to hashcash that has the same set of properties it does, despite 10+ years of effort.
If you have to pay $X for AI inference, then it proves that the work is worth at least $X to you... Which suggests the obvious marketplace scheme: Compute providers are paid (or credited) $X/k to contribute their nodes to the network, and users pay $X for inference.
(inevitably, someone will implement this with o.g. bitcoin and we can all cry.)
> If you have to pay $X for AI inference, then it proves that the work is worth at least $X to you... Which suggests the obvious marketplace scheme: Compute providers are paid (or credited) $X/k to contribute their nodes to the network, and users pay $X for inference.
Yes, and that seems good
> (inevitably, someone will implement this with o.g. bitcoin and we can all cry.)
Why should we cry?
If the person providing the GPU in the distributed inference system can be "credited" on a ledger with some unit that will let them use other people's GPU to do their own inference in the future (and proportionally to what they themselves provided in the past), I see that as a way to arbitrate between present and future wants for GPU capacity.
You may have little use for your GPU 24/7, so you could let it chew numbers to fulfil other people AI needs, but tou may not want to do that if you're left with the electricity bill! Yet if in return you would be provided with some credit that lets you use other people GPU when you need it, you may be more willing to be cooperative instead of keeping your computer turned off ur using your GPU just for yourself.
There's also a mutual interest in cooperation: I wouldn't cry if I need in 1 second more than my GPU could do in 1 hour, and if this scheme existed, as it'd mean I wouldn't have to wait.
You shouldn't cry either: if you have contributed to the network for say 2 days in the past, you can "redeem" the equivalent of these computations immediately in 2 seconds, which is better than waiting or paying to use a company API.
The accounting may seem futile, but I think it ensures you can't waste more resources that what you provide: this is the proportionality between past/present/future wants for GPU (no leeching)
Can you explain me what you mean by "cry", or why you imply it would be a bad thing?
If you can trade these tokens, this lets you exchange GPU power for money. People who need a GPU will pay for tokens, and people who have one but don't need it will get paid.
This makes GPU hosting far more competitive and ensures that i.e. participants choose the countries with the cheapest possible energy etc.
> This makes GPU hosting far more competitive and ensures that i.e. participants choose the countries with the cheapest possible energy etc.
That seems good: I'd rather have GPUs next to where power is being wasted rather than have to build more nuclear power plants or water dams where there're people and wildlife.
If we can have say Arizona or even the Sahara covered with solar panels, I think it'd be better for everyone - humans, animal and plants included (there are not so many lifeforms in the desert)
Bitcoin specifically burns electricity like mad... We cry because, in an effort to demonstrate utility of the workload, Bitcoin would burn resources simply to enable transactions.
It's completely unnecessary overhead: Ethereum's proof-of-stake seems to work now, or one could set up a centralized marketplace with no need for crypto whatsoever.
Wow ! I was basically mulling over it earlier today in the HN learn discord[1], for a practical project. If you want to tag along to do something useful, come say hi (the more the merrier ! ).