Анализ уязвимости атаки на временные искажения Биткойна и предложение по исправлению очистки общего соглашения

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

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

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

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

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

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

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

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

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

Уязвимости в алгоритме регулирования сложности

Цикл регулировки сложности Биткойна включает 2016 блоков, что теоретически составляет около двух недель. При расчете регулировки сложности майнинга Протокол вычисляет разницу временных меток между первыми и последними блоками в двух соседних окнах по 2016 блоков. Однако из-за небольшой вычислительной ошибки фактическое целевое время, используемое на практике, превышает идеальное на 600 секунд. Это приводит к тому, что фактическое целевое время создания блока Биткойна составляет 10 минут и 0,3 секунды, а не ожидаемые 10 минут.

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

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

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

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

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

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

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

Реализуемость и ограничения атаки

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

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

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

Решение

Для исправления уязвимости атаки временного искажения предложены следующие решения:

  1. Измените алгоритм регулировки сложности, используя разницу во времени между последним блоком в двух соседних окнах в 2016 блоков.
  2. Отменить правила MTP, требующие, чтобы временная метка каждого блока была больше, чем у предыдущего блока.
  3. Установить минимальное ограничение временной метки для первого блока нового периода сложности.

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

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

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

BTC-1.54%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Репост
  • Поделиться
комментарий
0/400
ser_ngmivip
· 12ч назад
Вот такая скорость исправления уязвимостей, что узлы проверки уснули?
Посмотреть ОригиналОтветить0
ChainDetectivevip
· 12ч назад
Софтфорк整改? Так что раньше, когда было нападение, никто не заметил?
Посмотреть ОригиналОтветить0
DegenWhisperervip
· 12ч назад
Такие большие риски? Держись, я напугался до смерти.
Посмотреть ОригиналОтветить0
HashBardvip
· 12ч назад
время — это всего лишь конструкция... разработчики btc наконец-то исправляют матрицу fr fr
Посмотреть ОригиналОтветить0
SnapshotStrikervip
· 12ч назад
Раньше говорили, что Майнинг — это мошенничество. Кто этого не знает?
Посмотреть ОригиналОтветить0
  • Закрепить