Биткойн временные искажения атаки: скрытые уязвимости и решения по их исправлению

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

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

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

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

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

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

  2. Правила будущего времени блока: на основе константы MAX_FUTURE_BLOCK_TIME временная метка блока не может опережать медианное время в сети более чем на 2 часа. Допустимое максимальное отклонение между временем узла и локальными системными часами составляет 90 минут, что является еще одной гарантией.

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

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

Ошибка Сатоши "не хватает одного"

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

Эта ошибка приводит к тому, что целевое время превышает положенные 0,05%. На самом деле, целевой интервал между блоками Биткойна не 10 минут, а 10 минут и 0,3 секунды. Эта небольшая разница почти не имеет значения в повседневной работе, особенно учитывая, что с 2009 года из-за постоянного роста вычислительной мощности фактический средний интервал между блоками всегда был ниже 10 минут.

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

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

Атака на искажение времени была впервые обнаружена примерно в 2011 году и использовала эту ошибку в расчете сложности, сделанную Сатоши Накамото. Основная идея атаки заключается в следующем:

  1. Для большинства блоков временная метка устанавливается на одну секунду вперёд по сравнению с предыдущим блоком.
  2. Каждые шесть блоков временная метка сдвигается на одну секунду, чтобы соблюдать правила MPT.
  3. В последнем блоке каждого периода регулировки сложности установите временную метку на реальное время.
  4. Временная метка первого блока следующего периода снова установлена в прошлое.

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

Потенциальное воздействие атаки

Если атака удастся, это может привести к:

  1. Сложность резко снизилась
  2. Скорость генерации блоков значительно увеличилась
  3. Создание большого количества Биткойн за короткое время
  4. Может вызвать рыночный хаос

Однако реализация такой атаки сталкивается с множеством проблем:

  1. Необходимо контролировать большую часть сетевой вычислительной мощности
  2. Наличие честных майнеров увеличит сложность
  3. Процесс атаки может быть своевременно обнаружен и приняты меры

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

Решение

Чтобы исправить эту уязвимость, есть несколько возможных методов:

  1. Изменить алгоритм настройки сложности, полностью исправить ошибку "почти один".
  2. Отменить правило MPT, требуя, чтобы время всегда двигалось вперед в каждом блоке.
  3. Установить новые ограничения: время первого блока нового периода сложности не должно быть раньше определенного времени (например, 2 часа) до последнего блока предыдущего периода.

Текущая инициатива "Большие консенсусные очистки" использует третий подход и предлагает установить ограничение в 2 часа. Этот план эффективно предотвращает атаки временного искажения и минимизирует риск случайного создания недействительных блоков.

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

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

BTC-2.65%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
LiquidityHuntervip
· 21ч назад
В глубокую ночь снова обнаружена уязвимость безопасности, цена Грузило, стоит ли ждать возможности для Арбитража.
Посмотреть ОригиналОтветить0
GasWastingMaximalistvip
· 21ч назад
Что за дела? Снова будут менять правила?
Посмотреть ОригиналОтветить0
ZenMinervip
· 22ч назад
Копая, я уснул. В любом случае, мы не торопимся.
Посмотреть ОригиналОтветить0
faded_wojak.ethvip
· 22ч назад
Этот баг звучит пугающе, я всё время смотрю на него.
Посмотреть ОригиналОтветить0
  • Закрепить