....
The average time would be 10 minutes, but not the median as 50% would imply. The long tail at the high end pulls the average above the median.
1-exp(-1) is c. 63%, a little less than your number, as one would expect given the history of increasing network speed.
These two statements appear to be in dissonance, but are both true:
- The average time to solve a block is 10 minutes
- Half the blocks will be solved in under 7 minutes
Obviously easy to confuse the two when calculating things.
So the chance a block won't be found after 10, 20 minutes, etc. (and the 1 in x chance)
>>> for x in range(10,131,10) :
print x, '%2.5f%%' % (100*math.exp(-x/10)), '%1.2f' % (math.exp(x/10))
10 36.78794% 2.72 (average block length)
20 13.53353% 7.39
30 4.97871% 20.09
40 1.83156% 54.60
50 0.67379% 148.41
60 0.24788% 403.43
70 0.09119% 1096.63
80 0.03355% 2980.96
90 0.01234% 8103.08
100 0.00454% 22026.47
110 0.00167% 59874.14
120 0.00061% 162754.79
130 0.00023% 442413.39And after how many minutes will half of blocks, 25% of the blocks, etc. not be solved:
>>> for x in [ 10*math.log(2), 10*math.log(4), 10*math.log(8), 10*math.log(16), 10*math.log(32), 10*math.log(64)]:
print x, '%2.5f%%' % (100*math.exp(-x/10)), '%1.2f' % (math.exp(x/10))
6.9314718056 50.00000% 2.00 (median block length)
13.8629436112 25.00000% 4.00
20.7944154168 12.50000% 8.00
27.7258872224 6.25000% 16.00
34.657359028 3.12500% 32.00
41.5888308336 1.56250% 64.00And every day we can reasonably expect a block longer than 49 minutes, every week one longer than 69 minutes, every month 83 minutes:
>>> for x in [ 10*math.log(144), 10*math.log(144*7), 10*math.log(144*365.25/12)]:
print x, '%2.5f%%' % (100*math.exp(-x/10)), '%1.2f' % (math.exp(x/10))
49.6981329958 0.69444% 144.00
69.1572344863 0.09921% 1008.00
83.8548870042 0.02282% 4383.00I'm curious to see how an integrated histogram of actual block data matches up with this.
Of more significance, if the hash rate temporarily halves (miners quit, pool DDOS, etc) all times double.