TLS Stratum — шифрованные порты
Что TLS stratum даёт solo-майнингу, чем отличается от обычного TCP, какие атаки блокирует и как перейти на TLS-порт.
Большинство майнинговых соединений по-прежнему передаются открытым текстом. Когда ваш майнер общается с пулом по стандартному stratum-соединению, каждое сообщение — получаемая работа, отправляемые шары, имя вашего воркера — передаётся без шифрования. Любой, кто находится на сетевом пути между вами и пулом, может это прочитать, а в некоторых случаях и изменить. TLS Stratum закрывает эту брешь, шифруя соединение от начала до конца и криптографически проверяя подлинность пула.
Это руководство объясняет, что даёт TLS соло-майнингу, чем он отличается от обычного TCP, какие реальные атаки предотвращает, когда это действительно важно и как его включить. SoloFury предлагает нативную поддержку TLS на каждой монете и в каждом регионе, поэтому любой майнер с прошивкой, поддерживающей TLS, может безопасно подключиться одной настройкой.
Что такое TLS Stratum?
Stratum — это протокол, который ваш майнер использует для общения с пулом: он подписывается на работу, авторизует воркер, получает шаблоны блоков через mining.notify и отправляет результаты через mining.submit. Он был представлен в 2012 году на смену старому протоколу getwork и с тех пор является универсальным стандартом пулового майнинга. По своей конструкции он работает по обычному TCP и передаёт всё в виде читаемого JSON — это упрощало отладку, но означает отсутствие встроенного шифрования и аутентификации.
TLS (Transport Layer Security, преемник SSL и та же технология, что стоит за замочком в вашем браузере) оборачивает тот же stratum-трафик в шифрованный и аутентифицированный туннель. Майнер и пул обмениваются ровно теми же майнинговыми сообщениями, но наблюдатель на сетевом пути видит только шифртекст, а майнер может проверить — по сертификату сервера — что общается с подлинным пулом, а не с самозванцем. В строках подключения это записывается как stratum+tls:// вместо stratum+tcp://.
Это не новая идея. Практика запуска шифрованного майнинг-трафика на отдельном порту восходит на годы назад — ранние серверы stratum и Electrum уже объявляли выделенный порт TLS (например, 50002 для TLS против 50001 для обычного TCP), и пулы следуют этой схеме по сей день.
TLS против обычного TCP: разница
Обычный TCP (stratum+tcp://) | TLS (stratum+tls://) | |
|---|---|---|
| Данные в сети | Читаемы любым посредником | Зашифрованы, нечитаемы для наблюдателей |
| Имя воркера / кошелёк видны | Да | Нет |
| Трафик шар виден | Да | Нет |
| Аутентификация сервера | Нет | Сертификат подтверждает настоящий пул |
| Защита от подмены / инъекций | Нет | Да |
| Защита от перехвата хешрейта | Нет | Да |
| Сложность настройки | По умолчанию | Один переключатель + другой порт |
| Влияние на производительность | Базовое | Незначительное |
Практический вывод: обычный TCP работает и надёжно используется уже более десяти лет, но всё, что он отправляет, видимо — и изменяемо — тем, кто контролирует сеть между вами и пулом. TLS устраняет эту уязвимость.
Атака, которую предотвращает TLS: перехват хешрейта
Самая весомая причина использовать TLS — не абстрактная приватность, а конкретная, задокументированная атака. Поскольку обычный stratum не шифруется и не аутентифицируется, злоумышленник на сетевом пути (вредоносный провайдер, скомпрометированный маршрутизатор или государственный противник, проводящий атаку маршрутизации) может вклиниться между вашим майнером и пулом, перехватить ваши шары proof-of-work и перенаправить их на пул, который он контролирует, — присваивая награды, заработанные вашим оборудованием.
Коварство в том, как мало нужно украсть, чтобы это имело значение. Отвода всего 1–2% хешрейта майнера достаточно, чтобы заметно повлиять на доходность, оставаясь при этом достаточно малым, чтобы остаться незамеченным. Жертва видит слегка пониженный хешрейт или несколько лишних «stale»-шар и списывает это на сетевой шум.
TLS срывает это сразу двумя способами: трафик зашифрован (злоумышленник не может ни прочитать его, ни чисто изменить) и сервер аутентифицирован (ваш майнер проверяет сертификат, поэтому поддельный пул посередине сразу отвергается).
Что TLS на самом деле защищает — и что нет
Шифрование часто преувеличивают, поэтому стоит быть точным.
TLS защищает:
- Имя вашего воркера и часто содержащийся в нём адрес кошелька, чтобы они не передавались открытым текстом.
- Ваши отправки шар и получаемую работу, чтобы их нельзя было прочитать, перенаправить или незаметно изменить.
- Подлинность пула через проверку сертификата — срывая попытки «человека посередине» и перехвата хешрейта.
- Вашу операционную приватность: при открытом соединении наблюдатель может вывести ваш хешрейт из трафика шар и грубо оценить заработок. TLS это скрывает.
TLS не меняет:
- Ваши шансы найти блок. Нахождение блока — чистая вероятность, определяемая хешрейтом и сложностью сети. Шифрование на неё никак не влияет.
- Ваш хешрейт или эффективность. Майнер в любом случае делает ту же работу.
- Ваши выплаты. В некастодиальном соло-пуле награды выплачиваются напрямую из coinbase блока на ваш адрес независимо от транспорта.
Что вы получаете и чего это стоит
Что вы получаете
- Приватность — производное от кошелька имя воркера и ваш хешрейт перестают быть видны в сети.
- Целостность — данные нельзя незаметно изменить между майнером и пулом.
- Аутентификация — сертификат подтверждает, что сервер действительно пул.
- Защита от кражи хешрейта — описанная выше атака перенаправления становится неосуществимой.
Чего это стоит
- Незначительные накладные расходы. TLS добавляет короткое рукопожатие при открытии соединения и тонкий слой шифрования после. Для stratum-соединения, открытого часами, это незаметно — не влияет измеримо на задержку, долю stale или нахождение блоков.
- Требование к прошивке. Ваша прошивка должна поддерживать stratum TLS/SSL. Большинство современных прошивок поддерживают; старые сборки могут нет.
- Другой порт. Эндпоинты TLS используют порт, отличный от обычных соединений, поэтому при переходе вы меняете порт.
Коротко: стоимость почти нулевая, а выгода — приватное, аутентифицированное и защищённое от подмены соединение.
Когда стоит использовать TLS?
TLS наиболее ценен, когда сеть между вами и пулом не полностью под вашим контролем:
- Публичные или общие сети — коворкинги, хостинг-площадки, Wi-Fi отелей или кампусов.
- Хостинговый / колокейшн-майнинг — ваш трафик проходит через инфраструктуру, которой вы не владеете, — именно тот сценарий, где атаки перенаправления наиболее реальны.
- Недоверенные пути провайдера — регионы или ситуации, где вы предпочитаете не полагаться на добросовестность промежуточной сети.
- Конфигурации с акцентом на приватность — если вы просто предпочитаете, чтобы имена воркеров и хешрейт не были видны.
Это менее важно в полностью доверенной домашней сети с одним пользователем — но включать его повсюду нет реального минуса, поскольку накладные расходы незначительны, а защита бесплатна.
Как включить TLS на майнере
Переключение простое и в принципе одинаково для разных прошивок. Вы меняете две вещи; всё остальное остаётся прежним:
- Протокол / переключатель. Включите опцию TLS или SSL в настройках пула вашего майнера (точная формулировка зависит от прошивки). Это заставит майнер использовать
stratum+tls://вместоstratum+tcp://. - Порт. TLS использует порт, отличный от обычного соединения. На SoloFury порт TLS — это обычный порт с «1» впереди: например,
7070у BCH становится17070. Имя хоста остаётся тем же.
Адрес кошелька, имя воркера и пароль остаются без изменений.
О совместимости прошивок: поддержка TLS добавлялась в майнинговые прошивки в разное время, поэтому убедитесь, что ваша достаточно свежая. Если в прошивке нет опции TLS/SSL, она, вероятно, выпущена до появления поддержки TLS — обновление обычно её добавляет. SoloFury использует публично доверенный сертификат, поэтому совместимые прошивки проверяют его автоматически, и вставлять ничего не нужно; некоторые прошивки с более строгой обработкой сертификатов могут вести себя иначе. Если TLS недоступен на вашем устройстве, обычный TCP остаётся полностью рабочим — просто без слоя шифрования.
Взгляд вперёд: Stratum V2
TLS решает вопросы шифрования и аутентификации для нынешнего stratum (теперь задним числом называемого Stratum V1). Планируемый преемник протокола, Stratum V2 (SV2), встраивает эти защиты на более глубоком уровне и добавляет больше.
Специфицированный в 2019 году командой, стоявшей за исходным протоколом, вместе с разработчиком Bitcoin Core, SV2 вводит три ключевых изменения: шифрованные и аутентифицированные соединения по умолчанию (отдельный переключатель TLS не нужен), компактный бинарный формат, существенно снижающий объём трафика по сравнению с многословным JSON в V1, и — самое значимое — протокол объявления заданий, позволяющий майнерам строить собственные шаблоны блоков вместо слепого хеширования того, что отправляет пул.
Для крупных операций измерено, что сочетание меньшей задержки, более быстрой доставки шаблонов и прироста эффективности SV2 повышает доходность на несколько процентов в совокупности (примечание: эта цифра относится ко всему стеку SV2, а не к шифрованию как таковому — сам по себе TLS прибыль не увеличивает). Для соло-майнеров главная выгода — та же безопасность, что TLS даёт сегодня, плюс автономия в построении собственных шаблонов.
Внедрение SV2 ещё созревает среди прошивок и пулов, и существуют прокси-трансляторы для соединения старых прошивок V1 с пулами V2. Пока что TLS поверх Stratum V1 — практичный и широко поддерживаемый способ защитить ваше соединение, и он доступен уже сегодня.
Часто задаваемые вопросы
Делает ли TLS соло-майнинг прибыльнее или улучшает мои шансы? Нет. TLS лишь защищает соединение. Ваш шанс найти блок зависит исключительно от хешрейта и сложности сети — шифрование на это не влияет.
Замедляет ли TLS майнер или увеличивает долю stale-шар? Не измеримо. Накладные расходы шифрования на долгоживущем stratum-соединении незначительны и не влияют на задержку или долю stale.
Что такое перехват хешрейта на самом деле? Это атака, при которой кто-то на вашем сетевом пути перехватывает ваши шары и перенаправляет их на свой пул, крадя награды. Работает только на нешифрованных соединениях; TLS предотвращает её, шифруя трафик и аутентифицируя пул.
Нужно ли устанавливать сертификат на майнер? На большинстве прошивок — нет. SoloFury использует публично доверенный сертификат, поэтому совместимые майнеры проверяют его автоматически — вы просто включаете переключатель TLS. Некоторые прошивки с более строгой обработкой сертификатов могут вести себя иначе, но в типичном случае вставлять ничего не нужно.
Какой порт использовать для TLS?
На SoloFury порт TLS — это обычный порт с «1» впереди (например, 7070 становится 17070). Имя хоста остаётся прежним. Мастер настройки подставляет это автоматически.
Небезопасен ли обычный TCP? «Небезопасен» — слишком сильно: он надёжно используется годами. Но он отправляет имя воркера, хешрейт и шары в читаемом виде и уязвим к перенаправлению во враждебной сети. В доверенной сети риск низок; в общих или недоверенных сетях TLS — лучший выбор.
TLS — это то же самое, что Stratum V2? Нет. TLS добавляет шифрование и аутентификацию к нынешнему Stratum V1. Stratum V2 — будущий протокол, встраивающий шифрование по умолчанию и добавляющий другие изменения, например построение шаблонов майнером. TLS доступен и широко поддерживается уже сейчас.
Можно ли переключаться между TLS и обычным TCP в любой момент? Да. Это просто разные порты одного и того же пула. Вы можете свободно переключаться без какого-либо влияния на историю майнинга или выплаты.
Дальнейшие шаги
Готовы подключиться безопасно? Перейдите в мастер настройки, выберите монету и регион и включите TLS — он построит точную конфигурацию за вас. Новичок в соло-майнинге? Начните с краткого руководства по соло-майнингу. Используете небольшое домашнее оборудование? Руководство по соло-майнингу на Bitaxe разбирает монеты с лучшими шансами. Не знаете, на какую монету направить хешрейт? Руководство по выбору монеты разбирает компромиссы.
SoloFury — это некастодиальный соло-майнинг на пяти SHA-256-монетах (BTC, BCH, BC2, BCH2, XEC) с комиссией 1%, девятью глобальными регионами и нативным TLS на каждом эндпоинте.
Часто задаваемые вопросы
Повышает ли TLS доходность соло-майнинга или мои шансы?
Нет. TLS только защищает соединение. Ваш шанс найти блок зависит исключительно от хешрейта и сложности сети — шифрование на него не влияет.
Замедляет ли TLS майнер и увеличивает ли stale-шары?
Не в измеримой степени. Накладные расходы шифрования на долгоживущем stratum-соединении пренебрежимо малы и не влияют ни на задержку, ни на долю stale.
Что именно такое перехват хешрейта?
Это атака, при которой кто-то на вашем сетевом пути перехватывает шары и перенаправляет их в свой пул, забирая награды. Она работает только на незашифрованных соединениях; TLS предотвращает её, шифруя трафик и аутентифицируя пул.
Нужно ли устанавливать сертификат на майнер?
На большинстве прошивок — нет. SoloFury использует публично доверенный сертификат, поэтому совместимые майнеры проверяют его автоматически — вы просто включаете переключатель TLS. Некоторые прошивки со строгой обработкой сертификатов могут вести себя иначе, но в обычном случае вставлять ничего не нужно.
Какой порт использовать для TLS?
В SoloFury TLS-порт — это открытый порт с единицей впереди (например, 7070 превращается в 17070). Хост остаётся тем же. Мастер настройки подставляет это автоматически.
Небезопасен ли обычный TCP?
Небезопасен — слишком сильное слово: он надёжно используется годами. Но он передаёт имя воркера, хешрейт и шары в читаемом виде и уязвим к перенаправлению во враждебной сети. В доверенной сети риск невелик; в общих или недоверенных сетях TLS — лучший выбор.
TLS — это то же самое, что Stratum V2?
Нет. TLS добавляет шифрование и аутентификацию к нынешнему Stratum V1. Stratum V2 — будущий протокол, где шифрование встроено по умолчанию и добавлены другие изменения, например построение шаблонов самим майнером. TLS доступен и широко поддерживается уже сейчас.
Можно ли в любой момент переключаться между TLS и обычным TCP?
Да. Это просто разные порты одного пула. Переключайтесь свободно — на историю майнинга и выплаты это никак не влияет.