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

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

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

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

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

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

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

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

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

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

Ошибка вычислений Сатоши Накамото

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

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

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

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

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

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

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

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

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

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

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

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

Решение

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

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

Сравнение двух схем временных ограничений:

  • 10 минут ограничение:

    • Преимущества: может компенсировать влияние ошибки "не хватает одного", минимизировать риск неожиданных недействительных блоков.
    • Недостатки: может увеличить риск недействительных блоков, это более важное изменение протокола.
  • 2-часовое ограничение:

    • Преимущества: максимальное снижение риска случайных недействительных блоков, соответствие будущим правилам временных меток блоков, это относительно консервативное изменение.
    • Недостатки: все еще позволяет злоумышленнику манипулировать сложностью вниз примерно на 0,6% за каждый цикл, но это всего лишь однократное изменение, которое не может быть сложным.

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

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

BTC1.99%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Репост
  • Поделиться
комментарий
0/400
FloorSweepervip
· 5ч назад
лmao OG сатоши допустил ошибку... все еще держу свой 100x леверидж tho
Посмотреть ОригиналОтветить0
NftDeepBreathervip
· 5ч назад
Так долго только для исправления ошибки... Сатоши Накамото тоже ошибается.
Посмотреть ОригиналОтветить0
OnchainDetectivevip
· 5ч назад
Наконец-то я исправил этот баг. Давно следовало его исправить.
Посмотреть ОригиналОтветить0
TokenDustCollectorvip
· 5ч назад
2025 год, а у вас все еще есть уязвимости?
Посмотреть ОригиналОтветить0
FloorSweepervip
· 5ч назад
Большой уязвимость, майнинг-партия в панике?
Посмотреть ОригиналОтветить0
blockBoyvip
· 5ч назад
Ничего не удерживай, давно следовало починить!
Посмотреть ОригиналОтветить0
  • Закрепить