Pool A, 10 GH/s, 20 mins per block, 25 coins earned

Pool B, 10 GH/s, 20 mins per block, 25 coins earned

After: (difficulty not increased)

Pool A, 10 GH/s, 30 mins per block, 25 coins earned

Pool B, 30 GH/s, 10 mins per block, 25 coins earned

First, your "after" scenario would have 4 blocks per 30 minutes, thats one block in 7.5 minutes instead of one in 5. But thats not the point.

Different approach (all before difficulty adjusts):

We have only one pool. 10 GH/s, and it finds a block every ten minutes.

If we double the hashing power, thats 20 GH/s, and it will find double the number of blocks in the same time, thats 2 blocks per ten minutes.

If we let it have 100 GH/s, it will find ten times the blocks, thats 10 blocks per ten minutes.

Agreed?

Now imagine we split this 100 GH/s pool into two.

If we let both have the same hashing power, thats 50 GH/s each, and each will find half of the total number of blocks, thats 5 per ten minutes for each pool.

If we split 40-60, the pool with 40 GH/s will find 40% of blocks, thats 4 per ten minutes, and the other finds 60%, thats 6 blocks per ten minutes.

Agreed?

If we do split it 10-90, we will have one pool with 10 GH/s, finding 10% of total blocks, thats 1 in 10 minutes.

And one pool with 90 GH/s, finding 90% of blocks, thats 9 every ten minutes.

Agreed?

If so, compare beginning and end.

First: We have one pool with 10 GH/s, and it finds a block every ten minutes.

End: We still have one pool with 10 GH/s, and it still finds a block every ten minutes, although we suddenly have a second pool with 9 times the hashing power.

Conclusion: With the difficulty unchanged, the pool with 10 GH/s will find a block every ten minutes, no matter whether other pools exist or how fast they hash.

Only when difficulty is adjusted, the total network will again only find one block each ten minutes.

If we have one pool with 100 GH/s, it will now need 100 minutes instead of 10 to find its ten blocks, totalling one block per ten minutes.

If we instead have a pool with 10 GH/s and one with 90 GH/s, one will need 100 minutes for one block, the other needs 100 minutes for 9 blocks, total 10 blocks / 100 minutes.

After difficulty increase, the earnings of our 10 GH/s pool drop to 1/10.

Before the increase, earnings stay stable.

I can think of no more ways to explain this right now.

If you still dont believe, just

**explain this to me:**

How is my pool supposed to even know about other pools hashrates?

Even if it would, why should my pool work slow on purpose, and find less blocks, just because some other pool did find more?There is no function in the bitcoin client doing something like:

"Fuck, ASICMINER found a block _again_, thats definitely too many right now, lets just not report the next valid hash, to keep blocks/minutes stable!"