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=100: the Total Individual Commitment Level that a user j has available to allocate to the set of Hubs [H⋅] in which they contribute.
N: the number of Hubs [h⋅]∈[H⋅] where j is already contributing.
iCL[h⋅]: the iCL allocated by j to a Hub [h⋅]
aiCLtot: the iCL allocated to Hubs where j is already contributing.
iCLnew: the iCL allocated to the new Hub.
fiCL[h⋅]: the fractional CL allocated by j to each Hub.
uiCL[H⋅]: the updated CL for previous Hubs in the set [H⋅].
riCL: the remaining iCL, calculated as iCLtot−aiCLtot
Calculate the Proportional Decrease of each Hub's iCL
Calculate the total iCL allocated to existing Hubs:
aiCL[j,h⋅]=[h⋅]=1∑NiCLN
then allocate a portion of riCL to a new Hub [h⋅](new)
Calculate the remaining points: riCL=iCLtot−aiCL
Calculate the proportion of iCL for each existing Hub:
fiCL[jh⋅]=aiCLtotiCL[h⋅]∀[h⋅]∈[H⋅]
Adjust the allocation for each existing Hub:
uCL[h⋅]=fiCL[h⋅]×riCL∀[h⋅]in[H⋅]j