Just a little background here. I’m a high school student, currently studying calculus. I don’t quite understand the concepts of limits or integrals thoroughly, but I was fascinated nonetheless by how the reward system of Bitcoin and its halving worked. When I initially wanted to know how many Bitcoins were mined, I would just use a calculator, and add the previous block halvings, and amounts mined. Afterwards, I realized I can make a rough approximation of this with this formula:
The problem with this function is that it assumes that the mining and reward system were a smooth curve, which isn’t the case. It’s a curve that consists of a bunch of straight lines. So I had to find a formula that reflected this.
My first start would be knowing that the starting block reward was 50 BTC, and that reward would halve every 210,000 blocks or ~4 years. So I started with this formula:
With this formula, I got all of the lines, but they were not in the correct position, so using my knowledge, and logical reasoning, I came up with this formula for determining how many Bitcoins were mined for any given date:
To get your ‘x’ value all you have to do is:
x = (given date – January 3rd, 2009)144*
Then input this value into the formula given above.
For anyone wondering, I’m planning to use this an incorporate it in my mining application (it’s still a work in progress). Thanks for taking the time to read this!