|
| 1 | +# Provider Boosting Economic Model |
| 2 | + |
| 3 | +This document outlines the economic model to be used for: |
| 4 | +1. determining the token value of the Reward Pool for a given Era |
| 5 | +2. how to calculate rewards for an individual participant in the Provider Boost program |
| 6 | +3. when rewards are calculated |
| 7 | +4. when rewards are paid out |
| 8 | +5. where these calculations are performed |
| 9 | + |
| 10 | +## Context and Scope: |
| 11 | +The Frequency Transaction Payment system uses Capacity to pay for a limited number of specific transactions on chain. Accounts that wish to pay for transactions with Capacity must: |
| 12 | +1. Have an [MSA](https://github.com/LibertyDSNP/frequency/blob/main/designdocs/accounts.md) |
| 13 | +2. Be a [Provider](https://github.com/LibertyDSNP/frequency/blob/main/designdocs/provider_registration.md) (see also [Provider Permissions and Grants](https://github.com/LibertyDSNP/frequency/blob/main/designdocs/provider_permissions.md)) |
| 14 | +3. Lock up a minimum amount of FRQCY token to receive [Capacity](https://github.com/LibertyDSNP/frequency/blob/main/designdocs/capacity.md). |
| 15 | + |
| 16 | +There is also a business case for allowing any token holder to lock up its tokens in exchange for a reward - while also targeting a Provider to receive some Capacity. |
| 17 | + |
| 18 | + |
| 19 | +## Problem Statement: |
| 20 | +A system consisting only of providers and coinless users who delegate to providers will tend toward centralization. |
| 21 | +To build a self-sustaining Frequency network where control is decentralized, a variety of economic solutions are needed. One of these is the ability to lock up FRQCY token in return for something; this creates an incentive for participation and involvement with the Frequency chain fundamentals and governance. |
| 22 | + |
| 23 | +How is that so? Capacity is how Frequency intends Providers to pay for the vast majority of their on-chain messages. In the proposed system, Providers receive Capacity when users lock up some FRQCY. These Providers would then lose Capacity if those users unlock. If a Provider's Capacity from Provider Boosting is significant, this gives Provider Boosters some power over their targeted Providers. If a Provider is utilizing all or nearly all their Capacity almost every Epoch -- which they should do if trying to be economical -- then even a small percentage of lost Capacity will literally cost them to replace it. This gives those end-users relying upon - and Boosting - their Providers the ability to exercise direct market power they did not previously have. |
| 24 | + |
| 25 | +Account holders on Frequency may receive FRQCY from different sources. Providers may offer airdrops in return for such bringing in new users or sharing links on other platforms, then encourage their users to participate in Provider Boosting. Rewards could potentially be exchanged for non-transferable, in-app-only benefits such as premium features, special emoji, avatar customization, and the like, similarly to platforms such as [Steam](https://store.steampowered.com). |
| 26 | + |
| 27 | +### Provider Boost Accounts are not required to have MSA |
| 28 | +Any Frequency account with an existential balance + the minimum staking amount in FRQCY may participate in in the Provider Boost program. An MSA is optional. |
| 29 | + |
| 30 | +## Assumptions |
| 31 | +* The exact formula for calculating rewards is determined in advance and used in the implementation of this design. |
| 32 | + |
| 33 | +## Economic Model |
| 34 | +"Economic model" means the formulas and inputs used to manage Provider Boost rewards to achieve the goals of decentralization, economic stabiilty, and sustainability. |
| 35 | + |
| 36 | +## Goals |
| 37 | +To specify the following: |
| 38 | +* In words or pseudo-code how the reward pool and individual rewards are calculated |
| 39 | +* How and when rewards are minted and transferred |
| 40 | +* What to do with leftover and/or unclaimed funds set aside for Provider Boost Rewards. |
| 41 | +* Limitations on receiving rewards and reward amounts |
| 42 | + |
| 43 | +## Non-Goals |
| 44 | +This document does not: |
| 45 | +* specify implementation details or naming in code. |
| 46 | +* specify reward amounts for all time; values and methods used for calculating rewards should be expected to change to meet economic goals of the Frequency Blockchain and any legal requirements. |
| 47 | + |
| 48 | +## Proposal: |
| 49 | +### Inputs to Provider Boost Reward Calculation |
| 50 | +* R<sub>era</sub> is a predetermined amount of FRQCY available each Boost Era for Rewards |
| 51 | +* L<sub>u</sub> is the amount a given Provider Boost account has locked for Provider Boost Era <i>e</i> |
| 52 | +* L<sub>T</sub> is the total that all Provider Boost accounts have locked for Provider Boost Era <i>e</i> |
| 53 | +* P<sub>max</sub> is the maximum percentage of a Provider-Boosted amount that can be paid out in Era <i>e</i> |
| 54 | + |
| 55 | +### Formula |
| 56 | +The Provider Boost reward in FRQCY tokens for a given Era <i>e</i> is |
| 57 | + |
| 58 | +R = <i>min</i>(R<sub>era</sub>*L<sub>u</sub>/L<sub>T</sub>, L<sub>u</sub>*P<sub>max</sub>) |
| 59 | + |
| 60 | +Put into words, if the pool of Rewards per Era is R<sub>era</sub> FRQCY, then the Reward amount in FRQCY earned by a given Provider Booster will be proportional to how much they've locked for Provider Boosting out of the total, OR P<sub>max</sub> times the amount locked, whichever is less. |
| 61 | + |
| 62 | +Put another way, there is a fixed number of tokens to be rewarded each Era (R<sub>era</sub>), split up according to each Provider Boost account holder's percentage of the locked total. However, the reward return each Era for every individual account (P<sub>max</sub>) is capped at some rate, for example, 10%. |
| 63 | + |
| 64 | +### Examples: |
| 65 | +Given the following values: |
| 66 | +* R<sub>era</sub> = 2 Million FRQCY |
| 67 | +* R<sub>max</sub> is 10% |
| 68 | + |
| 69 | +1. Ang has locked 100 FRQCY (L<sub>u</sub>) for Provider Boosting. The total locked by everyone, L<sub>T</sub> for era <i>e</i>, is 10 Million FRQCY. The left side of the minimum is `2e6 * 100 / 10.0e6 = 100/5 = 20` (that is, 20% of what Ang has locked). The right side is `100 * 10% = 10`. Since 10 is less than 20, the reward amount is 10 FRQCY. |
| 70 | +2. Bey has locked 1000 FRQCY (L<sub>u</sub>) for Provider Boosting. The total locked by everyone, L<sub>T</sub> for era <i>e</i>, is 50 Million FRQCY. The left side of the minimum s `2e6 * 1000 / 50.0e6 = 1000/25 = 40` (that is, 4% of what Bey has locked). The right side is `1000 * 10% = 100`. Since 40 is less than 100, Bey's Provider Boost reward is 40 FRQCY. |
| 71 | + |
| 72 | +## Rewards are not issued for a partial Era |
| 73 | +Rewards are not prorated; they are calculated only for balances held for an entire Era. For example, if an amount is locked at the end of Era 100, and unlocked in Era 101, _no_ Reward will be issued. If an amount is locked in Era 100, and unlocked in Era 102, a Provider Boost Reward is available _only_ for Era 101. |
| 74 | + |
| 75 | +## Claiming Rewards |
| 76 | +* Provider Boost Rewards are not minted until they are explicitly <i>claimed</i> by the Provider Boost account holder, by calling a non-free extrinsic. |
| 77 | +* Rewards must be claimed within a certain number of Provider Boost Eras. |
| 78 | +* When claimed, all available, unexpired Rewards for each previous Era are minted and transferred to the same account that locked them. |
| 79 | +* **Is there a cap on how much can be claimed at once?** |
0 commit comments