Академия майнинга
- Главная
- Академия
- Настройка и запуск
Что такое Stratum: stratum+tcp, SSL и порты пула
Что такое Stratum: stratum+tcp, SSL и порты пула
Stratum — это сетевой протокол, по которому майнинг-оборудование получает от пула задания на вычисление и отправляет обратно найденные решения (шары). Строка вида stratum+tcp://enter.rupool.pro:3333 — адрес такого подключения: схема stratum+tcp означает обычное соединение, stratum+ssl — зашифрованное, а число после двоеточия — порт. Протокол влияет на задержку, долю отклонённых шар и устойчивость подключения, поэтому понимать его полезно любому владельцу ASIC.
Зачем нужен Stratum
Майнинг-пул делает две вещи: собирает из транзакций кандидата в блок и раздаёт участникам работу по его перебору. Устройствам нужен простой и лёгкий способ получать эту работу и возвращать результат. Исторически для этого использовали протокол getwork, но он был неэффективен: каждое задание требовало отдельного запроса, а при росте мощностей ASIC нагрузка на серверы стала неподъёмной.
Stratum решил проблему иначе. Устройство один раз устанавливает долгоживущее соединение, а пул сам присылает новые задания по мере появления нового блока или обновления набора транзакций. Устройство получает основу задания и самостоятельно перебирает значения в допустимом диапазоне, не обращаясь к серверу за каждым вариантом. Это экономит трафик, снижает нагрузку на пул и сокращает задержку между появлением нового блока в сети и началом работы над ним.
Как проходит сеанс связи
Под капотом Stratum — обмен короткими сообщениями в формате JSON поверх TCP-соединения. Типичная последовательность выглядит так.
- Подключение и подписка. ASIC устанавливает соединение с адресом и портом пула и отправляет запрос на подписку (
mining.subscribe). В ответ пул сообщает параметры сеанса. - Авторизация. Устройство передаёт логин и пароль (
mining.authorize). Для RuPool логин — этоимя_субаккаунта.имя_воркера, пароль может быть любым, напримерx. Подробнее об именовании — в статье про имена воркеров и субаккаунты. - Задание. Пул присылает уведомление (
mining.notify) с данными, из которых устройство собирает заголовок блока, и устанавливает сложность шары (mining.set_difficulty). - Отправка решений. Каждый раз, когда устройство находит хеш, удовлетворяющий сложности шары, оно отправляет его пулу (
mining.submit). Пул проверяет шару и отвечает: принята или отклонена. - Обновление. Как только в сети появляется новый блок, пул рассылает новое задание, и устройство бросает старое.
Шара — это не блок. Это решение, настолько же «трудное», как нужно пулу для учёта вашего вклада, но существенно проще, чем сетевая сложность. Именно по числу и сложности принятых шар пул оценивает ваш хешрейт и начисляет вознаграждение.
Отдельно стоит сказать про сложность шары. Пул не требует от устройства слать каждый найденный «почти подходящий» хеш: для слабого и сильного 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 | Запасные TCP | SSL |
|---|---|---|---|---|
| SHA-256 | BTC | 3333 | 8888, 443, 25 | 999 |
| Scrypt | LTC + DOGE | 3334 | 8889, 444, 26 | 998 |
Для 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. Хост у них один и тот же.