Reduce supercharged rewards in line with initial tokenomics

Currently supercharged rewards are a fixed rate of 1440 per coinbase and require a hard fork to implement any adjustment. A hard fork could:

a). Eliminate them (as staking likely doesn’t need such incentives any more)
b). Make a step-change to a fixed number (which would require an additional hard fork later to remove)
c). Decrease the supercharged factor e.g. linearly by global slot to be phased out by 15 months (as initially proposed).
d). Leave it as it is (they don’t expire) and let their yield naturally decay.

6 Likes

Time wise, do you see much difference between c & d?

d). they never expire, they will always be 2x the regular coinbase (which is the current implementation).

It’s currently implemented as a scaling factor so keeping that and reducing them likely means reducing the regular coinbase too. Something simple and largely in line with the initial tokenomics could be:

if globalslotsincegenesis < 216000:
	supercharged_coinbase_factor = 2
else:
  supercharged_coinbase_factor = 1

Where 216,000 represents 15 months. So supercharged reward yields would gradually decrease (proportional to the rate of total currency increase) then drop to a regular coinbase once 15 months is over.

Here for a bit of context is the number of supercharged rewards issued so far each epoch:

2 Likes

Also, this could be a much wider discussion regarding a dynamic coinbase etc… to potentially target an inflation rate but given a hard fork is soonish it might(?) make sense to at least resolve the supercharged coinbase debate before then (again, they currently do not expire).

good idea, it look like atm the biggest priority is to decide on a sensible system to make those kinds of decisions. Even if it is a short term solution.

So c) would follow the original proposed roadmap if I understand correctly ?

Personally it would get my preference. I know many people in the French community that have invested in Mina by considering these tokenomics. Sure nothing is ever promised and set in stone, but I still don’t like the idea of ghosting people that are early adopters and enthusiasts.

4 Likes

I agree a lot of people take that as how the system works while It’s better if it works as in docs. If a change decision happen it should be done and be clear. It creates a lot of confusion for a long time.

I think (c) would be best for now for supercharged, a smooth change seems good for avoiding any big changes to the system at the hard fork. If easy for O(1) to implement for the upcoming hard fork, an if statement like the one you have seems simple enough, I think this would follow the original supercharged tokenomics?

if globalslotsincegenesis < 172800: # Month 12, until March
	supercharged_coinbase_factor = 1.5
elif globalslotsincegenesis < 216000: # Month 15 between March and June
    supercharged_coinbase_factor = 1.25
else: # after June
  supercharged_coinbase_factor = 1
1 Like

Here’s the chart of total supply increase per epoch, so let’s use 0.45% (this may be a little on the low side as more stake unlocks and/or fill rate changes, but it’s going to be ballpark correct).

So extrapolating that out to 15 months (or 30 epochs) I get the following chart for supercharged yields for your values (assuming the hard fork is at epoch 20 slot 142800 and the second drop off starts at the start of epoch 24 for simplicity, which is slot 171360)

4 Likes

Thanks for that, looks like my multipliers were off then. If we were looking for 18% and then 15% for the original roadmap, extrapolating from your chart, I think that would mean ~1.7x for the first 3 month slot, and then 1.5x for the second 3 months. if its easy to rerun, could you try those and see if it matches up?

1 Like

Yeah that seems close. This is of course based on an assumption in the total currency increase. Using values of 1.7 at epoch 20 and 1.5 at epoch 24 with a 720 coinbase. Added that chart as well for clarity.

Cool. I think the chart looks the same though? Maybe I’m crazy, but besides being filled in, looks the same as the one above to me.

Oh, sorry I uploaded wrong one :confounded: and I can’t currently edit the post (will do when I can). Sorry about that but here is the right one.

4 Likes

If I understood it ok, once all locked tokens became unlocked just everyone will get supercharged, just that when no locked tokens, supercharged will be the standard.

I don’t think its neccesary to change the supercharged multiplier, inflation rates decreases over time, just at the end real inflation will be x2 inflation coded.

Did I understood it ok?

P.S.: sorry for my english.

Supercharged rewards were introduced as an early incentive and I think most(?) would want to deprecate them inline with the initial tokenomics. You understand correctly, as currently these supercharged rewards in the protocol will not expire and eventually (albeit it’s a few more years) will be unlocked so it needs a hard fork to remove them.

The issue here is likely the timing of the hard fork. The above estimate is grossly overly optimistic with a hard fork at epoch 20. I think the most important consideration is having a clear implementation as to when these rewards will reduce and expire. The next major unlock occurs at slot 172800 after a year (12th March 2022 17:00:00 UTC) ref Mina Time Machine - TowerStake. Targeting this date seems more realistic?

So this projects, keeping the existing implementation until 172800 (12 months), then decreasing to 1.25 for the period 12-15 months, after which it’s just a regular coinbase i.e.:

As it is unlikely a hard fork wouldn’t occur significantly before 12 March, likely the difference in implementation would be negligible. I prefer the earlier drop-off but I think there is more clarity when the slot can be well defined well in advance - this is based on the assumption there won’t be an interim hard fork before snapps are released.

if globalslotsincegenesis < 172800: # As is, until end of year 1
	supercharged_coinbase_factor = 2
elif globalslotsincegenesis < 216000: # Month 15 between March and June
    supercharged_coinbase_factor = 1.25
else: # after June
  supercharged_coinbase_factor = 1

3 Likes

Hey @garethtdavies @evan.
This idea seems like it has been well vetted. Would you be open to polling the community on this one, and if there is broad support then moving forward with a MIP?

1 Like

Hi Brian, you link seems to be the wrong one.

Thanks @lamps → repo here