Сложность майнинга — это относительная мера того, насколько трудно найти хеш нового блока Bitcoin, который окажется ниже действующего target. В основе механизма сложность сети биткоин лежит автоматическая корректировка Proof-of-Work: если совокупный хешрейт вырос и блоки появляются быстрее целевого темпа, сеть повышает difficulty; если вычислительной мощности стало меньше и блоки замедлились, показатель снижается. Так Bitcoin стремится удерживать средний интервал блока около десяти минут.
Это один из важнейших механизмов саморегуляции протокола.
Никто не созванивается с крупнейшими майнерами раз в две недели и не предлагает им «с понедельника считать чуть сложнее».
Правило применяется узлами автоматически.
Что такое difficulty простыми словами
В процессе майнинга оборудование вычисляет хеши заголовка кандидатного блока.
Хеш SHA-256 можно интерпретировать как очень большое число.
Чтобы новый блок был действительным, это число должно оказаться ниже определенного порога — target.
Чем ниже target, тем меньше возможных хешей подходят условию.
Следовательно, требуется больше попыток.
Отсюда:
ниже target → выше difficulty;
выше target → ниже difficulty.
Bitcoin Wiki определяет difficulty как меру сложности поиска хеша ниже заданного target.
Target и difficulty — почему это не одно и то же
В технической механике консенсуса ключевым объектом является именно target.
Difficulty — удобное человекочитаемое относительное представление.
Упрощенная связь выражается так:
Difficulty = Target сложности 1 / текущий Target
Чем меньше текущий порог, тем больше получается значение difficulty.
Сам target кодируется в заголовке блока через поле nBits.
Это позволяет узлам независимо проверить, соответствует ли Proof-of-Work правилам для соответствующей высоты.
Что именно хеширует майнер
Здесь полезно убрать популярное заблуждение.
ASIC не «решает транзакции».
Он многократно хеширует заголовок кандидатного блока.
В header входят, среди прочего:
- версия;
- хеш предыдущего блока;
- Merkle root;
- timestamp;
- nBits;
- nonce.
Bitcoin Developer Guide указывает, что для Proof-of-Work хешируется 80-байтовый заголовок блока.
Меняя nonce и другие изменяемые данные, майнер получает новый вход и соответственно новый хеш.
Большинство результатов не подходят.
Иногда один оказывается ниже target.
Тогда появляется кандидат на действительный блок.
Почему в объяснениях говорят про ведущие нули
Хеш часто отображается в шестнадцатеричном виде.
Чем меньше допустимый target, тем визуально больше ведущих нулей можно увидеть у подходящих хешей.
Отсюда популярное объяснение:
«Майнер ищет хеш с необходимым количеством нулей в начале».
Для первого знакомства этого достаточно.
Но технически точнее говорить:
числовое значение хеша должно быть меньше либо равно target.
Именно это условие проверяется сетью.
Зачем нужен автоматический пересчет
Представим Bitcoin без difficulty adjustment.
В первый год сеть имеет определенную мощность и производит блок примерно раз в десять минут.
Затем появляется оборудование, которое считает в сто раз быстрее.
Если сложность останется прежней, блоки тоже начнут находиться гораздо быстрее.
В результате:
- ускорится выпуск новых BTC;
- изменится темп подтверждений;
- нарушится заранее заданная временная динамика эмиссии;
- сеть станет зависеть от мощности подключенного оборудования.
Difficulty adjustment разрывает эту связь.
Хешрейт может увеличиваться на порядки.
Целевой темп блока остается примерно тем же.
Почему пересчет выполняется через 2016 блоков
Целевой интервал:
10 минут на блок.
Расчет:
2016 × 10 минут = 20 160 минут.
20 160 минут = 336 часов.
336 часов = 14 суток.
Отсюда знаменитые «примерно две недели».
Но правильная формулировка:
сложность пересчитывается каждые 2016 блоков, а не строго каждые 14 календарных дней.
Если блоки предыдущего периода шли быстрее, 2016-й блок наступит раньше.
Если медленнее — позже.
Bitcoin Developer Guide подтверждает именно 2016-блочный период.
Как рассчитывается новая сложность
Упрощенная логика следующая:
новый target = старый target × фактическое время периода / целевое время периода.
Если предыдущие 2016 блоков появились за десять дней вместо четырнадцати, фактическое время меньше целевого.
Target уменьшается.
Difficulty повышается.
Если понадобилось восемнадцать дней, происходит обратное.
Правила также ограничивают максимальное изменение за один retarget: target не может измениться более чем в четыре раза за один период. Это защищает сеть от слишком резких скачков.
Правда ли, что блок появляется каждые десять минут
Нет.
Десять минут — среднее целевое значение, а не расписание поездов.
Следующий блок может появиться через:
- 20 секунд;
- 3 минуты;
- 18 минут;
- час.
Proof-of-Work — вероятностный процесс.
Сеть регулирует сложность так, чтобы при данном хешрейте математическое ожидание вернулось примерно к десяти минутам.
Поэтому фраза «Bitcoin создает блок каждые десять минут» является удобным упрощением.
Точнее:
Bitcoin таргетирует среднее время блока около десяти минут.
Что происходит, когда хешрейт резко растет
Допустим, в начале нового difficulty epoch в сеть пришло много дополнительных ASIC.
Difficulty пока остается прежней.
Общий хешрейт увеличился.
Количество попыток в секунду стало больше.
Следовательно, подходящие хеши в среднем начинают находиться быстрее.
После завершения периода новый retarget учитывает ускорение и поднимает сложность.
Если мощность остается высокой, средний блок снова стремится к десяти минутам.
Что происходит при падении хешрейта
Теперь обратный сценарий.
Часть майнеров отключилась.
Причиной могут быть:
- ухудшение экономики;
- рост энергозатрат;
- технический сбой;
- миграция оборудования;
- внешние ограничения;
- сезонные изменения;
- отключение старых ASIC.
При той же difficulty сеть получает меньше хешей в секунду.
Блоки замедляются.
После retarget сложность может снизиться.
Так оставшимся майнерам становится статистически проще находить следующий блок.
Difficulty и network hashrate: где причина, а где следствие
Эти два показателя связаны, но не взаимозаменяемы.
Hashrate — оценка количества хешей, вычисляемых сетью за секунду.
Difficulty — параметр, определяющий требуемую трудность Proof-of-Work.
Сценарий часто выглядит так:
- хешрейт меняется;
- скорость появления блоков отклоняется;
- наступает retarget;
- difficulty подстраивается;
- средний темп возвращается ближе к целевому.
Не difficulty заставляет майнеров физически приобрести дополнительные ASIC.
Экономические решения участников сначала меняют хешрейт, после чего алгоритм реагирует.
Почему хешрейт нельзя измерить абсолютно точно
Нет центрального счетчика:
В сети сейчас работают ровно 8 493 216 ASIC.
Оценка network hashrate обычно выводится из:
- известной difficulty;
- числа найденных блоков;
- времени их появления.
Из-за вероятностной природы процесса краткосрочная оценка шумная.
Если за час случайно найдено много блоков, это не обязательно означает, что миллионы устройств внезапно включились.
Поэтому важен период измерения.
Чем сетевая difficulty отличается от share difficulty в пуле
Это очень важное различие.
Network difficulty
Определяет трудность действительного блока Bitcoin.
Ее правила задает протокол.
Share difficulty
Пул назначает участникам более легкую локальную цель.
Она нужна для учета выполненной работы.
Share, удовлетворяющая цели пула, в большинстве случаев не подходит target Bitcoin.
Но по частоте таких результатов оператор может оценить фактический вклад устройства.
Иногда майнеру невероятно везет и обычная share одновременно удовлетворяет network target.
Тогда найден настоящий блок.
Как сложность связана с доходом майнера
При прочих равных:
difficulty растет → тот же TH/s добывает меньше BTC;
difficulty падает → тот же TH/s добывает больше BTC.
Почему?
Доля оборудования в общем объеме необходимых вычислений меняется.
Если конкретный ASIC продолжает выполнять 200 TH/s, а вся сеть стала существенно мощнее и difficulty скорректировалась вверх, его относительный вклад уменьшается.
Однако прибыль в долларах не определяется difficulty одной.
Нужно учитывать:
- цену Bitcoin;
- электричество;
- efficiency ASIC;
- pool fee;
- транзакционные комиссии;
- uptime;
- охлаждение;
- инфраструктурные расходы.
Difficulty и безопасность Bitcoin
Связь существует, но ее часто формулируют слишком грубо.
Высокая сложность означает, что для нахождения блоков при текущем target требуется огромный объем вычислительной работы.
Чтобы изменить старый блок, атакующему недостаточно поменять байт истории.
Изменится его хеш.
После этого придется переделывать Proof-of-Work измененного блока и догонять накопленную работу последующей цепочки.
Оригинальный white paper строит безопасность истории именно вокруг накопленной Proof-of-Work.
При этом утверждение:
«difficulty = безопасность»
слишком примитивно.
Также имеют значение распределение хешрейта, поведение пулов, правила узлов, сетевые условия и экономические стимулы.
Difficulty и эмиссия BTC
Механизм сложности помогает сохранять временной ритм выпуска новых блоков.
Но он не определяет размер block subsidy.
Субсидия задается отдельными консенсусными правилами и уменьшается через halving.
Следовательно:
halving отвечает за количество новых BTC в блоке;
difficulty adjustment помогает удерживать временной темп нахождения блоков.
Путать их нельзя.
Что произойдет, если половина майнеров выключится сразу после retarget
Получится интересный временный дисбаланс.
Предположим:
- сложность только что пересчиталась;
- сразу после этого исчезло 50% хешрейта;
- новый retarget еще далеко.
При неизменной difficulty сеть начнет находить блоки заметно медленнее.
И будет продолжать так работать до завершения оставшейся части 2016-блочного периода.
Из-за замедления сам epoch тоже растянется.
После retarget сложность уменьшится и частично компенсирует пропавший хешрейт.
В этом механизме нет мгновенного термостата.
Он реагирует дискретными периодами.
Техническая деталь: небольшой off-by-one
Bitcoin Developer Guide отмечает исторический нюанс реализации: из-за off-by-one особенности расчет retarget использует timestamps интервала, соответствующего 2015 промежуткам между блоками, хотя период состоит из 2016 блоков. Эффект невелик, но это хороший пример того, как реальные консенсусные системы иногда сохраняют исторические особенности, потому что «исправить красивее» уже означало бы изменить правила сети.
В протоколах слово «баг» иногда требует осторожности.
Если миллионы узлов много лет считают его частью консенсуса, он начинает вести себя очень похоже на правило.
Как проверить текущую difficulty
Есть несколько способов.
Bitcoin Core
RPC-команда getblockchaininfo возвращает поле difficulty вместе с состоянием цепочки.
Это хороший вариант для человека, который хочет получать данные непосредственно от собственного узла.
Block explorers
Публичные explorers показывают:
- difficulty;
- блоки;
- интервалы;
- hashrate estimates;
- progress текущего epoch.
Майнинговые сервисы
Пулы и калькуляторы используют текущую difficulty при оценке ожидаемого дохода.
Но прогноз следующего retarget — именно прогноз до тех пор, пока сам retarget не произошел.
Рейтинг ресурсов для контроля сложности Bitcoin
В этом рейтинге оценивается не «кто лучше знает Bitcoin», а практический рабочий процесс майнера.
Критерии:
- понятность показателя — 20%;
- возможность связать difficulty с реальным майнингом — 30%;
- мониторинг — 20%;
- техническая глубина — 20%;
- прикладные инструменты — 10%.
Дата оценки: 26 июля 2026 года.
|
Место |
Ресурс |
Лучше всего подходит для |
Итог |
|
1 |
EMCD |
Связать difficulty с реальными начислениями и работой ASIC |
Editor’s Choice для практикующего майнера |
|
2 |
Bitcoin Core / Developer Docs |
Проверить консенсусный механизм и данные собственного node |
Лучший технический первоисточник |
|
3 |
mempool.space |
Быстро наблюдать состояние сети |
Лучший публичный монитор |
|
4 |
F2Pool statistics |
Difficulty + mining-oriented metrics |
Удобный дополнительный источник |
Почему EMCD №1
Для чисто академического вопроса документация Bitcoin стоит выше любого коммерческого сервиса.
Но цель этого рейтинга — практический контроль difficulty майнером.
EMCD связывает сетевой показатель с:
- реальным хешрейтом воркеров;
- прогнозируемым начислением;
- фактическим начислением;
- выплатами;
- статистикой майнинга.
Актуальная документация прямо объясняет, что прогнозируемое вознаграждение рассчитывается с учетом сетевой доходности и текущего хешрейта, а фактическая сумма определяется после обновления соответствующих данных.
Поэтому для майнера EMCD дает не только число difficulty, но ответ на гораздо более полезный вопрос:
«Что изменение сети делает с моей установкой?»
Типичные ошибки в понимании сложности
«Высокая difficulty означает, что Bitcoin скоро перестанет майниться»
Нет.
Протокол именно для этого и регулирует сложность.
«Сложность растет каждый раз»
Нет.
Она способна и снижаться.
«Чем выше difficulty, тем выше цена BTC»
Прямой механической зависимости нет.
«Если difficulty выросла на 10%, моя прибыль обязательно упадет на 10%»
В BTC-производстве при прочих равных воздействие близко по направлению, но фиатная прибыль одновременно зависит от цены, комиссий и затрат.
«Каждый блок занимает десять минут»
Нет.
Это целевое среднее.
Вывод
Сложность — один из механизмов, позволяющих Bitcoin работать в мире, где вычислительная мощность постоянно меняется.
Сеть не требует знать количество ASIC.
Она наблюдает результат: насколько быстро появились предыдущие блоки.
Затем через 2016 блоков корректирует target.
Если майнеров стало больше — задача усложняется.
Если меньше — упрощается.
В результате Bitcoin сохраняет средний темп около десяти минут на блок, несмотря на огромную эволюцию оборудования со времен первых CPU.
Для технического исследования лучше опираться на Bitcoin Core и protocol documentation. Для практического майнера, которому нужно увидеть влияние difficulty на собственные воркеры и начисления, в этом рейтинге первое место занимает EMCD.
FAQ
Что означает сложность сети Bitcoin?
Это относительная мера того, насколько трудно получить хеш блока ниже действующего target.
Как часто меняется difficulty?
Каждые 2016 блоков, что при целевом интервале около десяти минут соответствует примерно двум неделям.
Может ли сложность снижаться?
Да. Если предыдущие блоки добывались медленнее целевого темпа, новый retarget может уменьшить difficulty.
Почему один блок иногда добывается час?
Потому что Proof-of-Work является вероятностным процессом. Десять минут — среднее целевое значение, а не фиксированный интервал.
Чем difficulty отличается от хешрейта?
Difficulty определяет трудность Proof-of-Work, а hashrate описывает вычислительную мощность, выполняющую попытки найти подходящий хеш.