For example, if F2Pool has had 10% of the total mining hashrate for the past week, does it make sense to say that they will probably find 10% of the blocks moving forward?

Assuming that a lot of miners don't switch, yes.

"F2Pool has a 10% chance to find the next block in the next 10 minutes, and this approaches 100% after 10 blocks. Ie. F2Pool has a very good chance to find at least one block within the next 100 minutes."

You're asking two subtly different questions here.

- Will I find the next block?
- Will I find a block in the next ten minutes?

You could find the next block, eleven minutes from now. You could find a block in five minutes, building on a block that was discovered four minutes ago.

### Will I find the next block?

This is pretty straightforward. If you have 10% of the hashrate, there's a probability of 0.1 that you will find it. If you have p proportion of the hashrate, there's a probability `(1-(1-p)^n)`

that you will find a block in the next n blocks. For 10% hashrate, and 10 blocks, that's a chance of 65%. Far from a sure thing.

```
p = 0.1
Blocks Probability of you getting a block
0 0.00000
1 0.10000
5 0.40951
10 0.65132
30 0.95761
50 0.99485
100 0.99997
```

### Will I find a block in the next ten minutes?

Block discovery follows a poisson distribution. A poisson distribution represents a bunch of independent events, where one event happening has no effect on it happening in the future.

We want to know the odds of k blocks being found by anyone in a ten minute period, when there is an average of 1 block every ten minutes. Wikipedia already has a table for us:

```
k P(k)
0 0.368
1 0.368
2 0.184
3 0.061
4 0.015
5 0.003
6 0.0005
```

But this isn't quite what we need - if ten blocks are found, there is a much better chance that one of them is ours than if one block is found. Multiply by expression above, and substitute k for n, and 0.1 (our proportion of hashrate) for p.

```
k P(k) P(k)*(1-(1-0.1)^k)
0 0.368 0.0000
1 0.368 0.0368
2 0.184 0.0350
3 0.061 0.0165
4 0.015 0.0052
5 0.003 0.0012
6 0.0005 0.0002
Sum: 0.0949
```

Sum up the last column. We get a 9.49% chance, which is the chance that you will get at least one block in the next ten minutes if you have 10% of the hashrate. But, that doesn't mean that there's a 95% chance of having a block in ten minutes with 100% of the hashrate. It's not linear. If you have 100% of the hashrate:

```
k P(k) P(k)*(1-(1-1.0)^k)
0 0.368 0.0000
1 0.368 0.3680
2 0.184 0.1840
3 0.061 0.0610
4 0.015 0.0150
5 0.003 0.0030
6 0.0005 0.0005
Sum: 0.6315
```

...then you have a 63.2% chance of having a block in the next ten minutes if you have all of the hashpower.

(Our calculations are low by about a twentieth of a percent, because we didn't consider cases like k=7. But I figure this is a good approximation.)