BP Reserves Updates

This discussion is a continuation of The Future of Block Producer Reserves which was later followed up with FIP-23 implementation fips/fip-0023.md at master ยท adsorptionenthalpy/fips

  • 2020: FIO Protocol Genesis: 10M FIO in BP Reserves

  • 2021: BP Reserves increased to 20M using 10M tokens retired from the address giveaway buckets (FIP-23)


The BP Reserves have run out again and has impacted the average block producer reward from paying out an average of 145K FIO down to 36.5K FIO.

38M FIO is still available from grants that were never claimed. (https://docs.google.com/spreadsheets/d/1acdM3ggm9pkV76IOLHm8sBfUHMQFsUCtMbb6V8t64QE)

Using the unclaimed FIO would satisfy the requirement that the tokens are from a known origin and are not minted out from an additional source without some first being burned from the supply. These tokens are not yet in circulation as they are locked but will steadily increase the circulating supply each payout.

ย 

In this proposal

  • BPMAXRESERVE will be increased to 58M FIO-

10M FIO genesis reserves +
10M FIO FIP-21 addition +
38M FIO unclaimed integration grants

  • 38M unclaimed tokens are burned from type 2 locks in public keys to make room in the 1B FIO max supply for the added reserves


Funding the source of the BP Reserves is only the first step, next how the rewards are distributed over time need to be taken into account.

Short high level explanation of reserve payout code:

  • If the reserve tokens that have ever been minted are less than the BPMAXRESERVE (currently 2M FIO)

  • and the rewards today are less than BPMAXTOMINT (50K FIO)

  • then mint the daily rewards + difference up to BPMAXTOMINT, or the rest of the remaining reserves

ย 

As suggested in Future considerations on fips/fip-0023.md at master ยท adsorptionenthalpy/fips

  • Making the BPMAXRESERVE a variable which can be set by a BP multi-sig.

  • Make BPMAXRESERVE based on a multiplier of FIO Address Reservation fee, to ensure stability if the FIO Token price fluctuates.

My suggestion is BPMAXTOMINT is made a state variable that can act as a throttle to control the rate of emission for the block producer rewards. Under certain economic conditions the threshold can be lowered (or raised) in a manner similar to the fee voting and less (or more) tokens are minted from the reserves, increasing the duration of the reserves over time (and vice versa).

ย 

ย