Академия майнинга

Подключиться к пулу

Что такое Stratum: stratum+tcp, SSL и порты пула

Stratum — это сетевой протокол, по которому майнинг-оборудование получает от пула задания на вычисление и отправляет обратно найденные решения (шары). Строка вида stratum+tcp://enter.rupool.pro:3333 — адрес такого подключения: схема stratum+tcp означает обычное соединение, stratum+ssl — зашифрованное, а число после двоеточия — порт. Протокол влияет на задержку, долю отклонённых шар и устойчивость подключения, поэтому понимать его полезно любому владельцу ASIC.

Зачем нужен Stratum

Майнинг-пул делает две вещи: собирает из транзакций кандидата в блок и раздаёт участникам работу по его перебору. Устройствам нужен простой и лёгкий способ получать эту работу и возвращать результат. Исторически для этого использовали протокол getwork, но он был неэффективен: каждое задание требовало отдельного запроса, а при росте мощностей ASIC нагрузка на серверы стала неподъёмной.

Stratum решил проблему иначе. Устройство один раз устанавливает долгоживущее соединение, а пул сам присылает новые задания по мере появления нового блока или обновления набора транзакций. Устройство получает основу задания и самостоятельно перебирает значения в допустимом диапазоне, не обращаясь к серверу за каждым вариантом. Это экономит трафик, снижает нагрузку на пул и сокращает задержку между появлением нового блока в сети и началом работы над ним.

Как проходит сеанс связи

Под капотом Stratum — обмен короткими сообщениями в формате JSON поверх TCP-соединения. Типичная последовательность выглядит так.

  1. Подключение и подписка. ASIC устанавливает соединение с адресом и портом пула и отправляет запрос на подписку (mining.subscribe). В ответ пул сообщает параметры сеанса.
  2. Авторизация. Устройство передаёт логин и пароль (mining.authorize). Для RuPool логин — это имя_субаккаунта.имя_воркера, пароль может быть любым, например x. Подробнее об именовании — в статье про имена воркеров и субаккаунты.
  3. Задание. Пул присылает уведомление (mining.notify) с данными, из которых устройство собирает заголовок блока, и устанавливает сложность шары (mining.set_difficulty).
  4. Отправка решений. Каждый раз, когда устройство находит хеш, удовлетворяющий сложности шары, оно отправляет его пулу (mining.submit). Пул проверяет шару и отвечает: принята или отклонена.
  5. Обновление. Как только в сети появляется новый блок, пул рассылает новое задание, и устройство бросает старое.

Шара — это не блок. Это решение, настолько же «трудное», как нужно пулу для учёта вашего вклада, но существенно проще, чем сетевая сложность. Именно по числу и сложности принятых шар пул оценивает ваш хешрейт и начисляет вознаграждение.

Отдельно стоит сказать про сложность шары. Пул не требует от устройства слать каждый найденный «почти подходящий» хеш: для слабого и сильного ASIC разумная сложность шары разная. Если выставить её слишком низкой, канал забьют лишние сообщения; если слишком высокой, статистика будет рваной, потому что шары приходят редко. Поэтому пулы подстраивают сложность автоматически под скорость конкретного устройства (механизм называется variable difficulty, или vardiff) и сообщают новое значение через mining.set_difficulty. Вам настраивать это не нужно, но стоит знать: колебания хешрейта на графике пула в первые минуты после запуска — нормальное явление, пока сложность подбирается.

Что означает адрес подключения

Разберём адрес на примере stratum+tcp://enter.rupool.pro:3333.

  • stratum+tcp:// — схема: Stratum по обычному TCP, без шифрования.
  • enter.rupool.pro — имя сервера. Адрес автовыбора направляет вас на ближайший к вам стратум; региональные адреса позволяют выбрать площадку вручную: msk2-ru.enter.rupool.pro (Москва), nsk-ru.enter.rupool.pro (Новосибирск), hel-fi.enter.rupool.pro (Хельсинки), ala-kz.enter.rupool.pro (Алматы).
  • 3333 — порт. Каждому алгоритму соответствует свой порт, потому что за ним стоят разные стратум-серверы.

Некоторые прошивки сами достраивают схему, и в поле адреса вводят только хост и порт. Если соединение не устанавливается, сначала проверьте, что вы не перепутали порт алгоритма.

Порты RuPool

АлгоритмМонетыОсновной TCPЗапасные TCPSSL
SHA-256BTC33338888, 443, 25999
ScryptLTC + DOGE33348889, 444, 26998

Для Bitcoin вы подключаетесь по адресу вида stratum+tcp://enter.rupool.pro:3333, а для Litecoin и Dogecoin — stratum+tcp://enter.rupool.pro:3334. Dogecoin добывается совместно с Litecoin, отдельного стратума для него нет. Подробности о пуле Bitcoin — на странице пул для майнинга BTC. Запасные порты нужны на случай, когда интернет-провайдер или корпоративный файрвол блокирует нестандартные порты. Порт 443 открыт почти везде, поскольку через него идёт HTTPS-трафик; порт 25 (почтовый) некоторые провайдеры, наоборот, закрывают, поэтому держите в резерве несколько вариантов.

TCP или SSL: что выбрать

Обычное TCP-подключение передаёт данные открытым текстом. Для самого майнинга это не катастрофа: через сеть уходят задания и шары, а не деньги или ключи. Но у открытого канала есть два недостатка. Во-первых, трафик может прочитать и изменить любой узел на маршруте, включая провайдера или владельца сети, а значит, шифрование снижает риск подмены данных. Во-вторых, некоторые провайдеры замедляют или режут нешифрованный трафик на нестандартных портах.

SSL (stratum+ssl) шифрует канал. Цена — небольшая дополнительная нагрузка и несколько миллисекунд на установку соединения. Не все старые прошивки поддерживают шифрованный Stratum: если ваш ASIC не принимает схему stratum+ssl, придётся оставаться на TCP. Если прошивка поддерживает SSL, его можно сделать основным каналом, а TCP оставить запасным. Об особенностях выбора адреса и подключения ферм — в разделе как подключить ASIC к пулу.

Отдельно стоит упомянуть Stratum V2 — новую версию протокола с бинарным форматом и встроенным шифрованием. Она развивается как открытый стандарт, но поддержка на оборудовании и пулах пока неравномерна, поэтому проверяйте актуальную информацию у производителя прошивки.

Задержка и отклонённые шары

Самая частая практическая проблема — отклонённые шары. Пул отклоняет шару в двух основных случаях.

  • Устаревшая шара (stale). Устройство нашло решение для задания, которое уже не актуально, потому что в сети появился новый блок и пул разослал новое. Чем больше задержка, тем дольше ASIC работает со старым заданием и тем выше доля таких шар.
  • Некорректная шара (invalid). Неверный хеш, нарушение формата, не прошедшая проверку работа. Причины — ошибки в прошивке, нестабильный разгон, неисправная хешплата.

Задержка складывается из расстояния до сервера, качества последней мили и загрузки канала. Разница между пингом 10 и 150 миллисекунд может быть заметна в статистике, особенно когда пул часто рассылает новые задания. Поэтому и существуют региональные адреса: выберите стратум, до которого пинг минимален, а не просто ближайший по карте. Критерии выбора пула, включая расположение серверов, разобраны в статье как выбрать майнинг-пул.

Нормальная доля отклонённых шар небольшая — обычно порядка долей процента до одного-двух процентов. Если вы видите заметно больше, проверьте по порядку: пинг и потери пакетов до сервера, стабильность интернет-канала на ферме, температуру и режим работы ASIC, версию прошивки. Не делайте выводы по одной точке: сравнивайте статистику на устройстве и на пуле за несколько часов.

Типичные проблемы с подключением

  • Устройство показывает «Dead» или «Disconnected». Проверьте адрес, порт и алгоритм, а также доступность интернета с самого ASIC (DNS, шлюз).
  • Нет соединения только по порту 3333. Попробуйте запасной порт: 8888, 443 или 25.
  • Воркер не появляется в кабинете. Проверьте формат логина имя_субаккаунта.имя_воркера и допустимые символы: латиница, цифры, нижнее подчёркивание.
  • Соединение рвётся каждые несколько минут. Нестабильный канал или перегруженный роутер; помогает проводное подключение и отдельный маршрут для фермы.

Как проверить, что соединение работает правильно

Откройте журнал или вкладку статуса ASIC: рядом с пулом должен стоять статус «Alive» (или «Работает»), а счётчики принятых шар (Accepted) — расти. Затем зайдите в личный кабинет пула и убедитесь, что воркер появился и его хешрейт стал отображаться. Расчётный хешрейт на пуле стабилизируется не сразу, а через несколько десятков минут, поэтому не делайте вывода по первым минутам.

Частые вопросы

Нужно ли что-то устанавливать для работы Stratum?

Нет. Протокол уже встроен в прошивку ASIC и в программы для майнинга на видеокартах. От вас нужны только адрес, порт, логин и пароль.

Безопасен ли stratum+tcp?

Для обмена заданиями и шарами это работоспособный вариант, но канал не зашифрован. Если прошивка поддерживает stratum+ssl, лучше использовать его, а TCP оставить запасным.

Почему у меня так много stale-шар?

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

Можно ли указать несколько адресов пула в одном ASIC?

Да. Большинство устройств принимают три пула: если основной недоступен, ASIC переключается на следующий. Хорошая практика — вписать разные порты или регионы одного пула.

Чем стратум для BTC отличается от стратума для LTC?

Портом и алгоритмом: для SHA-256 (BTC) используется порт 3333, для Scrypt (LTC и DOGE) — порт 3334. Хост у них один и тот же.