ADD: Tunable Incentive Pendulum

Current

IP is too heavily weighted to Nodes. Nodes provide 100% RUNE, LPs provide the same amount of capital, but 50% is in another asset. So when 33:67, both actors should be paid equal.

The inflexible bounding conditions are:

  1. 0 Pooled, 100% to LPs <- Nothing pooled, so pay max to LPs
  2. 50% Pooled, thus 50% bonded; 0% to LPs <- About to become categorically insecure, so pay 0 to LPs.

Currently is a linear curve between these points:

Pooled : Share
0 : 100% 
33% : 33% <- however LPs are providing equal amount of capital to nodes, so should get 50% not 33%
50% : 0% 

Existing Formula

B = bondedRune
P = pooledRune
poolShareFactor = (B - P)/(B + P)

Desired

Tunable but meeting the following points:

Pooled : Share
0 : 100%
33% : 50% <- need to be 50% to match node rewards, when 33% is pooled
50% : 0%

Implementation

Add a new constant called incentiveCurve and set to 33 as default

B = bondedRune
P = pooledRune
incentiveCurve = 33
poolShareFactor = (B - P)/(B + P/incentiveCurve)

The incentiveCurve can be tuned later, eg, set to 3 to be halfway between old and new curve.

image

Edited by THORChain