Scotbot: convergent_linear reward curves are supported

Each scot has now two new parameters:

  • post_reward_curve - can be default, convergent_linear
  • post_reward_curve_parameter - can be None or a float number

Default setting is post_reward_curve=default and post_reward_curve_parameter=None, which means that the post reward is calculated by

1
weight_rshares = rshares ^ config[token]["author_curve_exponent"]

When post_reward_curve is set to convergent_linear, the post reward is calculated by:

1
2
s = config[token]["post_reward_curve_parameter"]
weight_rshares = ( rshares * rshares ) / ( rshares + s )

and config[token][“author_curve_exponent”] is not used for calculation.

Comparison

Lets assume there is a pool of 2 TOKEN and there are three posts with 500, 1500 and 10000 rshares

default settings

author curve exponent rshares weight_rshares payout
1.0 500 500 0.08
1.0 1500 1500 0.25
1.0 10000 10000 1.67
1.05 500 682 0.07
1.05 1500 2162 0.23
1.05 10000 15848 1.7
1.1 500 930 0.06
1.1 1500 3116 0.21
1.1 10000 25118 1.72
1.3 500 3225 0.04
1.3 1500 13456 0.15
1.3 10000 158489 1.81
1.5 500 11180 0.02
1.5 1500 58094 0.11
1.5 10000 1000000 1.87

convergent_linear

post reward curve parameter rshares weight_rshares payout
10 500 490 0.08
10 1500 1490 0.25
10 10000 9990 1.67
100 500 416 0.07
100 1500 1406 0.24
100 10000 9900 1.69
1000 500 166 0.03
1000 1500 900 0.18
1000 10000 9090 1.79
10000 500 23 0.01
10000 1500 195 0.07
10000 10000 5000 1.92

Conclusion

When using the convergent_linear cuve, the parameter can be used to decide from which reward to should convert to a linear curve. For post_reward_curve_parameter=10, the payout is the same as for exponent = 1.

For post_reward_curve_parameter = 1000, the rshares for the post with 500 rshares are weighted with 0.33, the post with 1500 rshares is weighted with 0.6 and the post with 10000 rshares is weighted with 0.909.

Thus, convergent_linear with a parameter of 1000 can be used to reduce the payout of post with less than 1000 rshares.


Let me know when you want to change the configuration for your SCOT.