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

Анализ уязвимости атаки временного искажения в протоколе Биткойн

26 марта 2025 года разработчики Биткойна предложили новую инициативу по софт-форку, направленную на исправление нескольких долгосрочных уязвимостей и слабостей в протоколе Биткойна. Одна из более серьезных уязвимостей называется "атака на искажение времени", что является темой, которую мы будем глубже исследовать в данной статье.

Биткойн блок временная метка защита механизм

Перед обсуждением атак временного искажения, нам необходимо понять текущие правила защиты от манипуляций временем в сети Биткойн:

  1. Правило среднего времени (MPT): временная метка блока должна быть позже среднего времени предыдущих одиннадцати блоков.

  2. Правила времени блока в будущем: временная метка блока не может опережать медианное время сетевых узлов более чем на 2 часа. Максимально допустимая разница между временем узла и местными системными часами составляет 90 минут.

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

Биткойн безопасность уязвимость: атака временного искажения

Небольшие ошибки в алгоритме регулировки сложности

Период настройки сложности Биткойна включает в себя 2016 блоков, что при целевом времени создания блока в 10 минут составляет примерно две недели. При расчете настройки сложности майнинга Протокол вычисляет разницу временных меток между первым и последним блоками в окне из 2016 блоков. Это окно фактически включает 2015 интервалов блоков (2016 минус 1). Таким образом, теоретически используемое целевое время должно составлять 60 секунд × 10 минут × 2015 интервалов = 1,209,000 секунд.

Однако, Протокол Биткойн использует число 2016 в расчетах. 60 секунд × 10 минут × 2016 = 1,209,600 секунд. Это приводит к тому, что целевое время больше фактически необходимого времени на 0.05%. Иными словами, фактический целевой интервал блоков Биткойн составляет не 10 минут, а 10 минут и 0.3 секунды.

Эта небольшая разница незначительна в реальной эксплуатации. На самом деле, с момента появления Биткойна средний интервал между блоками оставался примерно 9 минут 36 секунд, что значительно ниже 10 минут. Это связано с тем, что с 2009 года вычислительная мощность сети постоянно растет. Именно по этой причине недавнее событие деления произошло раньше, чем ожидалось, в апреле 2024 года, а не в январе 2025 года.

Биткойн безопасность уязвимость: атака временного искажения

Принцип атаки с искажением времени

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

Этапы атаки следующие:

  1. Для большинства блоков злоумышленник устанавливает временную метку на 1 секунду раньше, чем у предыдущего блока.
  2. Чтобы как можно медленнее продвигать время, атакующий может сохранять одинаковую метку времени в течение 6 последовательных блоков, а затем увеличить ее на 1 секунду в 7-м блоке, и так циклично.
  3. В последнем блоке каждого периода настройки сложности злоумышленник устанавливает временную метку на реальное время в мире.
  4. Временная метка первого блока следующего периода сложности устанавливается на время в прошлом, на 1 секунду раньше, чем предпоследний блок предыдущего периода.

Данная операция соответствует правилам MPT, так как отдельное аномальное значение не влияет на медиану 11 блоков. Таким образом, время блокчейна постепенно отстает от реального времени, что приводит к снижению сложности. Злоумышленники могут быстро создавать большое количество блоков после значительного снижения сложности и получать большое количество Биткойн.

Биткойн безопасность уязвимости: атака временного искажения

Возможность атаки и вызовы

Хотя теоретически такая атака разрушительна, ее реализация сталкивается с некоторыми трудностями:

  1. Возможно, потребуется контролировать большую часть вычислительной мощности сети.
  2. Наличие честных майнеров увеличивает сложность атак.
  3. Правила MTP и честные временные метки будут ограничивать степень ретроспекции злонамеренных временных меток.
  4. Если честный майнер сгенерирует первый блок любого периода корректировки сложности, атака в этом периоде будет неэффективной.
  5. Процесс атаки является открытым и видимым, что может вызвать экстренное исправление через мягкий форк.

Биткойн безопасность уязвимости: атака временного искажения

Потенциальные решения

Существует несколько возможных способов исправления этой уязвимости:

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

  2. Отменить правила MTP, требуя, чтобы время всегда двигалось вперед в каждом блоке. Но это может привести к тому, что время застрянет в далеком будущем.

  3. Введение новых правил: требуется, чтобы время первого блока нового периода сложности не было ранее определенного времени перед последним блоком предыдущего периода. Обсуждаемый диапазон времени составляет от 10 минут до 2 часов.

В последнем предложении разработчики склоняются к установлению лимита в 2 часа. Этот период составляет всего 0,6% от целевого времени цикла корректировки сложности, что может эффективно ограничить пространство для манипуляций со сложностью.

Биткойн безопасность уязвимости: атака временного искажения

Вывод

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

BTC1.98%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
NFTArchaeologisvip
· 07-11 18:01
Как будто из другого мира, электронные артефакты фиксируют шаги Блока и следы интеллектуальной эволюции…
Посмотреть ОригиналОтветить0
LootboxPhobiavip
· 07-11 09:28
Уязвимости исправлены, рост будет стабильным.
Посмотреть ОригиналОтветить0
TheShibaWhisperervip
· 07-11 09:27
Даже собаки знают, что это большое обновление, уже все в курсе.
Посмотреть ОригиналОтветить0
ChainWanderingPoetvip
· 07-11 09:23
Это не значит, что нужно менять алгоритм сложности? Похоже, нам снова предстоит немного повозиться~
Посмотреть ОригиналОтветить0
SingleForYearsvip
· 07-11 09:17
Этот сломанный уязвимость исправляется столько лет
Посмотреть ОригиналОтветить0
  • Закрепить