MSTR Cat

Блокчейн/Уровень II · Механика/2.3 Блоки и цепочка/Урок 5

Корректировка сложности каждые 2016 блоков

Двухнедельный регулятор, который поддерживает ход часов

МатериалыИнтерфейс эксплорера блоков с историей сложностиКалькулятор для вычисления отношений

Любопытство

  1. Почему сеть корректирует сложность раз в две недели, а не после каждого блока?
  2. Как децентрализованная система может договориться о математической корректировке без центрального органа, который выпускал бы обновление?
  3. Что происходит со скоростью создания блоков в первые дни после резкого падения глобального хешрейта?

Исследование

  1. Модель безопасности Bitcoin опирается на устойчивый ритм — примерно один блок в десять минут. Такой темп уравновешивает окончательность транзакций с загруженностью сети и потреблением ресурсов. Однако оборудование для майнинга быстро развивается: ASIC-майнеры со временем становятся экспоненциально эффективнее. Без вмешательства при фиксированной вычислительной сложности блоки по мере роста мощности находились бы за секунды, а не за минуты. Такая нестабильность подорвала бы свойства безопасности цепочки и усложнила бы пользователям ожидания относительно времени подтверждения.
  2. Чтобы поддерживать этот ритм, в Bitcoin реализована автоматическая обратная связь — ретаргетинг (пересчёт цели). Каждые 2 016 блоков — в среднем это четырнадцать дней — каждая нода независимо пересчитывает целевое значение доказательства работы. Число 2 016 получается умножением 14 дней на 144 десятиминутных интервала в сутки. Такая частота — компромисс: она достаточно высока, чтобы реагировать на значительные изменения хешрейта, и достаточно низка, чтобы сглаживать временные колебания или аномалии в участии в сети.
  3. При расчёте фактическое время, затраченное на майнинг предыдущих 2 016 блоков, сравнивается с ожидаемыми 20 160 минутами. Формула: Новая цель = Старая цель × (Фактическое время / Целевое время). Если майнеры находили блоки в среднем быстрее чем за десять минут, фактическое время меньше, и получается дробь меньше единицы, которая снижает целевое значение и повышает сложность. И наоборот, если блоки находились дольше, целевое значение повышается, облегчая задачу. Такая пропорциональная корректировка возвращает среднее время к отметке в десять минут.
  4. Чтобы краткосрочные потрясения не вызывали чрезмерных скачков, корректировка за один цикл ограничена коэффициентом четыре в любую сторону. Как бы сильно ни изменился хешрейт, одна корректировка может максимум увеличить сложность в четыре раза или уменьшить её в четыре раза. Это ограничение снижает ущерб от искажённых временных меток и сохраняет плавность изменений во время резких рыночных событий или смены поколений оборудования.
  5. Показательный пример — июль 2021 года, после запрета майнинга криптовалют в Китае. Глобальный хешрейт резко упал, и блоки стали находиться значительно медленнее, чем раз в десять минут. Следующая корректировка стала крупнейшим снижением сложности в истории Bitcoin: сложность упала почти на 28%, отразив уменьшение вычислительной мощности. Эта быстрая корректировка вернула среднее время блока к целевому значению в пределах одного цикла, продемонстрировав, как механизм реагирует на реальные экономические и регуляторные потрясения.
  6. Между корректировками сеть работает с фиксированной сложностью. Если хешрейт меняется в течение этих двухнедельных окон, время блоков будет отклоняться от десяти минут до следующего ретаргетинга. Такое запаздывание — неизбежная плата за периодическую корректировку; некоторые другие блокчейны пересчитывают цель на каждом блоке, жертвуя присущими Bitcoin простотой и предсказуемостью ради более быстрой реакции. Пользователи и майнеры могут следить за этим циклом в любом эксплорере блоков: он показывает, сколько блоков осталось до следующей корректировки, и ожидаемое изменение в процентах исходя из текущей скорости майнинга.

Ключевые факты

  • Сложность пересчитывается каждые 2 016 блоков — примерно раз в две недели.
  • Формула корректировки масштабирует старую цель в соответствии с отношением фактически прошедшего времени к ожидаемым 20 160 минутам.
  • За один цикл сложность может измениться не более чем в четыре раза — это предотвращает экстремальные скачки.
  • Из-за ошибки на единицу (off-by-one) в исходном коде при расчёте используется 2 015 интервалов, что даёт пренебрежимо малое смещение в сторону более высокой сложности.
  • Корректировка в июле 2021 года стала крупнейшим снижением сложности в истории Bitcoin — почти 28%.
  • Каждая нода выполняет этот расчёт независимо, что обеспечивает консенсус без централизованной координации.

Упражнение девять, шесть, три, один

9СобратьПеречислите 9 прошлых корректировок сложности из истории в эксплорере блоков, указав для каждой дату и изменение в процентах.
6СгруппироватьСгруппируйте 9 значений по размеру и направлению в 6 групп: сильный рост, умеренный рост, небольшой рост, небольшой спад, умеренный спад, сильный спад.
3Выделить главноеСократите 6 категорий до 3 типов событий, вызывающих наибольшие корректировки.
1КристаллизоватьНапишите одно предложение о том, как двухнедельный цикл Bitcoin уравновешивает скорость реакции и стабильность в децентрализованной среде.

Проверка фактов

Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.

Открыть в интерактивной академии →

EN PT ES ZH JA KO DE FR MS