(For simplification reasons assume that Staking Reward Pool is 100 CLO/day or 3000 CLO/month. However, the real Staking Reward Pool is 20736000 CLO/month)
Staker_1 deposits 1000 CLO into Staking Contract. Then Staker_2 deposits 4000 CLO into staking contract. As time passes, the Staking Contract is filled with CLO (+100 CLO each day).
After 1 month the Staker_2 claims his reward. (current block — init block/round interval) = 1 in this case (because 1 month = 172,800 blocks). Staker_2 receives 3000 * 1 * 4000/5000 = 2400 CLO. 600 CLO remains at the Staking Contract.
Staker_1 has two options: claim the reward OR wait for better circumstances. If they decide to claim, then the reward will be 600 * 1000/5000 = 120 CLO which is not even close to the expected amount. In this case, Staker_1 should wait a bit longer. Staker_2 cannot claim the reward within the next 30 days because of their locking period after the last claim.
After 29 days the Staking Contract has 600 + 29*100 = 3500 CLO at its balance. (current block — init block/round interval) = 2 for Staker_1 because they haven’t claimed the reward for 2 months. Staker_1 now claims 3500*2*(1000/(5000+1000)) = 1166,6 CLO.
--------------------------------------------------------------------------------------------------
스테이커1과 스테이커2가 있다
스테이킹풀엔 하루에 CLO 100개씩, 한달에 3000개씩 차고 있다
스테이커1은 1000 CLO, 스테이커2는 4000 CLO를 각각 스테이킹 했다.
한달후에 스테이킹풀은 3000 CLO가 되었다.
스테이커2가 보상을 요청했다.
3000 * 4000/5000 = 2400 CLO 를 받아갔다.
스테이킹풀엔 600 CLO가 남아있다.
스테이커1에겐 2가지 선택지가 있다.
보상을 요청하면 600 * 1000/5000 = 120 CLO 밖에 못받는다.
스테이커2는 30일동안 요청이 불가능하다.
29일을 더 기다렸다.
스테이킹풀은 600 + 29*100 = 3500 CLO 가 되었다.
2달을 기다렸기 때문에 스테이커1은
3500*2*(1000/(5000+1000)) = 1166,6 CLO 를 받는다. (네모친 부분 = 2)