Уязвимость временной искажения атаки в протоколе Биткойн и ее решение
26 марта 2025 года разработчики Биткойна предложили мягкий форк под названием "Большой консенсусный аудит", целью которого является исправление множества уязвимостей и слабых мест, существующих в протоколе Биткойна на протяжении долгого времени. Одной из важных уязвимостей является "атака на искажение времени", и в данной статье будет уделено внимание этой проблеме.
Защитный механизм временных меток блоков Биткойна
Перед тем как обсудить атаки на временные искажения, нам нужно понять текущие правила защиты от манипуляций с временем в протоколе Биткойн:
Правило медианного прошедшего времени (MPT): временная метка блока должна быть позже медианного времени предыдущих 11 блоков.
Правила будущего времени блока: временная метка блока не может опережать медианное время узловых равноправных более чем на 2 часа. В то же время максимальное разрешенное расхождение между временем, предоставленным узлом, и локальными системными часами составляет 90 минут.
Цель этих правил заключается в предотвращении значительного отклонения временных меток блоков от реального времени, однако они не могут полностью остановить атаки на искажение времени.
Уязвимости в алгоритме регулирования сложности
Цикл регулировки сложности Биткойна включает 2016 блоков, что теоретически составляет около двух недель. При расчете регулировки сложности майнинга Протокол вычисляет разницу временных меток между первыми и последними блоками в двух соседних окнах по 2016 блоков. Однако из-за небольшой вычислительной ошибки фактическое целевое время, используемое на практике, превышает идеальное на 600 секунд. Это приводит к тому, что фактическое целевое время создания блока Биткойна составляет 10 минут и 0,3 секунды, а не ожидаемые 10 минут.
Хотя эта ошибка в 0,3 секунды кажется незначительной, она связана с другой более серьезной проблемой. Расчет сложности основан на первом и последнем блоке в каждом окне из 2016 блоков, а не на разнице между последним блоком двух соседних окон. Этот способ расчета создает возможности для атак временного искажения.
Принципы атаки с искажением времени
Атака на искажение времени использует эту уязвимость в расчете сложности. Злоумышленник, манипулируя временными метками блоков, заставляет блокчейн двигаться вперед во времени с гораздо меньшей скоростью, чем проходит фактическое время. Конкретно:
Большинство временных меток блоков увеличиваются всего на 1 секунду по сравнению с предыдущим блоком.
Каждые шесть блоков временная метка увеличивается на 1 секунду, чтобы соответствовать правилам MPT.
В последнем блоке каждого периода изменения сложности используется реальное время как метка времени.
Временная метка первого блока нового периода настройки сложности установлена на 1 секунду раньше, чем предпоследний блок предыдущего периода.
Такое действие приводит к тому, что время блокчейна постепенно отстает от реального времени, что приводит к постоянному снижению сложности, позволяя злоумышленникам с очень высокой скоростью создавать блоки и получать большое количество Биткойн.
Реализуемость и ограничения атаки
Хотя теоретически атака с искажением времени может привести к серьезным последствиям, ее реализация сталкивается с множеством проблем:
Необходимо контролировать большую часть вычислительной мощности.
Правила MTP и временные метки честных майнеров ограничат степень ретроактивности злонамеренных временных меток.
Процесс атаки может быть открыто наблюдаем, что может вызвать экстренное исправление.
Решение
Для исправления уязвимости атаки временного искажения предложены следующие решения:
Измените алгоритм регулировки сложности, используя разницу во времени между последним блоком в двух соседних окнах в 2016 блоков.
Отменить правила MTP, требующие, чтобы временная метка каждого блока была больше, чем у предыдущего блока.
Установить минимальное ограничение временной метки для первого блока нового периода сложности.
Среди них третья схема считается самой простой и эффективной. В настоящее время в предложении рекомендуется установить этот временной лимит на уровне 2 часов, то есть временная метка первого блока нового периода сложности не может быть раньше, чем на 2 часа от временной метки последнего блока предыдущего периода. Этот лимит может эффективно предотвратить атаки на временные искажения, при этом оказывая небольшое влияние на нормальный процесс майнинга.
С помощью внедрения этих исправлений сеть Биткойн сможет лучше противостоять атакам временного искажения, повысив общую безопасность и стабильность.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
10 Лайков
Награда
10
5
Репост
Поделиться
комментарий
0/400
ser_ngmi
· 12ч назад
Вот такая скорость исправления уязвимостей, что узлы проверки уснули?
Посмотреть ОригиналОтветить0
ChainDetective
· 12ч назад
Софтфорк整改? Так что раньше, когда было нападение, никто не заметил?
Посмотреть ОригиналОтветить0
DegenWhisperer
· 12ч назад
Такие большие риски? Держись, я напугался до смерти.
Посмотреть ОригиналОтветить0
HashBard
· 12ч назад
время — это всего лишь конструкция... разработчики btc наконец-то исправляют матрицу fr fr
Посмотреть ОригиналОтветить0
SnapshotStriker
· 12ч назад
Раньше говорили, что Майнинг — это мошенничество. Кто этого не знает?
Анализ уязвимости атаки на временные искажения Биткойна и предложение по исправлению очистки общего соглашения
Уязвимость временной искажения атаки в протоколе Биткойн и ее решение
26 марта 2025 года разработчики Биткойна предложили мягкий форк под названием "Большой консенсусный аудит", целью которого является исправление множества уязвимостей и слабых мест, существующих в протоколе Биткойна на протяжении долгого времени. Одной из важных уязвимостей является "атака на искажение времени", и в данной статье будет уделено внимание этой проблеме.
Защитный механизм временных меток блоков Биткойна
Перед тем как обсудить атаки на временные искажения, нам нужно понять текущие правила защиты от манипуляций с временем в протоколе Биткойн:
Правило медианного прошедшего времени (MPT): временная метка блока должна быть позже медианного времени предыдущих 11 блоков.
Правила будущего времени блока: временная метка блока не может опережать медианное время узловых равноправных более чем на 2 часа. В то же время максимальное разрешенное расхождение между временем, предоставленным узлом, и локальными системными часами составляет 90 минут.
Цель этих правил заключается в предотвращении значительного отклонения временных меток блоков от реального времени, однако они не могут полностью остановить атаки на искажение времени.
Уязвимости в алгоритме регулирования сложности
Цикл регулировки сложности Биткойна включает 2016 блоков, что теоретически составляет около двух недель. При расчете регулировки сложности майнинга Протокол вычисляет разницу временных меток между первыми и последними блоками в двух соседних окнах по 2016 блоков. Однако из-за небольшой вычислительной ошибки фактическое целевое время, используемое на практике, превышает идеальное на 600 секунд. Это приводит к тому, что фактическое целевое время создания блока Биткойна составляет 10 минут и 0,3 секунды, а не ожидаемые 10 минут.
Хотя эта ошибка в 0,3 секунды кажется незначительной, она связана с другой более серьезной проблемой. Расчет сложности основан на первом и последнем блоке в каждом окне из 2016 блоков, а не на разнице между последним блоком двух соседних окон. Этот способ расчета создает возможности для атак временного искажения.
Принципы атаки с искажением времени
Атака на искажение времени использует эту уязвимость в расчете сложности. Злоумышленник, манипулируя временными метками блоков, заставляет блокчейн двигаться вперед во времени с гораздо меньшей скоростью, чем проходит фактическое время. Конкретно:
Такое действие приводит к тому, что время блокчейна постепенно отстает от реального времени, что приводит к постоянному снижению сложности, позволяя злоумышленникам с очень высокой скоростью создавать блоки и получать большое количество Биткойн.
Реализуемость и ограничения атаки
Хотя теоретически атака с искажением времени может привести к серьезным последствиям, ее реализация сталкивается с множеством проблем:
Решение
Для исправления уязвимости атаки временного искажения предложены следующие решения:
Среди них третья схема считается самой простой и эффективной. В настоящее время в предложении рекомендуется установить этот временной лимит на уровне 2 часов, то есть временная метка первого блока нового периода сложности не может быть раньше, чем на 2 часа от временной метки последнего блока предыдущего периода. Этот лимит может эффективно предотвратить атаки на временные искажения, при этом оказывая небольшое влияние на нормальный процесс майнинга.
С помощью внедрения этих исправлений сеть Биткойн сможет лучше противостоять атакам временного искажения, повысив общую безопасность и стабильность.