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

Анализ уязвимости временной искажения Биткойна

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

! Нарушение безопасности биткоина: атака с искажением времени

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

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

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

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

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

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

Ошибка в алгоритме корректировки сложности

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

Тем не менее, протокол Биткойн использует число 2016 для расчетов: 60 секунд × 10 минут × 2016 = 1,209,600 секунд. Это классическая ошибка "на один меньше", вероятно, из-за путаницы между количеством блоков и количеством интервалов между блоками.

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

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

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

  1. Для большинства блоков установить временную метку на одну секунду вперед по сравнению с предыдущим блоком, соблюдая правила MPT.

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

  3. В последнем блоке каждого периода изменения сложности установите временную метку на реальное время.

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

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

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

Жизнеспособность и вызовы атаки

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

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

! Нарушение безопасности биткоина: атака с искажением времени

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

Исправить эту уязвимость относительно просто, но может потребоваться изменение протокола с мягким форком. Некоторые возможные решения включают:

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

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

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

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

BTC1.23%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Поделиться
комментарий
0/400
GasFeeNightmarevip
· 07-21 22:12
Все в тоже надо ждать, пока исправят уязвимости
Посмотреть ОригиналОтветить0
SignatureCollectorvip
· 07-20 01:25
А это, исправление ошибок придется ждать два года?
Посмотреть ОригиналОтветить0
rekt_but_vibingvip
· 07-18 22:42
сначала войти в позицию, затем купить билет стиль работы
Посмотреть ОригиналОтветить0
DegenApeSurfervip
· 07-18 22:39
Этот ужасный漏洞, оказывается, затянулся на 25 лет.
Посмотреть ОригиналОтветить0
SlowLearnerWangvip
· 07-18 22:39
Оказывается, Биткойн тоже может путешествовать во времени!
Посмотреть ОригиналОтветить0
AirdropSweaterFanvip
· 07-18 22:32
Снова старая тема. Когда это закончится?
Посмотреть ОригиналОтветить0
SnapshotStrikervip
· 07-18 22:29
Снова нашли новый баг? Ждем, когда он взорвется, будет весело.
Посмотреть ОригиналОтветить0
RugResistantvip
· 07-18 22:18
наконец-то кто-то заметил эту критическую уязвимость. анализировал это в течение месяцев... разработчики спят на этом, если честно
Посмотреть ОригиналОтветить0
  • Закрепить