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

robot
Генерация тезисов в процессе

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

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

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

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

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

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

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

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

Ошибка вычисления в протоколе

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

Правильный расчет должен быть: 60 секунд * 10 минут * 2015 интервалов = 1,209,000 секунд. Но на самом деле используется: 60 секунд * 10 минут * 2016 = 1,209,600 секунд. Эта ошибка в 0.05% приводит к тому, что целевое время оказывается на 0.05% длиннее, чем должно быть, что делает фактическое целевое время Биткойна равным 10 минутам и 0.3 секунде.

Хотя эта ошибка в 0,3 секунды кажется незначительной, она связана с другой более серьезной проблемой. Расчет сложности основан на первом и последнем блоке в каждом окне из 2016 блоков, а не на разнице между последним блоком предыдущего окна и последним блоком текущего окна. Этот способ расчета создает возможность для атак с времевыми искажениями.

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

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

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

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

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

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

Влияние и осуществимость атаки

Теоретически, такая атака может привести к катастрофическим последствиям. В крайних случаях сложность может быть постоянно снижена до тех пор, пока не будет создано более 6 блоков в секунду. Однако реализация такой атаки сталкивается со многими вызовами:

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

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

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

Исправить этот уязвимость относительно просто, но может потребоваться изменение протокола мягкого форка. В настоящее время предложено одно решение:

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

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

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

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

BTC0.63%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
P2ENotWorkingvip
· 12ч назад
Что за ерунда? Кто сможет это разобрать, свяжитесь со мной.
Посмотреть ОригиналОтветить0
FlashLoanLordvip
· 12ч назад
Эту проблему следовало решить давно.
Посмотреть ОригиналОтветить0
HodlBelievervip
· 12ч назад
Блокчейн банкиры/эксперты по оценке рисков/непрерывный технический анализ цены закрытия на протяжении 4 лет

С точки зрения базового управления рисками это необходимо исправить
Посмотреть ОригиналОтветить0
PerennialLeekvip
· 12ч назад
Так много уязвимостей, не буду играть! Разошлись, разошлись.
Посмотреть ОригиналОтветить0
  • Закрепить