How come we don't find blocks for hours and then boom boom, two in a row, and then wait again? Just curious how or why it happens.... seen it with other pools too.
I replied to an email about luck earlier today, thought this is a good illustration:
Let's say you have a miner that mines at 1 GH/s. That means every second, your miner is generating 1,000,000,000 (1 billion) hashes per second. Now, as a miner, your target on BTC Guild (default) is a difficulty 2 share. That happens *roughly* every 8,400,000,000 hashes, or 8.4 seconds at 1 GH/s.
To make it easy, think of that work you're doing as a billion little scratch-off lottery tickets, where each slot has only two possibilities: Keep Going or Lose.
To get a difficulty 2 share, you need to get 'Keep Going' 33 times in a row. Once you get that share, you hand your ticket off to the pool as proof that you found one with at least 33 in a row, which happens 1 in 2^33 (~8.4b) times.
Now, your ticket had at least 33, but it may have even more. If you get enough of them, you "win" the lottery (block). The pool only cares about you getting 33 in a row, that's what your proving you found, and that's how your paid. The pool then checks how many more 'Keep Going' entries you have. Just like a perfect coin flip, each one is a 50% chance.
As of today, the odds are (roughly) 1 in 2^64 to solve a block with a given ticket. That might not sound so bad, afterall your 1 GH/s is doing a billion attempts per second! With the pool at 6.2 PH/s, the pool is doing 6.2 quadrillion attempts per second, it surely can't be that hard.
For those who don't know just how fast powers of 2 increase. While 2^32 is only 4,200,000,000 (a couple seconds at 1 GH/s), 2^64 is 1 in 18,446,744,073,709,551,616.