Open sabrinasadik opened 2 years ago
Technically we can make a change reflect instantly without problem (would make the code a bit more cumbersome but that is not an issue in itself). In fact I thought about this even before the implementation. The actual problem is in the tokenomics. Specifically these 2 things come to mind:
MIN(cru * 4 / 2, (mru - 1) / 4), sru / 50)
, meaning a CU is essentially a combination of multiple (3) individual resources. Now, if a node upgrades and gets more CU as a result, the additional CU might be a combination of 1 resources connected at a different price than another resource. Hence the connection price of the CU is technically undefined. Example:
It should be noted that the current implementation pays for the minimum amount of capacity during the period. This is imo a sane default, due to the uptime SLA, set at 95% to get tokens in the first place. If a farmer loses capacity at some point, than the "additional" capacity on top of the minimum would likely not get the SLA, so it shouldn't be paid regardless. Hence a reduction in capacity is immediately visible.
All in all, as said, and hopefully as explained above, the current issues regarding this stem from a lack of rules regarding these cases in the tokenomics.
Some farmers change their HW specs (adding RAM or SSD) during the minting period. This only affects their minting payout for the next minting period. Is there way to change this in the calculations during the minting period in which they made these changes?