Перейти к содержимому
buybitcoinsmart

Глоссарий / Майнинг и консенсус

Сложность майнинга

Другие названия: Сложность, Сложность сети.

Что такое сложность майнинга?
Сложность майнинга представляет собой параметр, который сеть корректирует каждые 2016 блоков, чтобы блоки появлялись примерно раз в десять минут независимо от того, как много или как мало хешрейта поступает в сеть.

Сложность является одним числом, которое выражает, насколько труднее найти блок, чем это было для Сатоши в январе 2009 года. Она пересчитывается каждые 2016 блоков, примерно раз в две недели, исходя из того, сколько времени фактически заняли предыдущие 2016, и может измениться не более чем в четыре раза в любую сторону. Именно поэтому десятиминутные блоки пережили рост вычислительной мощности майнинга в сто триллионов раз.

Как это работает

Сложность представляет собой отношение, и протокол вычисляет ее только по отметкам времени, без какого-либо участия человека во всем процессе.

В ее основе лежит целевое значение, число из 256 бит, ниже которого должен быть хеш заголовка блока; оно хранится в заголовке в виде компактного четырехбайтового поля nBits. Сложность определяется как целевое значение сложности 1, деленное на текущее целевое значение, поэтому сложность в 126 трлн означает, что действительный заголовок встречается в 126 трлн раз реже, чем в первую неделю работы сети. Узлы на самом деле никогда не проверяют сложность; они проверяют хеш заголовка на соответствие целевому значению. Сложность существует потому, что отношение удобно для чтения, а порог из 256 бит нет.

Пересчет происходит на каждой высоте блока, кратной 2016. Узел берет время, которое это окно действительно заняло, сравнивает его с предусмотренными 20 160 минутами и масштабирует целевое значение по этому отношению с ограничением, чтобы ни одна корректировка не могла сделать его более чем в четыре раза проще или более чем в четыре раза сложнее. В расчете есть известная ошибка на единицу: интервал измеряется между первым и последним блоком окна, которое охватывает 2015 интервалов, а не 2016, поэтому сеть на самом деле ориентируется примерно на 10,0049 минуты на блок. Исправление потребовало бы хардфорка из-за ошибки округления, поэтому все остается как есть.

История показывает, что механизм работает в обоих направлениях. Сложность держалась на уровне 1 почти год, до первого пересчета на блоке 32 256 30 декабря 2009 года, когда она выросла примерно до 1,18. С тех пор она поднялась выше 120 трлн. Самое крупное падение за всю историю произошло 3 июля 2021 года, когда изгнание Китаем своей майнинговой отрасли снизило сложность на 27,94 % за один шаг, примерно с 19,93 трлн до 14,36 трлн.

Почему это важно, когда вы покупаете биткоин

Сложность является причиной того, что ваш вывод подтверждается за минуты, а не за часы, а устаревшая сложность является причиной того, что иногда этого не происходит.

Механизм корректирует только с запозданием. Если значительная доля хешрейта отключается, блоки продолжают приходить при старой сложности и на каждый уходит больше десяти минут, вплоть до следующего пересчета, до которого может оставаться целых две недели. В течение этих недель подтверждения идут медленнее, мемпул опустошается медленнее, чем заполняется, а ставки комиссий растут, потому что одно и то же пространство блоков выставляется на аукцион реже. Любой, кто выводил средства с биржи в июле 2021 года, почувствовал это напрямую. Блоки в этом окне в среднем занимали около четырнадцати минут.

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

Стоит прямо сказать о двух вещах, которых сложность не делает. Она никак не влияет на график халвинга, который считает блоки, а не время, и она не является сигналом цены. Сложность растет потому, что майнеры купили машины, которые были прибыльными несколько месяцев назад. Читать ее как прогноз означает смотреть в зеркало заднего вида.

Пересчет 3 июля 2021 года

Пересчет 3 июля 2021 года является самым наглядным подтверждением работы механизма, потому что шок был огромным, а корректировка произошла автоматически.

Китайские ограничения вывели из строя большую часть мирового парка майнингового оборудования в течение нескольких недель в середине 2021 года. Машины отправились в грузовых контейнерах в Техас, Казахстан и Парагвай, и пока они были в пути, они не вычисляли ни одного хеша. Сеть не остановилась и не попросила ни у кого помощи. Она просто производила блоки медленнее: снижение на 27,94 % подразумевает, что предыдущее окно в среднем занимало около 13,9 минуты на блок вместо десяти. При пересчете сложность упала до 14,36 трлн, десятиминутный темп вернулся в течение нескольких часов, а четыре последовательные корректировки вниз того лета вместе сняли примерно 45 % с этого числа. Корректировки в обратную сторону стерли все падение за последующие месяцы, без чьего-либо решения о том, что так должно быть.

Сложность майнинга vs корректировка сложности

Сложность майнинга является числом; корректировка сложности является событием, которое его меняет. Сложность представляет собой значение, которое остается постоянным на протяжении всей эпохи из 2016 блоков, поэтому каждый блок в этой эпохе так же труден, как и любой другой. Корректировка является пересчетом, который происходит на границе эпохи, и именно за ней следят майнеры, потому что в этот момент меняется доход на машину. Утверждение, что сложность выросла во вторник, является сокращением для утверждения, что во вторник произошла корректировка.

Сложность майнинга vs целевой порог

Сложность майнинга является удобством для людей; целевое значение является тем, что проверяет программное обеспечение. Целевое значение представляет собой фактический потолок из 256 бит, ниже которого должен быть хеш блока, и именно оно появляется в каждом заголовке блока, сжатое в поле nBits. Сложность выводится из него делением и нигде в блоке не появляется. Когда в заголовке говорится, что сложность выросла на 5 %, лежащее в основе изменение состоит в том, что целевое значение становится примерно на 5 % меньше, и каждому майнеру на земле тихо требуется примерно на 5 % больше попыток на блок.

Не путать с

Часто задаваемые вопросы

Означает ли более высокая сложность, что моя транзакция подтверждается медленнее?

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

Может ли сложность снижаться?

Да, и это происходило резко. Самое крупное разовое снижение составило 27,94 процента 3 июля 2021 года, после того как Китай изгнал свою майнинговую отрасль, и одна корректировка в принципе может сделать майнинг в четыре раза проще.

Кто решает, какой должна быть сложность?

Никто. Каждый узел вычисляет одно и то же значение по временным меткам предыдущих 2016 блоков с помощью одинаковой арифметики, а блок с неверной сложностью отклоняется. Здесь нет ни комитета, ни голосования, ни возможности отмены.

Читайте далее

Связанные термины

Еще в разделе «Майнинг и консенсус»

Читать эту страницу на английском