Background

Petals is a new peer-to-peer service where people can run large AI models without needing their own server farm. Think of it like Bittorrent for AI. It does this by splitting up large AI models into slices and hosting those slices on the computers of volunteers. Petals represents an important step in the democratization of AI technology, which will have incredible impacts in all areas of science from biology to astronomy. By enabling the public to have access to this "swarm" of compute nodes at no to low cost, Petals is both a valuable resource in terms of the output produced by the models themselves and an important "lab" for testing and designing new models. Those researching AI can now do their research without the millions of dollars of venture capital previously required for this type of research. And they can do it without the strings that normally come attached with that kind of money. Petals presented at the BOINC workshop in 2023 if you are interested in the technology behind it.

Gridcoin is a decentralized proof-of-stake cryptocurrency started in 2013. It has a novel reward mechanism where instead of rewarding users for calculating hashes (Bitcoin and classic proof-of-work), it rewards users for contributing computational power to scientific research. These users are given Gridcoin in exchange for their computational contributions. It primarily rewards users who compute for BOINC projects, but recently added Folding at home to its portfolio and hopes to expand to other non-BOINC projects.

Why

Right now, Petals is a fairly new project with an influx of enthusiastic volunteers hosting nodes. Many of these volunteers also use the Petals network to query AI models, and so they participate both as a form of altruism to a project they care about, but also to support a network from which they derive some benefit.

As Petals grows, the project has rightly recognized that some sort of incentive mechanism will need to be put in place to

  • Incentivize people to run nodes (cover operating costs)
  • Ensure bad actors are not allowed to damage the network's utility either by returning bad results or overloading the network with requests
  • Ensure the network can continue to grow sustainably
  • Ensure that those contributing computational power can access that power to run their own queries

There is some discussion of splitting into a "free" and "priority" tier.

Why Gridcoin

Gridcoin is a network which already incentivizes over a dozen other distributed computing projects. By doing so, it enables those projects to focus on their computation while Gridcoin handles the complexity of dispensing rewards and creating a marketplace for compute power. Indeed, much of the initial Petals thinking on how to make an incentivized mechanism coincidentally looks a lot like Gridcoin's design. Being added to Gridcoin's list of approved projects (whitelist) would provide Petals users with financial rewards for running a Petals node to help cover electrical and equipment costs.

Gridcoin works internationally, transactions confirm in seconds, and it runs on a mature, robust, decentralized network. Additionally, as Gridcoin is focused specifically on scientific distributed computing, our base of "crunchers" (people who donate computational resources) is massive and measures in the petaFLOP range. Many of these crunchers have high-end GPUs which could massively expand the current capacity of Petals. Being added to the whitelist exposes Petals to a whole new user base who will be enthusiastic participants in the project. When being added to the whitelist, projects typically see a large increase in users.

How

In order to be incentivized by Gridcoin, a few things would need to happen per Gridcoin's whitelisting process.

  • The Petals admins would have to agree to be incentivized
  • The Petals admins would need to publish a leaderboard ( a list of users and how many points they have earned by hosting nodes. Petals can decide how to allocate those points ) for Gridcoin to use as a basis for handing out rewards. If the Petals admins publish stats in a way that is identical to a BOINC project, it can work immediately. Otherwise, the Folding@home adapter will need to be adapted to ingest those stats, which should be an easy to accomplish task on the Gridcoin side.
  • The Petals admins would need some mechanism to prevent nodes from being rewarded if they return bad information. They will need this mechanism at some point with or without Gridcoin.
  • There would need to be a relatively constant supply of computational work, which does not seem like it would be a problem with Petals
  • A network-wide poll on the Gridcoin network would have to pass by 20% AVW or greater, which I see as basically a forgone conclusion given the enthusiasm about the idea already.

In short: Petals figures out how many users get which points and Gridcoin sends coins to those users.

User experience

So how, for a current Petals user, would adding Gridcoin to the process change your experience?

  • Participation in Gridcoin rewards would be entirely optional. If you just want to host a node and not mess with crypto, you are welcome to do so.
  • If you want Gridcoin rewards, you would need to download the wallet and do a few steps to get everything setup. And you'd need to register your node with petals so they know who to assign awards to.
  • Once you get your Gridcoins, you can sell them on an exchange for your local currency, hold onto them, or (potentially) use them to purchase priority processing on Petals.
  • The amount of Gridcoin you get is based on the amount of computation you do relative to other people running nodes. If you do 90% of the computation, you get 90% of the total Gridcoin reward.

Petals Internal Economy

So far this sounds pretty simple: Gridcoin simply awards users who run nodes. But there's much more that could be done, on the Petals side if they wanted to such as:

  • Establishing "priority" work requests within the Petals network. Priority requests could earn additional points (which turn into Gridcoin) when processed by nodes. Petals could sell priority access via a number of mechanisms. One mechanism would be to have users pay with Gridcoin, which enables people hosting nodes to directly use the Gridcoin rewards from those nodes to purchase compute time (similar to the points system described by the initial Petals thinking on this). Users needing more compute power could purchase more Gridcoin and send it to Petals, which directly increases the incentivization available to those running nodes, keeping things in balance. If, for example, Petals instead sold priority processing via PayPal, one could envision a situation where more compute power was sold than was actually available, and Petals would have to figure out some way to turn that additional payment into additional compute power. If people have to buy Gridcoin to get additional compute power, that problem essentially solves itself as a self-balancing economic system. The Gridcoin wallet has a web RPC similar to Bitcoin's wallet. As Petals is written in Python, it should be fairly straightforward to confirm payment transactions. Libraries written for Bitcoin typically work well with the Gridcoin wallet as well.
  • Adding additional incentive: Being on the whitelist entitles the crunchers of a project (people running Petals nodes) to a set amount of Gridcoin per month. But if Petals or some other organization wants to increase the total incentive amount, Gridcoin has mechanisms to do that. Essentially, the person can buy a bunch of GRC and "rain" (distribute) it to crunchers on a particular project like Petals. If Petals wants $1000 in incentivization a month but Gridcoin only provides $500, for example, Petals can provide the other $500 without the hassle of having to distribute the rewards themselves. A new mechanism for this (benefactor contracts) has been proposed as well.

Comparison to internal Petals-Only Tokens

Instead of using Gridcoin, Petals could also opt to instead make their own token which is used internally. For example, 1 hour of computation time donated means you get 1 token, which can be used to purchase approximately 1 hour worth of computation time. This is a solution that may work well for users who wish to maintain a 1:1 ratio, but doesn't provide for users who want to buy more computation than they contribute (or users who want to buy computation time but lack the resources to meaningfully contribute). It also means all users hosting nodes will only host the approximate amount they need to match the amount of requests they want to make. It provides no reward mechanism for people to host nodes who don't need access to queries, meaning as more tokens are sold for access, the swarm will not be guaranteed to scale in the same way Gridcoin can offer. This system would also, of course, incur some administrative overhead in terms of distributing tokens to nodes, whereas in the Gridcoin system all Petals needs to do is publish a list of which nodes should receive tokens.

FAQ

I have heard crypto is bad for the environment or is a scam, I want nothing to do with it!!

Participation in the Gridcoin incentives would be entirely up to you. Gridcoin has been around a decade and has a proven track record of rewarding scientific computing projects at prestigious universities and research institutes around the globe, all of whom have seen the benefit of working with us. The ecological footprint of Gridcoin is 99.9% less than traditional proof-of-work currencies as calculating hashes (as proof-of-work) is not required for the functioning of the network.

I want Petals to remain free, it's wrong to lock it behind a paywall!

Ultimately somebody is going to have to pay for the immense electrical and hardware costs that come with running large AI models. Petals would probably have a "free" and "paid" tier, so that free access remained viable for users. In fact, I would wager that Gridcoin would require a free access tier to exist to approve the Petals project for ongoing incentivization. Additionally, users providing compute power will still be able to access compute power in roughly a 1:1 ratio. This system is still a major win compared to existing, centralized AI providers, as it creates a fair, open system for using AI whether for free or by buying priority processing.

As a final note, Petals is open source. So if you strongly disagree and think it should only remain free to all, you are welcome to run your own free swarm and administer it however you like.

I like this Gridcoin idea, but I also like other proposals for Petals to have an internal reward mechanism?

Both mechanisms can be used at the same time. People can earn Gridcoin rewards for their computational contributions and some other reward mechanism made by Petals.

Won't incentivizing people to run nodes encourage people to cheat by returning bad data?

Yes, but long-term some mechanism to weed out bad actors, even without incentivization, will become necessary. By incentivizing running nodes, we can ensure that it is more profitable to be a good network participant than a bad one. People's behavior is much easier to modify when money is involved. One benefit of incentivization is that because more eyes are on the user stats, it will make it more likely that cheaters are identified and removed from the network. This process has revealed security flaws in the reward mechanisms of other distributed computing projects.

Explain why selling priority access with Gridcoin would be better than Paypal?

If Petals is to sell priority computational access, ideally the sale of computational power would also result in increased computational capacity. If it doesn't, the scale can tip too far to one side and computational capacity can become all booked up. This delays requests for capacity or prevent them entirely if the situation is bad enough. Petals would also have to play a constant game of cat-and-mouse with making sure the price for computational power is in-line with competitors and is sufficiently sized for the network's current computational capacity. They could, of course, sell that computational capacity via some mechanism like PayPal. But then Petals would need to take that amount, figure out how much to allocate to each node, and then figure out how to get payments to all the node operators. This will become a massive administrative headache pretty quickly. They would also need to assign a rate to charge for the priority processing, which would need to change from time to time.

A simpler, more elegant solution would be to have those seeking computational capacity to buy Gridcoin and pay Petals with that Gridcoin. Petals could then use the Gridcoin network to, in one command, distribute all that Gridcoin to all the node operators in proportion to how much computation they have contributed to the network. It all happens internationally, instantly, and with virtually no administrative overhead. When there is more Gridcoin rewards being distributed (when people are purchasing more priority access/computational power), more nodes will come online to "soak up" that extra reward, meaning the total computational capacity of the network becomes elastic and self-balancing.

Not only will the total quantity of GRC distributed as a result of purchases increase, but the value of that GRC may increase as well. As buyers soak up existing GRC supply, that raises the relative price of the remaining supply. The amount of computational power that Gridcoin can subsidize is directly related to the value of Gridcoin. Right now, that means projects receives about $500 a month in free incentivization. If Gridcoin's price increases (not due to speculation but due to people actually buying it and using it to buy computational power) 20%, that subsidy turns into $600.

A final bonus of using Gridcoin, is that it enables people operating nodes to directly purchase priority processing/computational power using the same mechanism that rewards them for contributing it. Contribute 1 day of compute? Now you just got paid enough GRC to buy one day of compute.