Leech Principle

Bond’s social value calculation algorithm help determine a user's social value based on their activity, influence, and position within the network, rather than just their adoption time. This means that even those who join later can achieve a high social value by being active and influential within the network. Additionally, we've implemented a decay factor (Penality). If the system detects a decline in a user's staking situation or social activity, the quantity of their rewards will correspondingly diminish. In essence, Bond's "Leech Principle" is a just and reasonable reward mechanism that benefits both the project side and all project users. It serves to motivate value creators to consistently contribute to the project, preventing those who haven't genuinely participated from reaping excessive rewards, thus enhancing the project's long-term viability and fairness.

Here we have:

Penalty=1(PTeam+PToken+PSocial)PTeam={0.15 if ΔTeam-Value<00 otherwisePToken={0.6 if ΔToken-Stake<00 otherwisePSocial={0.25 if ΔSocial-Value<00 otherwise\begin{gathered} \mathrm{Penalty}=1-(P_{\mathrm{Team}}+P_{\mathrm{Token}}+P_{\mathrm{Social}}) \\ P_{\text{Team}}=\begin{cases}0.15&\text{ if }\Delta\text{Team-Value}<0\\0&\text{ otherwise}\end{cases} \\ P_{\mathrm{Token}}=\begin{cases}0.6&\mathrm{~if~}\Delta\text{Token-Stake}<0\\0&\mathrm{~otherwise}\end{cases} \\ P_{\mathsf{Social}}=\begin{cases}0.25&\mathrm{~if~}\Delta\text{Social-Value}<0\\0&\mathrm{~otherwise}\end{cases} \end{gathered}

We can start by calculating the reward for each cycle from the beginning and summing them up.

Now let's define some parameters in our senario

Initial reward: R=100R=100

Fixed reward rate: f=25f=25​

Time intervals: 66

Decay rates: We have three: d1=15,d2=25,d3=40 d1=15​, d2=25​, d3=40​

In the 1st cycle:

Reward=100×0.25×0.851Reward=100×0.25×0.851​

Balance=100+100×0.25×0.851Balance=100+100×0.25×0.851​

In the 2nd cycle:

Reward=(100+100×0.25×0.851)×0.25×0.852Reward=(100+100×0.25×0.851)×0.25×0.852​

Balance=100+100×0.25×0.851+(100+100×0.25×0.851)×0.25×0.852Balance=100+100×0.25×0.851+(100+100×0.25×0.851)×0.25×0.852​

And so on, for the ttht-th cycle:

Reward=(Balancefromthepreviouscycle)×0.25×0.85tReward=(Balancefromthepreviouscycle)×0.25×0.85t​

Thus, for time t​, the total amount is the original principal plus the reward from each cycle.

We can formulate this as a recursive relation:

y(t)=100+i=1t(100+y(i1))×0.25×0.85iy(t)=100+\sum_{i=1}^t(100+y(i-1))\times0.25\times0.85^i

However, this remains a recursive relation, not a closed-form solution. To obtain the balance at any given tt, we would need to iterate through this process.

Considering different decay rates, we can write a formula for each rate:

No decay (0% decay): This means that the reward rate for every cycle remains 0.25, with no decay.

y1(t)=100+i=1t(100+y1(i1))×0.25y_1(t)=100+\sum_{i=1}^t(100+y_1(i-1))\times0.25

Note: The reward is 25% of the previous cycle in each cycle and there's no decay. Hence, this series will not converge as it adds a value of 25% each time, rather than approaching a fixed value.

15% decay: The reward rate starts at 0.25, but with each cycle, it is multiplied by 0.85.

y2(t)=100+i=1t(100+y2(i1))×0.25×0.85iy_2(t)=100+\sum_{i=1}^t(100+y_2(i-1))\times0.25\times0.85^i

25% decay: The reward rate starts at 0.25, but with each cycle, it is multiplied by 0.75.

y3(t)=100+i=1t(100+y3(i1))×0.25×0.75iy_3(t)=100+\sum_{i=1}^t(100+y_3(i-1))\times0.25\times0.75^i

40% decay: The reward rate starts at 0.25, but with each cycle, it is multiplied by 0.60.

y4(t)=100+i=1t(100+y4(i1))×0.25×0.60iy_4(t)=100+\sum_{i=1}^t(100+y_4(i-1))\times0.25\times0.60^i

Note: These four formulae describe the change in account balance over time t, based on different decay rates. y2y2, ​,​and y4y4​ do not converge to a fixed point, but the slopes of their curves gradually decrease. This means that the rewards received by users with decay will become progressively smaller over time."

Now we have:

Week

Reward1 (No Decay)

Reward2 (15% Decay)

Reward3 (25% Decay)

Reward4 (40% Decay)

1

150.000

142.500

137.500

130.000

2

212.500

186.302

170.898

150.700

3

290.625

230.258

199.470

164.238

4

388.281

273.357

223.158

172.799

5

510.352

314.772

242.330

178.102

6

662.939

353.880

257.562

181.346

7

853.674

390.256

269.494

183.315

8

1092.093

423.653

278.742

184.505

9

1390.116

453.975

285.851

185.222

10

1762.645

481.241

291.283

185.653

To accentuate the curves with decay rates, we can employ subplots to plot individual curves for each decay rate, or we can use a logarithmic scale for the y-axis.

Here, we present two methods:

Method 1: Subplots

Plot a distinct subplot for each decay rate.

Method 2: Logarithmic Scale

Utilising a logarithmic scale can better illustrate the growth trend of the data, especially when some data grows much faster than others.

Both methods have their merits. The subplot method allows for a more detailed examination of each curve, while the logarithmic scale approach provides a holistic view, aiding in comparing different curves.

Generalisation

Let's generalise these parameters:

Alright, let's express these parameters in a more generalised form:

  • PP: Pledged amount (originally the 100 principal)

  • rr​: Reward rate (originally 0.25)

  • dd: Decay rate as a percentage (for instance, 15% would be 0.15)

  • tt: Time period

Note: The decay factor is 1d1−d​. For instance, with a 15% decay rate, the decay factor becomes 0.85.

Hence, our recursive formula becomes:

y(t)=y(t1)+(P+y(t1))×r×(1d)ty(t)=y(t-1)+(P+y(t-1))\times r\times(1-d)^t

Where the initial condition is y(0)=Py(0)=P.​

Do bear in mind: this is a recursive formula, describing the balance at each time period t​. To compute the balance at any specific t​, one would have to start from t=0​ and apply this formula recursively until the desired t​ is reached.

Hence, our recursive formula becomes:The increment can be represented as:

Increment=(P+y(t1))×r×(1d)t\text{Increment}=(P+y(t-1))\times r\times(1-d)^t

Summing this increment from t=1 to t, we get:

y(t)=P+i=1t(P+y(i1))×r×(1d)iy(t)=P+\sum_{i=1}^t(P+y(i-1))\times r\times(1-d)^i

For d=0d=0​,

yd=0(t)=P+i=1t(P+yd=0(i1))×ry_{d=0}(t)=P+\sum_{i=1}^t(P+y_{d=0}(i-1))\times r

That's when there's no decay.

For 0<d<10<d<1​,

yd(t)=P+i=1(P+yd(i1))×r×(1d)i;y_d(t)=P+\sum_{i=1}^{\cdot}(P+y_d(i-1))\times r\times(1-d)^i\quad;

Therefore, the difference between these two at time t​ is:

So the difference between them when t​ is:

Δy(t)=yd=0(t)yd(t)Δy(t)=i=1t(P+yd=0(i1)Pyd(i1))×r+i=1t(P+yd(i1))×r×di\begin{aligned} &\Delta y(t) =y_{d=0}(t)-y_d(t) \\ &\Delta y(t) =\sum_{i=1}^t(P+y_{d=0}(i-1)-P-y_d(i-1))\times r+\sum_{i=1}^t(P+y_d(i-1))\times \\ &r\times d^i \end{aligned}

Finally, let's draw the curve the this difference:

Summary

Without reward decay: This takes the form of a geometric series, and as time progresses, it will persistently grow, meaning it won't converge to a finite value. In essence, it tends towards infinity.

With reward decay: The reward rate gradually diminishes, but doesn't become nil. Under these circumstances, each additional period will contribute some added value to the account, yet these increments will dwindle over time.

Whilst the magnitude of growth diminishes over time, given that new values are introduced in every period, y(t)y(t)​ doesn't converge to a set figure either. However, the rate of growth will progressively decrease, suggesting that the slope of the function will approach zero, yet the overall value will persist in its ascent, tending towards infinity.

Last updated