Boosting: Some initial parameters

In Boosting “Contribution Crops”, I propose defining a new set of time-based nodes in the Cred Graph which would be good targets for Boosting. In this post, I’d like to propose some initial parameter choices / rules around Boosting, suitable for an initial (beta) implementation.

Let’s suppose that initially only Crop nodes are eligible for Boosting. Each Crop node has associated “Boost Shares”, each of which confer an equal proportion of Cred from the Crop node. Basically, some fraction of the Crop node’s Cred will be split across the Boost Shares, as follows:

Suppose a Crop node has t total Cred. There is a Boost Coefficient bc, I propose bc = 0.2. Then t * bc Cred will flow to the Boost shares in aggregate. If there are k shares, then the holder of any individual share receives t * bc / k Cred.

We will want the Grain cost of shares to be superlinear in the number of shares issued for a given Crop; this rewards early Boosters who commit Grain to boosting a given Crop. I propose that we use a quadratic function, I’m open to others but I suspect it will have nice properties. Then if there are s shares in existence, the cost of the next marginal share is s*s.

Boosting Mints Cred. I’d like the amount of minted Cred to be equal to the total amount of Grain burned, so the Mint amount for a given Crop is equal to s*s. This excess Cred will be split proportionally based on the Seed Vector for a given week. The net result is that minting on the Crop node will “amplify” the Cred of every contribution from that week.

We’ll need a strategy for auctioning off the initial set of crop nodes, that allows people with Grain balances to participate fairly, without a “rush” where whoever is allowed to Boost first gets a huge benefit. I’m thinking at a UX level, we’ll make it easy to boost at the level of individual Crops, or groups of Crops (call them “Seasons”). E.g. you can Boost the “Season” of 2019, and that evenly splits your Boost across 52 Crops in 2019. That way people without strong opinions at the week level can participate in a way that sets a consistent “boost price floor” across all the Crops in a year. Once that initial price floor discover has happened, we can have a sort of “initial crop offering” where everyone can commit Grain to Boost individual Crops, e.g. the week of SourceCred’s founding, the week of CredCon, etc. Everyone who participates will get the same price level within each Crop.

After that, we could switch to a first-come-first-boost model, once the rush of initial Boosts is resolved.

1 Like

I’m still kinda confused about the incentives/balance of boosting proposed here. Is a booster likely to make at least their money back on burned grain? If yes, then can’t a booster burn any amount of grain to produce more positive return? It seems like this scenario converges to the dynamics of a publicly owned company where more capital = more return. Meanwhile, if boosting does not produce a positive return then there’s no incentive to boost.

You propose here that we use a quadratic funding strategy where the marginal cost changes. This does potentially fix the issues I just mentioned, but has some additional problems. Maybe while our community is small these aren’t that big of a deal, but I can imagine an algorithm whereby the actual value of minted cred can be estimated for a crop. A person with sufficient grain could then frontrun everyone else and boost enough that they consume all of the positive return. There is then no more incentive for anyone else to boost.

One solution is using some form of sybil resistant identity and having boosting costs increase quadratically per individual instead of globally. This prevents one person from getting all the return, because they would quickly price themselves out. However, it doesn’t necessarily produce the maximum amount of capital for SourceCred, because individuals could get a high return for relatively little grain.

Alternatively, boosting could follow an auction model where anytime someone bids to boost, there is a period of time where the grain is locked, but the boosting hasn’t yet finalized. Anyone else can bid a higher amount during this time period. A disadvantage to this is the process of boosting could take a very long time depending on how much time we add to the auction timer between bids. It’s also unclear when to start the auction on a crop. Can people bid on crops arbitrarily far into the future?

1 Like

It’s hard to say right now. It depends on:

  • the future Cred of the node being boosted
  • the future average “Grain Distributed Per Cred” of the project

If you know these two variables then you can forecast the return from boosting a node. ATM both variables are unpredictable.

Yeah, frontrunning is something we need to think about. In the case of the crops, I think it’s pretty straightforward that we’ll have (e.g.) a weeklong auction for every crop when it is first issued (e.g. there’s always an auction going on for the last week’s crop, and it rolls over every week). Then everyone who puts in Grain for that week’s crop gets the shared average price.

It’s less clear how boosting should work for non-crop nodes, e.g. individual initiatives or pull requests or features. One theme which @wchargin and I have discussed (at some length, but inconclusively) is that the initial “price” of Boosting should depend on the current Cred of the node in question. Since if the initial boost share is very cheap, but the node already has plenty of Cred, then boosting may present an instantaneous arbitrage opportunity, which shouldn’t exist; boosting should always incur some risk. So we’d probably want the initial boost price to depend on the Cred somehow.

An interesting proposal but it would create really strong incentives to create Sibyl, and punish super engaged contributors who earn a lot of Cred, then get a lot of Grain, and want to boost it back in. I think it would be a mess, where project insiders would create lots of Sibyl accounts and it would be a bit of an open secret / hard to police.

No, I think we should have the crops only open up right around their actual time. This would:

  1. mean that the Crop is available to be bought at “base price” by people who are actively engaged in the project at that time–letting a speculator buy up crops cheaply into the far future feels unfair to the people actually doing the work
  2. would provide a cool running health metric for the project–the amount of boosting at the opening of each week’s crop would be a live indicator of how enthusiastic the community is about the work currently being done.
1 Like