This one’s gonna be quick and dirty.
blockchain.info has all these great charts, one of them being the number of Bitcoins in circulation:
The trend is clearly linear — which should remain the case at least within this halving. Bitcoin was geniously designed that way. In fact, the time until the next halving is so predictable there is even a website for it with a countdown, called bitcoinblockhalf.com.
My problem was, I couldn’t find a friggen’ site with the expected blockheight (read: number of circulating Bitcoins) at a given date! All I kept reading, over and over again, was that there would be ‘the 21 millionth coin mined in 2140, 21 millionth coin in 2140’. Yes, I know! What about, say, forecasts for those 123 years in between? Would be nice to know, right?
I mean, if I were to ask you, hey, how many blocks will be there be May 1st, 2019?
Well, you’d probably say… “Hmmm, well, I’d have to go calculate that…”
Well, now you don’t have to, and can provide the answer immediately! — I did the work for you!
It’s Linear Regression, People
blockchain.info is nice and lets you export their data to csv.
I did just that, then I threw that in Google Docs and used their
Then with that data, I applied
intercept() to get my super fancy linear regression:
nBlocks = 0.02204547741(unixTime)-16620191.27
If you remember your highschool math, this means the rate of beautiful Bitcoins brought into the world is about 0.022 coins per second (unix timestamp is of unit seconds), with an offset of about 16620191 Bitcoins (approximately the current amount of circulating coins from today, December 18th, 2018).
That’s kind of neat, because 0.022 coins per second means about 1 coin per 43 seconds (1/0.022), but Bitcoins don’t come into the world in single chunks; they currently come as a mining reward of 12.5 coins, and in this case is more like something like just under 9 minutes (43s*12.5=537.5s=8.95 min), which is close to most of the statistics out there for the global block mining speed.
The Bitcoin Mining Schedule Up Until June 8th, 2020
Here’s the data as a table:
Try it Out!
So, let’s see… the original question I asked… number of blocks on May 1st, 2019?
Well, May 1st 2019 has Unix timestamp of 1556668800. We plug that into our formula:
nBlocks = 0.02204547741(1556668800)-16620191.27
and we get:
nBlocks = 17688789
…Or 17.68 million blocks 😎
bitcoinblockhalf.com says the next halving happens at Bitcoin 18375001 on June 8th, 2020, when my regression will no longer be valid. Let’s see how close my regression predicts to that number.
The Unix timestamp for June 8th 2020 is 1591574400:
nBlocks ?= 0.02204547741(1591574400)-16620191.27
nBlocks ?= 18466826
Which is about a 0.5% percent error for those wondering. Not too shabby!
Next Up: More Math, More Lines
I realize after the next halving, the rate at which more blocks are brought into circulation will decrease, until the next halving, then after that there is only one more halving, until all coins have been found.
At some point, I’m going to add this data as well, and as a check, see how close the final block matches up with the year 2140.