В этой жестко конкурентной среде независимые майнеры (или майнеры-одиночки) не имеют ни единого шанса. Вероятность того, что они найдут блок, который окупит стоимость электроэнергии и оборудования, настолько мала, что это можно назвать азартной игрой, похожей на покупку лотерейного билета. Даже самые быстрые ASIC-майнеры потребительского класса не могут конкурировать с коммерческими майнинг-фермами, имеющими десятки тысяч чипов в огромных серверных помещениях рядом с гидроэлектростанциями. Теперь майнеры объединяются, чтобы сформировать майнинг-пулы, объединяя вычислительную мощность тысяч участников и деля вознаграждения. Участвуя в пулах, майнеры получают долю от общего вознаграждения, но обычно ежедневно, тем самым снижая неопределенность.
Рассмотрим конкретный пример. Предположим, майнер приобрел устройство с общей вычислительной мощностью 6000 ГГц/с, или 6 ТГц/с, стоимостью около 10 000 долларов США в августе 2014 года. Устройство потребляет 3 киловатта (кВт) электроэнергии, 72 единицы в день, что обходится примерно в 7-8 долларов США в день. При текущей сложности сети Bitcoin этот майнер мог бы добыть блок в одиночку примерно каждые 155 дней или 5 месяцев. Если бы такой майнер добыл блок за этот период, вознаграждение составило бы 25 биткоинов, что при цене около 600 долларов за биткоин составило бы 15 000 долларов. Это окупило бы стоимость оборудования и электроэнергии за весь период, оставив чистую прибыль около 3 000 долларов. Однако, найдет ли он блок за пятимесячный период, во многом зависит от удачи майнера. Он мог бы найти два блока за пять месяцев и получить очень большую прибыль. Или он мог бы не находить ни одного блока в течение 10 месяцев и понести финансовые убытки. Хуже того, сложность алгоритма Proof-of-Work (POW) Биткоина может значительно возрасти за это время, что при нынешних темпах арифметического роста означает, что у майнера есть максимум шесть месяцев для достижения результатов, прежде чем его оборудование будет заменено следующим поколением более эффективных майнеров. Если бы этот майнер присоединился к пулу вместо того, чтобы ждать потенциального куша, который мог бы произойти раз в 5 месяцев, он мог бы зарабатывать около 500-700 долларов в неделю. Регулярный доход от пула помогает ему амортизировать стоимость оборудования и электроэнергии со временем и без огромного риска. Через 7-9 месяцев оборудование все равно устареет, и риск останется высоким, но доход в течение этого времени будет, по крайней мере, регулярным и надежным.
Майнинг-пулы координируют работу сотен майнеров через выделенный протокол майнинга. Индивидуальные майнеры настраивают свои майнинговые машины для подключения к серверу пула после создания учетной записи в пуле. Их майнинговые устройства остаются подключенными к серверу пула во время майнинга, синхронизируя свою работу с работой других майнеров. Таким образом, майнеры в пуле делят задачи майнинга, а затем делят вознаграждения.
Награда за успешно найденный блок выплачивается на биткоин-адрес пула, а не индивидуальному майнеру. Как только награда достигнет определенного порога, сервер пула периодически выплачивает награду на биткоин-адрес майнера. Как правило, сервер пула взимает процент за предоставление услуги пула.
Майнеры, участвующие в майнинг-пуле, разделяют рабочую нагрузку по поиску кандидатских блоков и зарабатывают «доли» на основе своего вклада в майнинг. Пулы устанавливают низкую цель сложности для заработка «долей», обычно более чем в 1000 раз менее сложную, чем сеть Биткоина. Когда кто-то в пуле успешно добывает блок, пул получает вознаграждение и распределяет его между всеми майнерами пропорционально количеству «долей», которые они внесли.
Майнинг-пулы открыты для любого майнера, большого или малого, профессионала или любителя. У некоторых участников майнинг-пула есть только небольшая майнинговая машина, в то время как другие имеют гараж, полный высокопроизводительного майнингового оборудования. Некоторые используют всего несколько десятков киловатт электроэнергии для майнинга, в то время как другие используют дата-центр для потребления мегаватт мощности. Как майнинг-пул может измерить вклад каждого человека таким образом, чтобы справедливо распределять вознаграждения, избегая при этом возможности обмана? Ответ заключается в использовании алгоритма Proof-of-Work Биткоина для измерения вклада каждого майнера при установлении более низкой сложности. В результате даже самые мелкие майнеры в пуле часто получают долю вознаграждения, что является достаточным стимулом для внесения вклада в пул. Устанавливая низкую сложность для получения доли, пул может измерить объем работы, выполненной каждым майнером. Всякий раз, когда майнер находит хеш блока, который меньше сложности пула, это доказывает, что он завершил расчет хеша, необходимый для поиска результата. Более важно то, что эта работа, проделанная для получения вклада в доли, обеспечивает статистически измеримый способ найти целевой хеш всей сети Биткоина. Тысячи майнеров, пытающихся пройти меньшие интервалы хеш-значений, в конечном итоге могут найти результаты, соответствующие требованиям сети Биткоина.
Вернемся к аналогии с игрой в кости. Если цель игроков — выбросить кости с результатом меньше 4 (общая сетевая сложность), майнинг-пул может установить более легкую цель, подсчитывая, сколько раз игроки в пуле выбрасывают результат меньше 8. Когда игроки в пуле выбрасывают результат меньше 8 (цель доли пула), они получают доли, но они не выигрывают игру, потому что не достигают цели игры (меньше 4). Однако игроки в пуле чаще достигают более легкой цели доли пула, регулярно зарабатывая свои доли, даже если они не достигли более сложной цели выигрыша в игре.
Время от времени член пула может выбросить результат меньше 4, и пул выигрывает. Прибыль затем может быть распределена на основе долей, заработанных игроками в пуле. Хотя цель 8 или меньше не является выигрышем в игре, это справедливый способ измерить количество очков, выброшенных игроками, и он время от времени будет давать результат меньше 4.
Аналогично, пул устанавливает свою сложность таким образом, чтобы отдельный майнер мог часто находить хеш заголовка блока, соответствующий сложности пула, чтобы получить долю. Время от времени попытка даст хеш заголовка блока, соответствующий цели сети Биткоина, что приведет к действительному блоку, и тогда пул в целом выигрывает.
