Исправление уязвимости атаки временного искажения в протоколе Биткойн: анализ предложения по очистке Соглашения

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

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

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

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

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

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

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

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

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

Ошибка "на один" Сатоши Накамото

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

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

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

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

Атака на искажение времени использует ошибку Сатоши Накамото в расчете сложности. Злоумышленник манипулирует временными метками блоков, заставляя блокчейн медленно продвигаться во времени, соблюдая правила MTP. В частности, злоумышленник может:

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

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

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

Жизнеспособность и ограничения атаки

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

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

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

Решение

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

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

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

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

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

Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Награда
  • 5
  • Поделиться
комментарий
0/400
JustHodlItvip
· 07-11 01:42
Чувствую, что безопасность стала еще сильнее, всё стабильно, всё стабильно~
Посмотреть ОригиналОтветить0
SchrodingerWalletvip
· 07-10 02:19
Уязвимость снова исправлена, просто и грубо.
Посмотреть ОригиналОтветить0
DefiEngineerJackvip
· 07-10 02:19
*на самом деле* еще один нетривиальный патч безопасности, который доказывает превосходство PoW... на самом деле видел более серьезные уязвимости в PoS
Посмотреть ОригиналОтветить0
ProbablyNothingvip
· 07-10 01:57
btc исправляет уязвимость, теперь все будет в порядке.
Посмотреть ОригиналОтветить0
MemecoinResearchervip
· 07-10 01:53
на основе протокола исправление, но можем ли мы получить статистическую значимость?
Посмотреть ОригиналОтветить0
  • Закрепить