[Ethereum] Why do we have Ethereum mining pools

miningmining-pools

When Ethereum wasn't even launched, I remember Vitalik saying that the Ethereum mining process was designed in such a way to prevent the formation of mining pools. (I vaguely remember the reasoning being that the computer finding the proof-of-work solution could claim the mining reward for himself, as opposed to sharing it to the pool.)

Now that Ethereum has launched and mining pools exist, what went wrong? Why do we have Ethereum mining pools?

Best Answer

Ethereum uses a proof of work algorithm called Ethash which like Bitcoin's proof of work uses a difficulty number to adjust how hard it is to find a block.

In pooled mining, members send a valid proof of work to the pool of the same type, but of lesser difficulty, so that it requires less time on average to generate.

When the pool get's a proof from a member with sufficient difficulty, they can submit it to the network as a valid block. When they get a proof of lower difficulty, they have proof of the member's hash rate and can validate that they are working on the same block as everyone else.

There where discussions of how to prevent this when Ethash was designed, but none where found and it was decided to go ahead anyway, under the assumption that most miners would prefer solo mining given the faster block time.

Related Topic