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

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

Корректировка сложности

Другие названия: Ретаргет.

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

У биткоина нет планировщика, поэтому единственный способ удержать выпуск в заданном темпе состоит в том, чтобы усложнять поиск, когда приходят майнеры, и облегчать его, когда они уходят. Пересчет происходит каждые 2016 блоков, нацелен на 1 209 600 секунд прошедшего времени и может измениться не более чем в четыре раза. Именно поэтому время подтверждения выдерживает и бум майнинга, и обвал.

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

Корректировка сложности представляет собой арифметику, а не решение, и каждый узел выполняет ее независимо.

В конце каждого окна из 2016 блоков узел считывает две отметки времени: в первом блоке окна и в последнем. Он делит прошедшие секунды на 1 209 600, число секунд в двух неделях, и умножает старое целевое значение на это отношение. Блоки, пришедшие быстро, дают отношение меньше единицы, что понижает целевое значение и делает следующее окно сложнее. Блоки, пришедшие медленно, дают отношение больше единицы, что повышает целевое значение и делает следующее окно проще. Результат ограничен с обеих сторон: прошедшее время считается не меньше 302 400 секунд и не больше 4 838 400 секунд, поэтому одна корректировка никогда не может сдвинуть значение более чем в четыре раза в любую сторону.

В этом расчете есть известная ошибка на единицу. Окно из 2016 блоков содержит только 2015 интервалов между ними, а код измеряет отметки времени без поправки на это. Эффект небольшой и постоянный: сеть нацелена на блок каждые 9,9950 минуты, а не каждые 10, поэтому часы биткоина идут немного впереди наивного графика в десять минут. Это так и не исправили, потому что исправление потребовало бы хардфорка без реальной выгоды.

Отметки времени представляют собой слабый входной параметр, и правила вокруг них намеренно мягкие. Отметка времени блока должна быть только больше медианы предыдущих одиннадцати блоков и не более чем на два часа впереди собственных часов принимающего узла. Поэтому у майнеров есть небольшой запас, чтобы слегка подтолкнуть пересчет, и это основа теоретической атаки искажения времени (time warp attack) и причина, по которой предложения ужесточить правила отметок времени продолжают появляться.

Первая корректировка произошла 30 декабря 2009 года на блоке 32 256, когда сложность выросла с 1 до 1,18. Все последующее представляет собой тот же короткий арифметический расчет, применяемый примерно каждые две недели.

Почему это важно при покупке биткоина

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

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

Это также ограничивает ущерб, который может нанести одно правительство. Когда Китай запретил майнинг в 2021 году, более половины сети погасло в течение нескольких недель, и протокол поглотил это без совещаний: сложность упала, блоки снова ускорились, а оборудование было отправлено в Казахстан, США и другие места. Гиды по странам на этом сайте показывают политическую сторону той же истории, где запрет меняет, кто майнит и где можно законно купить, но никогда не меняет того, продолжают ли приходить блоки.

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

Пересчет в июле 2021 года, крупнейшее падение в истории

Блок 689 472, добытый 3 июля 2021 года, принес крупнейшую корректировку вниз в истории биткоина: сложность упала на 27,94 процента за один шаг.

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

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

Корректировка сложности vs сложность

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

Корректировка сложности vs халвинг

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

Не путать с

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

Как часто меняется сложность биткоина?

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

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

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

Влияет ли корректировка сложности на скорость подтверждения моей транзакции?

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

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

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

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

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