SIP-202: Target Staking Ratio

Author
StatusImplemented
TypeGovernance
NetworkEthereum & Optimism
ImplementorJackson Chan (@jacko125)
ReleaseHamal
ProposalLoading status...
Created2022-01-19

Simple Summary

Introduce a target staking ratio incentivised through inflation.

Abstract

This SIP will track the staking ratio within the network and modify the inflation rate weekly to ensure this target ratio is achieved. The staking ratio will be measured as the percentage of SNX collateral in staked addresses divided by the total SNX collateral.

Motivation

Prior to the introduction of the SIP process an inflation rate was introduced via a discord vote, this inflation rate was subsequently adjusted by SIP-23. The purpose of the inflation rate was to encourage a high staking ratio while the network was growing. This worked well with the staking ratio peaking at 90%+. The staking ratio has subsequently fallen to below 70% as inflation has declined based on the curve specified in SIP-23. This SIP looks to introduce a target ratio for staking of 85% and adjust the inflation weekly up or down by 10% depending on whether the staking ratio is below or above the target ratio in order to hit this target, if the actual ratio is within 5% of the target ratio a reduction of 5% will be applied.

Specification

Overview

Each epoch the staking ratio for the previous epoch will be measured at the before the inflation emmission, if the ratio is below the target ratio by more than 5% the previous weekly inflation amount will be inceased by 10%, if the actual ratio is above the target ratio by more than 5% inflation will be reduced by 10%. If the actual ratio is within a range of +/- 5% inflation will be reduced by 5% the following week.

Staking and 7 days debt burn lock

To ensure that the staking ratio is accurate when the staking ratio snapshot is taken each week and that the ratio is not gamed, SCCP-164 proposes to increase the burn lock to 7 days from the current 24 hours. Also with the increase in weekly SNX rewards, there are concerns that snapshotting of the fee periods for the rewards will be an issue again. The proposal to increase the burn lock to 7 days will increase the incentives and alignment of stakers to support the system for a minimum of 7 days after the mint.

Rationale

Rather than attempting to modify the inflation curve to increase the staking ratio it is better to introduce a mechanism which targets the specific outcome the inflation rate is intended to achieve. The buffer and rate adjustment variables can be adjusted via SCCP based on the responsiveness of the network to this feedback loop. Even factoring in the inflation percentage increases it will likely take several months to reach equilibrium, this SIP therefore proposes to redbase the initial inflation rate to 800,000 SNX per week. The introducing of a decay of 5% if the target ratio is within +/- 5% is designed to ensure that as fee yield from the protocol increases inflation is reduced, provided the target ratio is maintained. This should ensure that overtime the proportion of rewards derived fromn inflation decreases as fee yield increases.

Technical Specification

There is currently no method to measure the staking ratio on-chain, so the implementation of this SIP will be split into two phases. The first phase will rely on an offchain calculation and SCCP each week to modify the inflation rate. Phase two will use a new Chainlink oracle to read the staking ratio at the end of each epoch and push this on-chain to allow the target ratio to be calculated and the inflation change determined. Prior to the full migration of staking to Optimism the amount of inflation diverted to L2 is fixed, this amount will therefore need to be adjusted periodically to align with the actual L1 inflation rate.

Implementation

  1. Take a snapshot of the staking ratio across L1 and Optimism at fee period block number

  2. Calculations

    1. If staking ratio is below 80% increase inflation by 10%
    2. If staking ratio is above 90% decrease inflation by 10%
    3. if staking ratio is between 80-90% decrease inflation 5%
  3. Distribution between L1 and L2 currently ~30%

    1. we will maintain this ratio each week unless modified by SCCP

Phase One

Supply Schedule

A modified supply schedule contract that takes an amount of SNX supply to mint for a week based on the calculated amount that is set by the protocol DAO. The weekly supply amount is derived from the base amount and the previous amount of SNX minted for staking rewards plus the increment of 10% (positive rebase) if the targer staking ratio of 85% has not been met or a reduction of 5% from the last minted amount (negative rebase). The amount will be calculated off-chain during phase one until the implementation of phase two which will be computed on-chain.

The protocol DAO will adjust the weekly amount of inflation if required on Wednesdays before the inflation is minted on the following day.

The reward distribution sent to L2 for the staking rewards on OVM will also be updated together with the weekly SNX inflation so that the L2 rewards stay in line with the amount of SNX minted. As the current RewardDistribution contract doesn't support setting a percentage of the rewards for each distribution, the protocolDAO will calculate the L2 rewards whenever the amount changes and update the distribution.

Phase Two

Phase two will implement on-chain calculation of the weekly SNX inflation based on the target staking ratio (provided by Chainlink oracles) inside the SupplySchedule contract.

The weekly inflation amount will be determined on-chain by the last minted amount * the percentage to increase supply by or decreased if the target ratio has been met. The supply schedule will read the current staking ratio of SNX stakers from the Chainlink feed once that is deployed on mainnet. The percentage the positive rebase of the inflation until the target staking ratio is met would be configurable by SCCP.

Also to enable automation of the Reward distribution to L2 stakers, the RewardDistribution.sol contract will be upgraded to support a percentage of the inflation rewards to be distributed to L2 for staking incentives. This allows the amount of SNX rewards to automatically adjust without manual adjustment by the protocolDAO.

The reward distributions should support both fixed amounts (for fixed amount rewards needed for staking incentives) and a percentage amount of the weekly minted inflation supply.

Test Cases

TBC

Configurable Values (Via SCCP)

Base Inflation: 800,000 SNX Buffer rate: 5% Positive adjustment: 10% Negative adjustment: 5%

Copyright and related rights waived via CC0.