I still see 2140 given as the date for new bitcoins to run out, in all kinds of places.
Why is this date so prevalent and so stuck in people's heads?
Do people not understand the way difficulty readjustments work? Every difficulty increase happens because 2016 blocks were found in shorter time than projected. The timeline is based on 10 minute per block projection. Every difficulty increase moves forward the date when all new bitcoins have been minted, unless we have some future difficulty decreases that compensate for the difficulty increase.
So why do we keep saying 2140? Closer to 2100 is more accurate, IMHO.
fail.
based on a 10 minute timeframe the total 21mill bitcoins will be found beyond 2200, but the dates at which the block reward decreases to such a small amount of satoshi's per block to even be worthy of mining, will come sooner
but before we get to that lets address the quoted fail..
lets say based on todays difficulty. a number of ASICS far surpass the estimate of the last difficulty increase and so blocks are now found in 9 minutes or less.. the next change will push the difficulty to a 12 minute rate per block solution to ensure that the solving of blocks stay on their 4 year half life cycle.
and lets say there was a period where miners never exceeded the estimate. then the difficulty would not increase. it would stay the same or decrease, ensuring that at the end of the 4 year the allotment of coins for that 4 year period were rewarded.
what you will find is that in 2037 each 10 minute reward would be worth 1 satoshi meaning unless extra decimals are added, the end would be 2141 for reward mining. even though there is still only 20,999,999 btc in existence (not quite finished).
alot of miners will think its time to end mining in 2029-2033 when the reward moves from just over 1.5btc to 0.7812500 per 10 minutes but thats because they are basing the profitability etc on todays value and hypertheticals
This is false. From the wiki:
Every 2016 blocks (which should take two weeks if this goal is kept perfectly), every Bitcoin client compares the actual time it took to generate these blocks with the two week goal and modifies the target by the percentage difference. This makes the proof-of-work problem more or less difficult. A single retarget never changes the target by more than a factor of 4 either way to prevent large changes in difficulty.
Following this explanation, time should be 1209600 seconds. if time is actually 1000000 seconds, retarget would be 1209600/1000000 = 1.2096 giving new difficulty of current_difficulty*1.2096 = new_difficulty.
That would project forward 1209600 seconds for the next 2016 blocks, based on the average finding time of the previous 2016 blocks.
If this is wrong, show me code-blocks, not extrapolation.
As for the 10% every 2 weeks for a century... agreed. Nothing grows at that rate forever. Mean reversion suggests we will stabilize between 5-10% annually at some point. The moving forward of the date which has already occurred, though, is unlikely to ever be reversed.