Два сигнала с двух разных уровней
Когда в работе майнинга что-то выглядит нештатно, часто смешивают два разных вида информации: растущий счётчик аппаратных ошибок на плате управления майнера и растущее число отклонённых шар на панели управления пула. Это связанные между собой явления, но они формируются на разных уровнях процесса майнинга и измеряют не одно и то же.
Аппаратная ошибка — это телеметрия со стороны майнера: состояние, о котором сообщает ASIC, его плата управления или прошивка. Отклонённая шара — это результат валидации на стороне пула: решение, которое пул принимает в отношении конкретного переданного задания. Если воспринимать одно как доказательство другого, оператор может заменить хешборд, когда реальная проблема — в перегруженном сетевом канале, либо, наоборот, проигнорировать настоящую неисправность чипа только потому, что панель пула выглядит без отклонений.
В этой статье мы разделяем эти два сигнала, объясняем, что надёжно показывает каждый из них, и приводим практический порядок проверки на случай, когда аномальным выглядит только один из двух показателей.
Что на самом деле показывают аппаратные ошибки ASIC
На большинстве ASIC-майнеров интерфейс состояния выводит счётчик аппаратных ошибок (обычно обозначается как HW или HW errors) наряду с такими полями, как статус ASIC, количество обнаруженных чипов на каждом хешборде и заявленный хешрейт. В документации Bitmain по своей странице состояния эти поля определены отдельно: HW отражает аппаратные ошибки или ошибки вычислений, о которых сообщает майнер; статус ASIC «0» означает нормальный чип, а ненулевое значение или «X» может означать неработающий чип, при этом отдельное поле показывает число рабочих чипов, обнаруженных на хешборде (Bitmain Support).
Сам по себе растущий счётчик HW-ошибок не является однозначным доказательством аппаратной неисправности. Bitmain отмечает, что некоторые аппаратные ошибки могут возникать при нормальной работе на полной вычислительной мощности и могут быть исправлены внутренними механизмами без прерывания хеширования. Счётчик, который медленно растёт на фоне стабильного локального хешрейта, полного числа чипов и нормальных температур, как правило, является более слабым сигналом, чем сочетание сразу нескольких показателей: падение локального хешрейта, хешборд, сообщающий о меньшем числе чипов, чем ожидается, повторяющиеся срабатывания тепловой защиты, неисправности вентиляторов или блока питания, либо запись в логе устройства о невозможности обнаружить чипы на плате. Такое сочетание указывает на проблему уровня устройства, которую стоит выявлять через собственные диагностические логи майнера, а не через данные пула.
Поскольку счётчики HW-ошибок, порядок их сброса и их точное значение определяются прошивкой каждого производителя, их не следует сравнивать между разными моделями ASIC, как если бы это была единая стандартизированная метрика.
Что на самом деле показывают отклонённые шары
При пуловом майнинге майнер не отправляет пулу завершённые блоки — он отправляет шары (shares): результаты proof-of-work, которые соответствуют целевому показателю шары пула. Целевой показатель шары пула устанавливается численно выше, чем целевой показатель блока сети Bitcoin, что делает его легче выполнимым и соответствует более низкой сложности, чем нахождение реального блока; шары позволяют пулу измерять, какой объём работы вносит каждый майнер между блоками (Bitcoin Developer Guide).
Отклонённая шара — это общий (зонтичный) термин для любой переданной шары, которую пул не принимает. Конкретная причина обычно относится к одной из нескольких подкатегорий, а не является синонимом самого термина «отклонённая шара»:
- Устаревшая шара (stale share) — работа, которая была действительна для более раннего задания по майнингу, но поступила уже после того, как это задание перестало быть актуальным.
- Недействительная шара (invalid share) — переданные данные, не прошедшие проверки валидации пула.
- Дублирующаяся шара (duplicate share) — одна и та же шара, отправленная более одного раза.
Bitmain описывает коэффициент отклонения (rejection rate) майнинг-пула как отношение данных, отклонённых пулом, к общему объёму данных, отправленных майнером, и указывает на нестабильность сети как основную причину повышенного значения этого показателя (Bitmain Support). Это важно для диагностики: скопление устаревших (stale) шар чаще всего отражает условия синхронизации по времени или проблемы соединения между майнером и узлом пула, а не неисправность на уровне чипа. Невалидные (invalid) шары, напротив, иногда возникают из-за нестабильных настроек майнинга, проблем с прошивкой или непостоянного электропитания — условий, которые также влияют на поведение оборудования, — поэтому рост числа невалидных шар является более обоснованным (хотя всё ещё не окончательным) поводом проверить само устройство.
Если пул сообщает количество принятых и отклонённых шар за один и тот же период, можно рассчитать «сырой» процент отклонения следующим образом:
Rejected share count ÷ (Accepted share count + Rejected share count) × 100
Это значение имеет смысл только тогда, когда количество принятых и отклонённых шар относится к одному и тому же временному окну и к одной и той же настройке сложности шары (share difficulty); если сложность шары менялась в течение периода, «сырые» значения перестают отражать сопоставимые объёмы работы. Также этот результат не следует воспринимать как прямой процент потерянного дохода в BTC, поскольку доход зависит от фактически принятой работы, метода расчёта выплат пулом и момента нахождения блоков, а не от простого соотношения шар.
Почему два сигнала путают между собой
Путаница между аппаратными ошибками и отклонёнными шарами обычно возникает из-за двух привычек: предположения, что любой красный индикатор на любом экране означает одну и ту же проблему, и сравнения чисел, измеренных за разные промежутки времени или разными системами. Локальный дисплей майнера сообщает о том, что наблюдало само устройство — состояние собственных чипов, собственные счётчики ошибок, собственный расчётный хешрейт. Панель пула сообщает о том, что наблюдал пул по полученным шарам — это зависит от того, что выдаёт майнер, но также от состояния сетевого маршрута, интервала отчётности и собственной логики валидации пула.
Эти два показателя могут меняться синхронно, когда реальная аппаратная проблема заставляет майнер выдавать нестабильную или невалидную работу, которую пул затем отклоняет. Но они также могут меняться независимо друг от друга: полностью исправный ASIC может показывать высокий уровень устаревших (stale) шар из-за перегруженного или удалённого узла пула, а майнер с ранними признаками аппаратной нестабильности может по-прежнему показывать ничем не примечательный коэффициент отклонения, если пул ещё не получил достаточно затронутых отправок, чтобы паттерн стал заметен.
Практический подход к диагностике
Вместо того чтобы реагировать на какой-либо из показателей отдельно, полезно считывать конкретный сигнал и сверять его с небольшим набором вопросов, прежде чем делать вывод о том, в чём проблема.
Если счётчик аппаратных ошибок растёт, проверьте, остаются ли стабильными локальный хешрейт, количество чипов и температура. Если да, то сам по себе счётчик является более слабым доказательством неисправности. Если локальный хешрейт падает, чипы отсутствуют, либо также регистрируются тепловые сбои или сбои вентиляторов, устройство заслуживает более тщательной проверки, начиная с собственных логов майнера.
Если число отклонённых шар растёт, проверьте, какая подкатегория преобладает. Паттерн, сосредоточенный на устаревших (stale) шарах, в первую очередь указывает на путь соединения — выбранный узел пула, маршрутизацию или поведение при переподключении — а не на хешборды. Паттерн, сосредоточенный на невалидных (invalid) шарах, является более обоснованным поводом проверить недавние изменения прошивки или настроек, стабильность питания и охлаждение, наряду с собственными логами ошибок устройства.
В любом случае убедитесь, затрагивает ли паттерн одного воркера или многих воркеров, подключённых через один и тот же путь. Проблема, изолированная на одном устройстве, указывает на это устройство; проблема, затрагивающая одновременно несколько независимых друг от друга майнеров, указывает на общий элемент, такой как сетевое соединение или узел пула.
Почему показатели локального хешрейта и хешрейта на пуле могут расходиться
Еще один источник путаницы — несовпадение хешрейта, отображаемого на дисплее майнера, и хешрейта, показываемого в панели пула. Это не взаимозаменяемые величины: локальный хешрейт — это оценка, формируемая самим устройством с использованием собственного метода обновления и усреднения производителя, тогда как хешрейт пула — это оценка, рассчитанная на основе шар, которые пул фактически получил за указанный промежуток времени.
Например, панель ViaBTC рассчитывает хешрейт в реальном времени как скользящее среднее за предыдущие 10 минут, а дневной хешрейт — как скользящее среднее за предыдущие 24 часа (ViaBTC). После перезагрузки или кратковременного отключения локальный хешрейт майнера может вернуться к норме в течение нескольких минут, в то время как суточный показатель пула может оставаться заниженным дольше — просто потому, что предыдущий простой все еще находится внутри этого скользящего окна. Это эффект измерительного окна, а не самостоятельное доказательство аппаратной ошибки или проблемы на стороне пула, и его следует проверять, сравнивая показатели за совпадающие периоды времени, прежде чем рассматривать любой из этих сигналов как подтверждение неисправности.
Заключение
Счетчик аппаратных ошибок и количество отклоненных шар отвечают на разные вопросы: один описывает то, о чем сообщил сам ASIC, другой — то, что пул решил относительно отправленной работы. Изучение конкретной причины отклонения, проверка того, сопровождается ли аппаратный сигнал другими симптомами на уровне устройства, и согласование измерительных окон перед сравнением показателей, как правило, дают более точную диагностику, чем трактовка любого красного индикатора как одного и того же типа неисправности.
Часто задаваемые вопросы
Всегда ли рост счетчика аппаратных ошибок (HW-error) означает выход хешборда из строя?
Не обязательно. Некоторые аппаратные ошибки могут возникать при нормальной работе и корректироваться без прерывания хеширования. Устойчивый рост, сопровождающийся падением локального хешрейта, отсутствующими чипами или тепловыми и вентиляторными неисправностями, является более убедительным доказательством реальной проблемы устройства, чем один лишь счетчик.
Являются ли устаревшие (stale), недействительные (invalid) и дублирующиеся (duplicate) шары тремя равнозначными типами проблем?
Все они являются подкатегориями более широкого результата «отклоненная шара», а не отдельными равноправными метриками. Каждая указывает на свою вероятную причину: устаревшие шары — на проблемы со временем или соединением, недействительные шары — на возможную нестабильность оборудования или конфигурации, а дублирующиеся шары — на повторные отправки, связанные с поведением программного обеспечения или соединения.
Могу ли я использовать процент отклонения для оценки упущенного дохода от майнинга?
Необработанный процент отклонения, рассчитанный на основе сопоставления количества принятых и отклоненных шар за один и тот же период, описывает долю отправленной работы, которую пул не принял. Это не стандартизированный показатель потери дохода, поскольку фактические выплаты зависят от учета на пуле, сложности шары и времени нахождения блока, а не только от необработанного соотношения.
Почему на экране моего майнера отображается хешрейт, отличающийся от показанного в панели пула?
Эти два источника используют разные методы измерения и временные окна. Локальный дисплей майнера — это оценка, предоставляемая устройством, тогда как панель пула отражает шары, фактически полученные за указанный скользящий период. Различия скорее являются эффектом окна отчетности, чем свидетельством аппаратной неисправности или неисправности пула, особенно после недавней перезагрузки.
Источники
- Bitcoin Developer Guide, «Mining» — https://developer.bitcoin.org/devguide/mining.html
- Bitmain Support, «Miner Status Page Explained» — https://support.bitmain.com/hc/en-us/articles/360013577314-Miner-Status-Page-Explained
- Bitmain Support, «The Rejection Rate of Mining Pools» — https://support.bitmain.com/hc/en-us/articles/5220664696473-The-rejection-rate-of-mining-pools
- ViaBTC, «Mining Pool with Real-Time Hashrate Monitoring: Understanding Measurement Windows and Latency Effects» — https://www.viabtc.com/en/blog/Mining-mining-pool-with-real-time-hashrate-monitoring-understanding-measurement-windows-and-latency-effects-941


