This document discusses the formula of how exactly your investments grow, why and how I chose this formula.
At first I wanted them to mine the crypto for themselves. I considered a few variants and stopped at so called “co-mining”: they mine Ether (the main Ethereum currency) and at the same time my system would create for them their own cryptocurrency for them in the same amount as mined Ether.
But later I realized that there is a better way: I can just sell my crypto for Ether. My final ERC-20 contract contains the code which automatically sends back some tokens to anyone who sent some Ether to the contract.
It remained to conceive the exact formula for the amount of tokens to be sent back.
The amount of tokens sent back should grow over time (otherwise the price of the generated tokens would in no way grow and thus they would be completely useless). The first idea is to make the price dependent on the date. But that dependency would be too arbitrary: money and time are two different measures and there is no natural conversion between them.
So the better idea is to make the price dependent on the amount of money paid for the entire period earlier. The first variant which came to my mind was to make the dependency exponential. But I realized that after a few years our 256-bit counter would probably overflow.
Also exponential is not as good as it seems: The price would grow exponentially for a short period of time and then would fall just like BitCoin. I thought we need more stability.
The final formula for the amount of tokens sent back is: e2/(T+e) where T is the total amount of Ether received to this token before the purchase and e is the amount of Ether sent in this transaction.
So, the price grows about linearly over the time and the sales grow quadratically, don’t them? No! The number of sales also grows over time. So the sales to grow maybe as the fourth degree or maybe even exponentially or like this for some time!
I also considered other formulas, such as e3/(T+e) or e4/(T+e), but decided: let price grow slowly but steadily.
I found that a buyer gets different amount of tokens if he does one Ether payment or several (e.g. two) Ether payments summing to the same amount of Ether in a row. I considered it unjust. So I tried to find a formula which would avoid this problem.It was unsuccessful: I asked a question at math.stackexchange.com site for math questions and then answered my question myself. The answer points that there is no good solution to this problem. If you know higher math, you can follow my solution.