Discrete CL Allocation

Each Participant commits a custom amount of time and/or effort to each community or project they contribute to. This amount is called Commitment Level, and represents the time, work, and/or effort that an individual plans to dedicate to a decentralized project - a Hub.

Since a Participant’s Commitment level is the Real-World representation the time or effort that they expect to put into each of their community, it needs to be finite in order to reflect real-world dynamics (where, alas, our day lasts only 24 hrs). So, at the time of joining their first Hub, each Participant is given a total of 100 iCL points, that they can allocate across all the Hubs where they are willing to contribute.

Every time they join a new one, the amounts rebase dynamically, reducing the Commitment to older communities. Based on their Commitment, members can hit different tiers and it’s up to each Hub to decide whether they want to differentiate permissions and rewards based on those tiers.

Parameters

  • iCLtot=100iCL_{tot} = 100: the Total Individual Commitment Level that a user j has available to allocate to the set of Hubs [H]{[\tt H \cdot]} in which they contribute.

  • N: the number of Hubs [h][H]{[\tt h \cdot]} \in {[\tt H \cdot]} where j is already contributing.

  • iCL[h]iCL_{[\tt h \cdot]}: the iCL allocated by j to a Hub [h]{[\tt h \cdot]}

  • aiCLtotaiCL_{tot}: the iCL allocated to Hubs where j is already contributing.

  • iCLnewiCL_{new}: the iCL allocated to the new Hub.

  • fiCL[h]fiCL_{[\tt h \cdot]}: the fractional CL allocated by j to each Hub.

  • uiCL[H]uiCL_{[\tt H \cdot]}: the updated CL for previous Hubs in the set [H]{[\tt H \cdot]}.

  • riCL: the remaining iCL, calculated as iCLtotaiCLtotiCL_{tot} - aiCL_{tot}

Calculate the Proportional Decrease of each Hub's iCL

  • Calculate the total iCL allocated to existing Hubs: aiCL[j, h]=[h]=1NiCLN\displaystyle aiCL_{[j, \text{ } \tt h \cdot]} = \sum_{[\tt h \cdot] = 1}^N iCL_{N}

  • then allocate a portion of riCLriCL to a new Hub [h](new)[\tt h \cdot]_{(new)}

  • Calculate the remaining points: riCL=iCLtotaiCLriCL = iCL_{tot} - aiCL

  • Calculate the proportion of iCL for each existing Hub: fiCL[j h]=iCL[h]aiCLtot  [h][H]\displaystyle fiCL_{[j \text{ } \tt h \cdot]} = \frac{iCL_{[\tt h \cdot]}}{aiCL_{tot}} \text{ } \forall \text{ } [\tt h \cdot] \in [\tt H \cdot]

  • Adjust the allocation for each existing Hub: uCL[h]=fiCL[h]×riCL  [h] in [H]j\displaystyle uCL_{[\tt h \cdot]} = fiCL_{[\tt h \cdot]} \times riCL \text{ } \forall \text{ } [\tt h \cdot] \text{ } in \text{ } [\tt H \cdot]_{j}

Final Formula

the new iCL is calculated as:

uCL[j, h]=iCL[h]×(iCLtotiCLnew)h=1NiCLN  [h]  [H]j\displaystyle uCL_{[j, \text{ } \tt h \cdot]} = \displaystyle iCL_{[\tt h \cdot]} \times \frac {(iCL_{tot} - iCL_{new})}{\displaystyle \sum_{\tt h \cdot=1}^{N} {iCL_N}} \text{ } \forall \text{ } [\tt h \cdot] \text{ } \in \text{ } [\tt H \cdot]_{j}

with [h][1+...+N]=[H]\displaystyle \sum {[\tt h \cdot]}_{[\tiny 1 + ... + N]} = [\tt H \cdot]

Simplified as a matrix

Another way to visualize the iCL update is through a basic matrix:

riCL=iCLtotiCLnewfiCL[h]=[iCL1iCLtotiCL2iCLtotiCL[h]iCLtot]uCLj=fiCLj×riCLj\begin{align*} riCL &= iCL_{tot} - iCL_{new} \\ \mathbf{fiCL_{[\tt h \cdot]}} &= \begin{bmatrix} \tiny \frac{iCL_{1}}{iCL_{tot}} \\ \tiny \frac{iCL_{2}}{iCL_{tot}}\\ \vdots \\ \scriptsize \frac{iCL_{[\tt h \cdot]}}{iCL_{tot}} \end{bmatrix} \\ \mathbf{uCL}_{j} &= \mathbf{fiCL}_{j} \times riCL_{j} \end{align*}

Steps:

  1. We extract riCL from the known values of:

    [i] allocated commitment, and

    [ii] newly-added commitment.

  2. We apply the fiCL ratio to determine each iCL[j, h]iCL_{[j, \text{ } \tt h \cdot]}’s individual weight.

  3. We multiply each individual fiCL[1, ..., N]fiCL_{[1, \text{ }..., \text{ } N]} for previously extracted riCLriCL (1.)

Examples

Scenario [i.] -> step-by-step, with flat iCL values

Let's assume that:

  • a user j is part of 5 Hubs → N = 5

  • j has allocated 20 iCL points per Hub → iCL[1,2,3,4,5]=20iCL_{\tiny [1, 2, 3, 4, 5]} = 20

  • j joins a 6th Hub, allocating 10 CL points to it → iCL_{\tiny new} = 10

In order to update existing Hubs’ allocation, we'll need to:

  1. Calculate Remaining Points: riCL=10010=90riCL = 100 - 10 = 90

  2. Calculate Sum iCL for existing Hubs: aiCLtot=20×5=100\sum{aiCL_{tot}} = 20 \times 5 = 100

  3. Calculate Proportions: fiCLh=20100=0.2  [h]fiCL_{\tt h \cdot} = \frac{20}{100} = 0.2 \text{ }\forall \text{ } {[\tt h \cdot]}

  4. Recalculate iCL for Existing Hubs: uCL[h]=0.2×90=18uCL_{[\tt h \cdot]} = 0.2 \times 90 = 18

So each of the 5 original Hubs would have their CL adjusted to 18, and the new Hub would have a CL of 10, maintaining the total at 100.

Scenario [ii.] -> direct calculations, with higher iCL variety

5 Hubs:

  • iCL[h]1=16iCL_{[\tt h \cdot]_{1}} = 16

  • iCL[h]2=18iCL_{[\tt h \cdot]_{2}} = 18

  • iCL[h]3=20iCL_{[\tt h \cdot]_{3}} = 20

  • iCL[h]4=22iCL_{[\tt h \cdot]_{4}} = 22

  • iCL[h]5=24iCL_{[\tt h \cdot]_{5}} = 24

  • aiCLtot=100aiCL_{tot} = 100

new:

  • iCL[h]new=20iCL_{[\tt h \cdot]_{new}} = 20

  • uCL[h]1=16100×(10020)=0.16×80=12.8uCL_{[\tt h \cdot]_{1}} = \frac {16} {100} \times (100 - 20) = 0.16 \times 80 = 12.8

  • uCL[h]2=18100×(10020)=0.18×80=14.4uCL_{[\tt h \cdot]_{2}} = \frac {18} {100} \times (100 - 20) = 0.18 \times 80 = 14.4

  • uCL[h]3=20100×(10020)=0.20×80=16.0uCL_{[\tt h \cdot]_{3}} = \frac {20} {100} \times (100 - 20) = 0.20 \times 80 = 16.0

  • uCL[h]4=22100×(10020)=0.22×80=17.6uCL_{[\tt h \cdot]_{4}} = \frac {22} {100} \times (100 - 20) = 0.22 \times 80 = 17.6

  • uCL[h]5=24100×(10020)=0.24×80=19.2uCL_{[\tt h \cdot]_{5}} = \frac {24} {100} \times (100 - 20) = 0.24 \times 80 = 19.2

  • [h]=15=80+20100\displaystyle \sum_{[\tt h \cdot] = 1}^{5} = 80 + 20 \rightarrow 100

Sequence Diagram

Last updated