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

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

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

Обзор

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

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

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

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

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

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

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

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

Ошибка вычислений в исходном коде

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BTC0.79%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
LuckyBearDrawervip
· 9ч назад
Этот баг на самом деле сложнее, чем сложность майнинга.
Посмотреть ОригиналОтветить0
MetaverseVagabondvip
· 9ч назад
Ай ми-ми! Снова возникла проблема.
Посмотреть ОригиналОтветить0
DataBartendervip
· 9ч назад
Похоже, это снова божественный баг. Я сначала принесу табуретку.
Посмотреть ОригиналОтветить0
EyeOfTheTokenStormvip
· 9ч назад
Ай, снова кто-то играет с Меткой времени. Открыть лонг или Шорт? Не паникуйте, ребята.
Посмотреть ОригиналОтветить0
airdrop_huntressvip
· 10ч назад
Что еще происходит? Почему речь зашла о машине времени??
Посмотреть ОригиналОтветить0
just_another_walletvip
· 10ч назад
Ай, разрабатываю уже столько лет, уязвимости одна за другой.
Посмотреть ОригиналОтветить0
  • Закрепить