Наверное, это самый частозадаваемый вопрос абсолютно всех начинающих майнеров. Доходит даже до того, что некоторые начинают обвинять пулы в "краже" их драгоценных терахешей и строить теории заговоров. Но на деле - все намного проще.
Мы начнем с теории, подкрепленной скриншотами, где будет проиллюстрировано, как идет "процесс общения" пула с асиком, а затем выясним, что же влияет на отображаемый на пуле хешрейт.
Очень важно знать до прочтения статьи!
Чтобы нормально понять все, что Вы прочитаете дальше, Вы должны знать ответы и разбираться в следующих вопросах:
- Что такое майнинг, хеш биткоина и процесс хеширования?
- Что такое SHA256?
- Из чего состоит блок в блокчейне Bitcoin?
- Что содержится в заголовке блока?
- Откуда берутся новые биткоины?
- Что такое Coinbase транзакция?
- Какой хеш нужно найти асику, чтобы сформировать блок?
- Что такое Bits (битс)?
- Сколько нулей должно быть в начале хеша нового блока блокчейна Bitcoin?
- Что такое Nonce и Extra Nonce?
Если на эти вопросы у Вас нет ответа, то я настоятельно рекомендую прочитать статью, которая изначально была предисловием к тому, что описано ниже. Учитывая размер, оно было выделено в отдельную статью, которая описывает процесс хеширования и отвечает на вопрос: "Майнинг - что это? Как майнит асик? Объясняю поэтапно с примерами на практике!"
Только понимая основы хеширования и майнинга Вы сможете разобраться в том, какими заданиями обменивается пул с асиком и как это влияет на конечный хешрейт.
Если в процессе этой статьи "поплывете" - возвращайтесь к статье-предисловию.
Как пул принимает данные от асиков
Stratum протокол пула
Майнинговые пулы, используя специализированные протоколы (такие как Stratum, GetBlockTemplate, BetterHash), способны координировать деятельность тысяч и даже сотен тысяч майнеров. Создав учетную запись, и подсоединяясь к пулу, майнеру передаются настройки под специфику конкретного сервера пула. Вклад каждого майнера оценивается с учетом произведенных "долей" (share)
Скорость, мощность хеширования асиков
Итак, Вы видите в своем асике текущую скорость хеширования, допустим, 100 TH/s.
Это значит, что асик перебирает в секунду 100 000 000 000 000 (сто триллионов) хешей для нового блока, подставляя все новый и новый параметр Extra Nonce.
Это значит, что асик перебирает в секунду 100 000 000 000 000 (сто триллионов) хешей для нового блока, подставляя все новый и новый параметр Extra Nonce.
Для чего пул устанавливает свою сложность для шар?
Сложность сети в начале 2024 года составляет 75.50T (75,502,165,623,893). А пул выставляет для асика сложность 524К (524000). Вопрос - зачем?

Сложность 524К cопоставима со сложностью, которая была с 2011-06-06 до 2011-06-15, тогда она составляла 567К, при битсе 0x1a1d932f.
Это значит, что если отправить наш 100TH/s асик назад в прошлое, в июнь 2011 года и включить в розетку, то он майнил бы каждые 20-30 секунд по блоку битка, находя хеш блока менее
0000000000001d932f0000000000000000000000000000000000000000000000
Как пул определяет сложность для асика
С момента запуска майнинга, пул определяет сложность шар для Вашего асика, путем перебора значений, таких, чтобы асик регулярно (не слишком часто и не слишком редко) отправлял шары на пул.
Я не сильно замерял этот момент, но в целом 100 TH/s асик отсылает шару на сложности 524K примерно один раз в 30 секунд. Бывает чаще, бывает реже, но по ощущениям примерно так.
Устанавливая достаточно низкую сложность для добывания шары, пул получает возможность измерять объем работы, реально проделанной каждым майнером и на основе этого справедливо распределять вознаграждение для каждого пользователя.
Итак, асик начинает передавать регулярно шары на сервер пула, а пул их обрабатывает. Ваша шара, переданная на сложности 524к, может одновременно быть и выше текущей сложности сети Биткоин (хеш меньше битса) - таким образом Ваш майнер найдет хеш для нового блока в цепи блокчейна, а пул его ретранслирует, присваивая себе награду за найденный блок.

По сути, пул перебирает огромное число шар, которые отсылают асики разных людей в разных точках мира, и иногда из этого числа хешей находится тот самый, который будет удовлетворять текущей сложности сети.
Какие данные пул передает на асик
На пулах используются специальные шаблоны блоков, создаваемые сервером. Причем сервер сам собирает транзакции (включая coinbase), вычисляет хеш корня дерева Меркла, добавляет ссылку на предыдущий блок. Полученный заголовок блока-кандидата отправляется всем участникам пула для работы, которые тут же включаются в перебор нонсов. Вычисленные майнерами хеши отправляются серверу пула. Кроме сравнения хешей с текущим битсом, пул еще и считает вклад каждого аккаунта в работу.
Как пул оценивает хешрейт асика
Смотрите.
- Пул знает сложность, которую он Вам установил для передачи шары.
- Пул знает, сколько хешей в секунду в среднем нужно делать асику, чтобы отправлять 1 шару за единицу времени на заданной пулом сложности (допустим 524К)
- Пул считает сколько вы передали таких шар за эту единицу времени
- Пул пропорцией высчитывает хешрейт за определенный промежуток времени.
- Если сложность пула скачет - то выше то ниже, то и ценность такой шары в учете "доставленного" хешрейта будет меняться.
Почему может меняться сложность пула в интерфейсе асика
Пул может перезагружать коннект к асику после обрыва соединения. Тогда, скорее всего, вы увидите сложность менее 50К и за несколько секунд асик передаст целую пачку шар на сервер. Сервер ответит, что "так часто слать не надо" и попросит присылать шары со сложностью выше, постепенно подбирая оптимальную сложность.

Если от асика шары приходят реже, чем пулу бы хотелось для качественного и точного подсчета вклада в работу, то пул снизит для асика сложность, чтобы тот слал шары чаще.
Чем меньше сложность пула - тем меньше дисперсия Вашего ожидаемого хешрейта.
Тогда возникает вопрос - почему пулы не выставляют пользователям низкую сложность? Тогда отклонения в хешрейте 15-минутном, часовом, 24-часовом были бы меньше?
Пул выставляет сложность в том числе и с оглядкой на то, сколько шар пользователей могут обработать его сервера в секунду - иначе есть угроза просто не справиться с потоком.
Обычно майнинг-пулы предоставляют более простую сложность (которая требует меньше работы) медленным асикам и более сложные - более быстрым асикам (чтобы лучше использовать разные скорости), а количество шар в секунду, получаемое пулом будет стабильным.
Как пул считает хешрейт асика?
Майнинг-пул не знает вашего хешрейта!
Он оценивает его на основе скорости, с которой Вы отсылаете шары определенной сложности:
Он оценивает его на основе скорости, с которой Вы отсылаете шары определенной сложности:
- если вам повезет и вы найдете больше шар, чем следовало, ваш хешрейт будет завышен
- если вам не повезет и вы найдете меньше шар, хешрейт, отображаемый на пуле, будет ниже интерфейса в асике.
Отвечая на вопросы пользователей, в техподдержках пула часто настаивают, чтобы пользователи подождали 24 часа для сравнения хешрейта морды асика с зачтенным на пуле.
Но по моей практике даже 24-часовой результат может отклоняться на +-2-3% от дня ко дню. Например, на пуле Headframe (обзор тут), на котором я майню на своих супер-стабильных асиках, которые "должны" выдавать по 98.5 TH/s в зачет, день от дня это значение колеблется от 96 и до 101 TH/s.
Может ли пул красть хешрейт?
В теории, да, может, ведь именно он программно задает ценность подсчета каждой шары за промежуток времени.
Но вопрос - будет ли? Это ведь выстрел себе в ногу - нужно изменить расчетное количество времени для всех типов шар в настройках сервера пула. Вряд ли это можно сделать для группы или одного аккаунта пользователя. Таким образом, под удар попадает репутация пула и долго в таком режиме он не протянет.
Это как с весами на базаре - если подкручены, то подкручены для всех. Но захотите ли иметь дело в дальнейшем с таким продавцом, когда поймете, что Вас обвесили?
Мы сейчас живем в эпоху информации. Если что-то происходит, то по "сарафанному радио", которое я бы охотнее назвал "телеграмным радио", любая проблема становится сразу известна большому количеству человек. А от негатива надо еще как-то отмыться, замазавшись всего раз.
Раньше говорили "слово не воробей - вылетит - не поймаешь". А сейчас "сделаешь репост - а удалять то и забываешь". Таким образом, за имиджем и репутацией все следят очень и очень сильно.
Я конечно не могу отвечать за все пулы, но за тот, на котором я майню в 2025 году - EMCD (обзор тут) - хешрейт нормальный.
Что влияет на хешрейт на пуле?
Типы шар при майнинге: Accepted, Rejected, Stale
Очень быстро пройдемся по типам шар из интерфейса асика:

Accepted: принятые шары. Ваш асик нашел хеш ниже битса, выставленного пулом, передал пулу. Пул ответил - с шарой все хорошо. О них не будем - и так все понятно.
Rejected: отклоненные шары. Ваш асик послал шару на пул, но пул прислал сигнал, что шара не подходит. О них позже.
Stale: "запоздалая" шара. От английского: несвежая, залежалая, запоздалая. О них так же позже.
Rejected: отклоненные шары. Ваш асик послал шару на пул, но пул прислал сигнал, что шара не подходит. О них позже.
Stale: "запоздалая" шара. От английского: несвежая, залежалая, запоздалая. О них так же позже.
Давайте, кстати, пробежимся по статистике устройства и подметим некоторые моменты.
Как я говорил ранее, от асика на данных настройках я ожидаю около 98.5 TH/s
Время работы: 13 дней, 16 часов, 45 минут.
Реджектов и стейлов суммой на 195 шар, при принятых 57114
Исходя из теории, что сложность, выставляемая пулом для асиков в условиях стабильной работы без перезагрузок (счетчик дней бы обнулился), всегда была равна 524, то можно сказать что реджект составил 0.34%.
Реджект в 0.34% - это отличный показатель, которого я желаю каждому майнеру! Но чтобы добиться такого результата я создал для асика идеальные условия - пинг до пула около 40 миллисекунд, температура окружающей среды 12-15°С, чипы работают на температуре минус 5 градусов от стокового значения (70 сток, у меня 65), что снижает шанс аппаратных ошибок.
Rejected Shares: отклоненные шары
Заметил, что еще их называют "рыжиками". Вроде прикольно, но мне привычнее называть все же реджектами.
В чем суть реджект шар?
- Ваш асик, показывает Вам в интерфейсе то количество хешей, которое он проводит в секунду.
- Шары передаются на пул, как мы выяснили выше, на определенной пулом сложности.
- Часть из этих шар могут быть НЕ ПРИНЯТЫ пулом. Таким образом, каждая такая непринятая шара снизит Ваш зачтенный хешрейт на пуле.
На всякий случай разжую: к примеру асик передает 5 шар в минуту опеределенной сложности, что соответствовало бы 100 TH/s на 24-часовом графике.
Тогда в сутки передавалось бы 7200 таких шар. Но, допустим, один раз в 10 минут, в течение 1 минуты, асик передает 5 шар, но одну из них пул не принимает и берет в зачет лишь 4. Вроде бы мелочь, но:
Тогда теряется по 6 шар в час, а за 24 часа - 144. Пул зачтет только 7056 шар, что составит 98 TH/s.
Вот мы и потеряли 2% хешрейта.
Почему возникают Rejected шары?
В BTC-майнинге реджекты в 99% случаев случаются по вине плохого соединения с пулом.
Это может случаться как по вине пула, так и по вине Вашего соединения. Но чаще всего, конечно, это вина пользователя.
Чтобы сократить количество реджектов, нужно использовать проводное соединение, оптоволокно, да и любые другие ухищрения, которые позволят снизить пинг до пула до уровня 20-50мс. Это считается хорошим временем ответа, и сильно сократит количество реджектов.
Если удалось снизить пинг до сервера, то возникает меньше вероятности, что вы не успеете обменяться с пулом обновленной информацией (майнинговым заданием) и передать неправильный хеш, который пул уже не запрашивает. В "общении" с пулом это выглядит так:

Почему возникают Stale шары?
Даже добившись минимального пинга, и сократив количество Rejected шар, наш хешрейт может продолжать страдать, если в Вашем соединении периодически случаются потери пакетов - пакет с шарой может ВООБЩЕ не дойти до пула. Так возникают STALE шары.

Как можно видеть из скриншота выше - свистопляска с пулами продолжалась около 2.5 минут, и в течение этого времени шары не передавались, а если и передавались, то не доходили до пула. Любое такое переключение пулов влияет на конечный суточный хешрейт.
Как сократить количество Rejected и Stale шар?
Как можно понять из примеров выше - Rejected и Stale шары возникают при нестабильном или медленном соединении с пулом. Так как в этом случае танцуют двое - виноваты могут быть оба.
Наша задача сводится к сокращению шанса наших косяков к минимуму.
Подключение к интернету
Влияние этого момента сложно переоценить, поскольку напрямую влияет на пинг и стабильность соединения асика с пулом.
Я понимаю, что много майнеров в силу различных обстоятельств для своих локаций используют модемы-свистки или же симочные роутеры, поскольку вариантов подкинуть современное оптоволокно не представляется возможным.
При подключении локации через сотовую сеть, какой бы крутой она не была и каким бы стабильным не казался Вам сигнал - качество связи с пулом будет существенно ниже, чем по оптоволокну.
В качестве примера, я могу привести реальную записанную ситуацию, которая попала в мою статью «Битва Пулов: Braiins Pool vs Headframe Pool»
В ней Вы можете найти момент за 01.01.2024 когда у меня проседало качество связи и приходилось переходить на раздачу интернета с сим-карты.
Эту битву Headframe выиграл - он и зачитал в среднем на 0.5% больше хешрейта, да и комиссия по FPPS у него меньше - 0.9%, в то время как у BraiinsPool - 2.0%
В ней Вы можете найти момент за 01.01.2024 когда у меня проседало качество связи и приходилось переходить на раздачу интернета с сим-карты.
Эту битву Headframe выиграл - он и зачитал в среднем на 0.5% больше хешрейта, да и комиссия по FPPS у него меньше - 0.9%, в то время как у BraiinsPool - 2.0%

Пинг при этом вырос с 20-40 до 100-150мс и не известно были ли потери пакетов. Но этого хватило, чтобы хешрейт асиков «провалился» на 3-4 TH/s.
Загруженность интернет-линии
Зачастую асики могут быть включены в сеть в домашних условиях. Да, они качают мало, около 200-300 мегабайт в месяц, но в моменты 100% нагрузки на роутер (вы решили посмотреть фильмец в HD или поставили торрент на скачку), роутер может обработать пакеты от асиков медленнее. Таким образом, пинг до пула повышается и возникает риск потери пакетов данных.
В моделях Keenetic, не знаю как в других роутерах, можно выставлять приоритет для разных зарегистрированных устройств. Не пренебрегайте этими настройками! У асиков должен быть приоритет №1, потом все остальное - много трафика они не займут.
Качество кабелей, соединений
Вроде бы неожиданно, но это так. Влияние качества кабелей известно еще со времен GPU-майнинга, когда шанс возникновения повышенного количества реджектов зависело от качества рейзеров. Иногда их надо было просто «пошевелить» и реджекты ферм снижались.
В меньшей степени, но и качество витой пары влияет на стабильность соединения. Более подробно, основную и важную информацию об этом, я рекомендую прочитать в статье на сайте Keenetic.
Параметры роутера и коммутаторов
Не совсем уверен, что это может оказать влияние, но на роутере я бы сильно не экономил. Приоритет отдается современным моделям с поддержкой Ethernet соединения до 1 Гбит/сек.
Был момент, когда я заменял Keenetic Start на Keenetic Sprinter. Два принципиально разных устройства, как Приора против Камри. Но сильного снижения количества реджектов я не заметил. Хотя, возможно потому, что их доля уже и так была на низком уровне.
Что делать если не удается снизить уровень реджектов?
Если же мы сделали все возможное, но проблема не исчезает - остается только попробовать сменить пул на другой.
Но перед этим неплохо было бы выполнить первичный тест пула путем нехитрых манипуляций.
В кастомных прошивках которые я использую, Vnish.net, с выходом версии 1.2.1 появился индикатор пинга до пула, что было очень кстати. Спасибо им за это нововведение.

Кроме того, во вкладке система можно пропинговать стратумы пулов. В стоковой прошивке этого не получится сделать.


Если такой возможности пропинговаться с асика у Вас нет, то используется метод обычной пропинговки и трассировки узла через командную строку. Суть простая - подсоединяем компьютер или мобильный телефон к вайфай сети локации.
Для телефона подойдет приложение Ping.
Для компьютера - командная строка с командой ping или tracert. Изначально именно так я тестировал пинг до пулов.

Если у Вас два или более устройств для майнинга - лучше переходить с пула на пул постепенно, оставив один асик на прежнем пуле, а второй переведя на новый пул. Так Вы сможете протестировать работу одинаковых устройств на двух разных пулах при одном и том же соединении в равных условиях. Выбор, таким образом, будет объективен.
Получится что-то вроде моей статьи «Битва Пулов: Braiins Pool vs Headframe Pool», о которой я говорил выше, но только с Вашими данными.
На какой пул перейти для теста реджетов?
Вообще, большинство людей до сих пор сидят на пулах типа ViaBTC, Binance. Мой внутренний "еврей" в эти моменты просто вопит "Таки зачеееем"?
У ViaBTC и Binance комиссия на майнинг 4%. У Headframe - 0.9%, у EMCD - 1.5%, но с промокодом, который вводится при регистрации - miner2miner - 1.00%.
Конечно, возможно, Вы майните и на другом пуле, но там не может быть комиссии ниже 0.9%. Кстати, Трастпул с их "заявленным" 1% комиссии выдает не то, чтобы хорошие результаты по доходности, а отвратительные. Просто у них не FPPS, а PPS+ система начисления вознаграждений. Подробнее с последним рейтингом пулов (там есть таблица средней доходности за месяц) Вы можете ознакомиться тут.
Убьем двух зайцев сразу - и уровень реджектов/стейлов протестируем и заодно сравним доходность Вашего пула против EMCD или Headframe (выбирайте любой, и обязательно по этим ссылкам, там плюс к карме и минус к реджектам). Для реги EMCD - промокод на снижение комиссии miner2miner нужно вводить при регистрации аккаунта, позже он не сработает.
Но есть одно но: чтобы асики не работали впустую, нужно позаботиться о том, чтобы BTC, который Вы намайните во время теста все же не зависли на пуле, не достигнув минимального порога вывода.
Обзор на пул EMCD
Обзор на пул Headframe
Заключение
Итак, мы выяснили, что для того, чтобы сократить количество реджектов и стейл шар, нам нужно:
- Убрать все косяки на нашей стороне, чтобы общение асика с пулом было комфортным и быстрым.
- Протестировать другие пулы, чтобы выбрать тот, с которым Ваша линия будет стабильней.
Я Вам желаю 100% аптайма без реджектов и стейлов! Майните с максимальной отдачей от своего номинального хешрейта!