The current formula
Currently, when a block is found, the reward is distributed using the following simple formula:
Code: Select all
your_reward = (block_reward + transaction_fees) * (1.0 - pool_fee) * sum(your_share_difficulties) / sum(all_share_difficulties)
The proposed formula
In the proposed formula, more recent shares would be weighted so that the expected earnings from PPLNS mining are equal to those of FPPS, before the lower fees slightly increase the expected profitability. The new more complex formula for determining the value of a share would be:
Code: Select all
score = share_difficulty * 2 ^ (sum(all_share_difficulties_previously_submitted_for_this_round) / block_difficulty)
your_reward = (block_reward + transaction_fees) * (1.0 - pool_fee) * sum(your_scores) / sum(all_scores)
Effect of the changes
If this change is made, a customer earns the same expected value no matter when he joins in the round, preventing new customers from being discouraged because of the significant portion of the rewards already earned by customers who had previously mined. In the new system, customers who stopped mining a while ago will still earn some money, but their proportion of the payout will decline exponentially instead of linearly.
Should we make this change?