Майнинг,  Статьи

Как уменьшить количество stale shares при майнинге

...Я опоздал на службу, так как маршрутка вместо обычных 10 минут ехала 30 минут, спотыкаясь на каждом шагу. Одно из двух: или на дорогах были пробки, или шофер был с похмелья и забыл, куда ехать...

При майнинге криптовалют иногда возникает ситуация, при которой найденное майнером решение приходит на пул тогда, когда сетью уже найден блок, для которого выполнялись вычисления.

Такая ситуация довольно часто возникает при майнинге Ethereum и других монет, у которых малое время нахождения блоков. Найденные решения являются верными, но запоздалыми – на английском их называют stale shares.

Проверить количество stale shares можно на странице статистки пула и в майнере. Например, в Клейморе и Фениксе это можно сделать, нажав в консоли майнера на букву S.

Пример статистического отображения количества запоздалых решений в программе Phoenix Miner:

Обычно количество стейл-шар исчисляется единицами и не превышает одного процента от всех найденных шар. Так как обычно эти shares не оплачиваются, то нужно снизить их количество до минимума.

Не стоит путать stale shares с режектами, которые обычно вызваны некорректной работой майнеров, неправильным выбором алгоритма, переразгоном памяти и т.д. Стейлы связаны с задержками при обмене данными о вычислениях между программой майнером и пулом.

Что можно сделать для уменьшения количества stale shares?

Для уменьшения процента stale shares при майнинге нужно обеспечить выполнение следующих условий:

  • использовать интернет-соединение с наименьшим возможным временем отклика (минимальными задержками);
  • подключать риги к пулам с наименьшим пингом (обычно это самые ближние в географическом смысле пулы);
  • сократить в майнере время периодического получения заданий на проведение вычислений от пула;
  • выбирать пулы для майнинга с надежно работающими серверами, стабильным и надежным подключением к интернету;
  • обеспечить уменьшение задержек по всему каналу связи между майнером и пулом. Иногда такие задержки могут возникать из-за подвисающего роутера, плохого сетевого коммутатора, слабого процессора, не способного обеспечить достаточное быстродействие операционной системы (она тормозит/фризит), нарушенных контактов в разъемах/проводах/сетевой карте и т.д.

Настройка интернет соединения

Для уменьшения задержек при прохождении сигнала нужно по возможности использовать оптические/проводные соединения ригов с роутером.

wi-fi соединения ригов с роутером работают с большими задержками, что увеличивает количество «стальных шар».

При выборе провайдера стоит ориентироваться на оптические линии передачи данных, избегать радиоподключения, мобильного интернета и других видов соединений с большим временем задержки.

Беспроводные соединения не могут обеспечить приемлемое время прохождения сигнала и ухудшают параметр «miner-to-pool latency», который приводит к появлению запоздалых решений.

При этом не нужно путать скорость подключения и время задержек. Высокую скорость соединения с интернетом можно обеспечить увеличением объема пакетов с данными. При этом время между ними может быть достаточно большим, что приведет к возрастанию задержек и увеличению времени пинга при соединении с хостами интернета/пулами.

Кроме того, стоит, по возможности, отказаться от использования различных прокси, VPN-сервисов, антивирусов, которые могут привносить дополнительные задержки в прохождение сигнала/данных.

Подробнее о настройке интернета для майнинга можно прочитать в статье «Решение проблем с подключением ригов к интернету».

В случае, когда не удается обеспечить соединение с интернетом с малым пингом к серверам пула, стоит задуматься о смене монеты для майнинга, перейти на криптовалюты с большим временем между соседними блоками. Например, в сети Ethereum время между блоками составляет 14-15 секунд, в сети Ravencoin – 60 секунд, Monero — 120 секунд, Bitcoin -600 секунд . Соответственно уменьшается и количество потерянных шар, которых практически не бывает при майнинге XMR и BTC.

Проверка пинга к пулу для майнинга

Для проверки пинга к пулам в косоли Windows можно использовать команду:

ping pool address, например, для пингования европейского сервера eu1 пула ethermine используют команду:

ping eu1.ethermine.org

Пример выполнения команды ping к пулу eu1.ethermine.org:

В данном случае пинг к пулу равен 1 мсек, что является очень хорошим значением, при котором практически нет stale shares из-за неверного подбора сервера пула. Тем не менее, они все равно есть (1%):

Если бы майнинг производился на пул f2pool, который находится в Азии, то задержка составляла бы 275 мс, что в разы увеличило бы количество «стальных решений» и, соответственно, уменьшило бы доход майнера:

Настройка времени получения заданий на проведение вычислений от пула

Проведение вычислений майнером является бесполезным (и лишь увеличивает общее количество stale shares), если они проводятся в промежуток времени, когда майнер еще не получил новое задание от пула, хотя сеть уже нашла новый блок.

Чтобы уменьшить время проведения бесполезных вычислений, майнеру нужно чаще (в разумных пределах) запрашивать задания от пула. При этом немного увеличиться количество интернет-трафика, а также сократиться число стейлов. Не стоит слишком сильно уменьшать время запроса заданий от пула, так как в нем может сработать защита от сетевых атак, и он вообще отключиться от такого майнера.

По умолчанию майнеры отсылают запрос на пул для майнинга с определенным интервалом (обычно это 200 миллисекунд). Изменить время запроса заданий от пула в майнерах можно специальными командами, которые добавляются в батник/скрипт:

  • Phoenix miner — gwtime;
  • Claymore miner — etht;
  • Nanominer, ethminer – farmRecheck.

Синтаксис батника Phoenix Miner для управления значением Recheck period:

-gwtime 80

Синтаксис батника Claymore Miner для управления временем requests for new job:

-etht 80

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Chinese (Traditional) ZH-TW English EN French FR German DE Russian RU Spanish ES