Dexaran:

Question 4:

Transition from staking & REX to rentbw model should be smoothly done over time. It can be assumed that there is a system configuration parameter (such are `rentbw_config_resource net` and `rentbw_config_resource cpu`) which will determine how much physical resources are allocated for which part of the system i.e. for staking & REX and for rentbw contract.

Imagine a system where:

• 1000 EOS are total EOS supply.
• Assume that initial configuration allocates 10% of resources for rentbw and 90% for staking.
• 500 EOS are staked for CPU in a legacy staking system.
• `max_block_cpu_usage = 500000` for this example i.e. there is 0.5 second CPU per block or 24 CPU hours per 24 real hours.

This actually means that a user purchasing 50% of total `rentbw` (0.5 * 10^15 frac_cpu) pool will get 5% of total network resources i.e. 1.2 CPU hours per day. Another user have staked 50 EOS for CPU and he gets 10% of total CPU managed by the staking model which corresponds to 2.16 CPU hours per day. (50/500 * 24 * 0.9 = 2.16)

Assume that the next step of transition shifts resource allocation to 30% for rentbw and 70% for legacy staking model. Now the user with (0.5 * 10^15) frac_cpu will get 3.6 CPU hours per day for the same amount of frac_cpu and the other user with 50 EOS staked will only get 1.68 CPU hours per day.

Is that correct?

Aarin:

Correct. Also, note that the user renting 0.5 * 10^15 frac_cpu will get 3.6 CPU hours per day (given the numbers in your example and assuming the elastic multiplier remains at 1 throughout) for essentially that first day of the rental period if they rented at a time when the ratio was 30% for rentbw and 70% for legacy staking. Over their rental period, their daily CPU quota will gradually drop as rentbw takes a larger and larger percentage of the system capacity. (This effect only applies during the transition period.)