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

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

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

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

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

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

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

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

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

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

Мелкая ошибка Сатоши Накамото

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

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

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

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

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

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

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

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

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

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

Решение

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

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

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

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

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

BTC-1.23%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Поделиться
комментарий
0/400
MetaMisfitvip
· 07-11 02:17
Блок уязвимости нужно срочно исправить.
Посмотреть ОригиналОтветить0
DaoResearchervip
· 07-10 03:36
В MPT есть пространство для оптимизации
Посмотреть ОригиналОтветить0
PancakeFlippavip
· 07-09 14:16
Безопасность всегда на первом месте
Посмотреть ОригиналОтветить0
LiquidationWatchervip
· 07-08 02:54
Угроза, наконец, была обнаружена.
Посмотреть ОригиналОтветить0
MoonRocketmanvip
· 07-08 02:53
Временное искажение должно быть преодолено
Посмотреть ОригиналОтветить0
MevShadowrangervip
· 07-08 02:53
Метка времени является узким местом.
Посмотреть ОригиналОтветить0
ser_ngmivip
· 07-08 02:31
Давным-давно следовало это исправить.
Посмотреть ОригиналОтветить0
FreeRidervip
· 07-08 02:29
Это не может быть хорошей новостью
Посмотреть ОригиналОтветить0
  • Закрепить