Neste ambiente altamente competitivo, mineradores artesanais que trabalham de forma independente (também conhecido como mineração solo) não têm a menor chance. A probabilidade de eles encontrarem um bloco que compense o custo de energia e do hardware é tão pequena que pode ser chamada de aposta, como comprar um bilhete de loteria. Mesmo os ASICs de consumo mais rápidos não conseguem competir com fazendas de mineração comerciais que possuem dezenas de milhares de chips em enormes salas de servidores próximas a usinas hidrelétricas. Agora os mineradores estão cooperando para formar pools de mineração, agregando a potência computacional de milhares de participantes e compartilhando as recompensas. Ao participar dos pools, os mineradores recebem uma fração da recompensa total, mas normalmente de forma diária, reduzindo assim a incerteza.
Vejamos um exemplo concreto. Suponha que um minerador tenha comprado um dispositivo com um total de 6,000 GH/S de potência de computação, ou 6TH/S, e que em agosto de 2014 valha cerca de $10,000. O dispositivo opera a 3 quilowatts (KW), consome 72 unidades de eletricidade por dia e custa em média $7 ou $8 por dia. Com a dificuldade atual do Bitcoin, esse minerador poderia minerar um bloco sozinho a cada 155 dias, ou 5 meses, em média. Se esse minerador realmente minerar um bloco dentro desse período, a recompensa será de 25 bitcoins, o que resultaria em $15,000 se cada bitcoin custasse cerca de $600. Isso cobriria o custo do equipamento e da energia durante todo o período, deixando um lucro líquido de cerca de $3,000. No entanto, encontrar um bloco em um período de cinco meses depende em grande parte da sorte do minerador. Ele poderia obter dois blocos em cinco meses e obter um lucro muito grande. Ou poderia passar 10 meses sem encontrar um único bloco e sofrer uma perda financeira. Para piorar, a dificuldade do algoritmo de prova de trabalho (POW) do Bitcoin poderia aumentar significativamente nesse período, o que, na taxa atual de crescimento aritmético, significa que um minerador tem no máximo seis meses para conseguir resultados antes que seu equipamento seja substituído pela próxima geração de mineradores mais eficientes. Se esse minerador se juntar a um pool em vez de esperar por um possível ganho extraordinário que poderia ocorrer a cada 5 meses, ele poderia ganhar cerca de $500–700 por semana. A renda regular do pool ajuda a amortizar o custo do hardware e da energia ao longo do tempo sem assumir um risco enorme. Após 7 a 9 meses, o hardware ainda estará obsoleto e o risco continuará alto, mas a renda nesse meio tempo será pelo menos regular e confiável.
Os pools de mineração coordenam centenas de mineradores por meio de um protocolo de mineração dedicado. Mineradores individuais configuram suas máquinas de mineração para conectar-se ao servidor do pool após criar uma conta no pool. Seus dispositivos de mineração permanecem conectados ao servidor do pool durante a mineração, sincronizando seus respectivos trabalhos com outros mineradores. Desse modo, os mineradores no pool compartilham tarefas de mineração e, posteriormente, dividem as recompensas.
A recompensa por um bloco bem-sucedido é paga ao endereço Bitcoin do pool, e não ao minerador individual. Uma vez que a recompensa atinge um limite específico, o servidor do pool paga periodicamente a recompensa para o endereço Bitcoin do minerador. Normalmente, o servidor do pool cobra uma porcentagem por fornecer o serviço de pool.
Mineradores que participam de um pool de mineração dividem a carga de trabalho de procurar blocos candidatos e ganham "participações" com base em sua contribuição para a mineração. Os pools definem um objetivo de dificuldade baixo para ganhar "participações", tipicamente mais de 1000 vezes menos difícil do que a rede Bitcoin. Quando alguém no pool consegue minerar um bloco, o pool é recompensado e divide a recompensa com todos os mineradores na proporção do número de "participações" que contribuíram.
Pools de mineração estão abertos a qualquer minerador, grande ou pequeno, profissional ou amador. Alguns participantes de um pool de mineração têm apenas uma pequena máquina de mineração, enquanto outros têm uma garagem cheia de hardware de mineração de alto nível. Alguns usam apenas algumas dezenas de quilowatts de eletricidade para minerar, enquanto outros usam um data center para consumir megawatts de energia. Como um pool de mineração pode medir a contribuição de cada pessoa de uma forma que distribua as recompensas de maneira justa, evitando a possibilidade de fraude? A resposta é usar o algoritmo de prova de trabalho do Bitcoin para medir a contribuição de cada minerador enquanto se estabelece uma dificuldade mais baixa. Como resultado, mesmo os menores mineradores no pool frequentemente recebem uma parte da recompensa, o que é um incentivo suficiente para contribuir com o pool. Ao definir uma dificuldade baixa para obter uma participação, o pool pode medir a quantidade de trabalho realizado por cada minerador. Sempre que um minerador encontra um hash do cabeçalho de bloco que é menor do que a dificuldade do pool, isso prova que ele completou o cálculo de hash necessário para encontrar o resultado. Mais importante, esse trabalho realizado para obter participações possibilita uma forma estatística mensurável de encontrar o hash alvo da rede Bitcoin como um todo. Milhares de mineradores tentando intervalos menores de valores de hash podem, eventualmente, encontrar resultados que atendam aos requisitos da rede Bitcoin.
Voltemos à analogia do jogo de dados. Se o objetivo dos jogadores de dados é lançar resultados todos menores que 4 (dificuldade geral da rede), um pool de mineração pode definir um objetivo mais fácil contando quantas vezes os jogadores no pool lançam resultados menores que 8. Quando os jogadores no pool lançam resultados menores que 8 (o objetivo de participação do pool), eles recebem participações, mas não vencem o jogo porque não completam o objetivo do jogo (menos que ). No entanto, os jogadores no pool alcançarão com mais frequência o objetivo de participação mais fácil do pool, ganhando regularmente suas participações, mesmo que não tenham cumprido o objetivo mais difícil de vencer o jogo.
De vez em quando, um membro do pool pode obter um resultado menor que 4 e o pool vence. Os proventos então podem ser distribuídos com base nas participações ganhas pelos jogadores no pool. Embora um alvo de 8 ou menos não vença o jogo, ele é uma maneira justa de medir o número de pontos que os jogadores obtêm, e ocasionalmente produzirá um resultado menor que 4.
Da mesma forma, um pool definirá a dificuldade do pool para garantir que um único minerador seja capaz de encontrar um hash do cabeçalho de bloco que corresponda à dificuldade do pool com frequência suficiente para ganhar uma participação. De vez em quando, uma tentativa produzirá um hash do cabeçalho de bloco que corresponda ao objetivo da rede Bitcoin, gerando um bloco válido, e então o pool como um todo vence.
