Биткойн время искажения уязвимость: потенциальная угроза безопасности
В конце марта 2025 года сообщество разработчиков Биткойн предложило новую инициативу по мягкому форку, направленную на исправление нескольких уязвимостей и слабых мест, которые долгое время существовали в протоколе Биткойн. Эта инициатива, названная "Очистка большого консенсуса", касается не только проблемы с дублирующимися транзакциями, о которой мы ранее обсуждали, но и более серьезной угрозы безопасности — "атаки на искажение времени".
Защитный механизм временной метки Биткойн
Биткойн сеть в настоящее время использует два основных правила для предотвращения манипуляций с временными метками:
Медианное прошедшее время (MPT) правило: временная метка нового блока должна быть позже медианы временных меток предыдущих 11 блоков.
Правила времени блоков в будущем: временная метка блока не должна превышать медианное время сети более чем на 2 часа. Максимально допустимая разница между временем узла и локальным системным временем составляет 90 минут.
Эти правила направлены на предотвращение значительного отклонения временных меток блоков от реального времени. Однако существующие механизмы не способны полностью предотвратить манипуляции временными метками в прошлом, так как это может повлиять на начальный процесс синхронизации блокчейна.
Мелкая ошибка Сатоши Накамото
Сложность майнинга Биткойна корректируется каждые 2016 блоков, что теоретически составляет около двух недель. При расчете корректировки сложности протокол сравнивает временные метки первого и последнего блоков в окне из 2016 блоков. Однако эти 2016 блоков фактически содержат 2015 интервалов между блоками. Таким образом, правильное целевое время должно составлять 60 секунд × 10 минут × 2015 = 1,209,000 секунд. Однако протокол Биткойна использует число 2016, что приводит к расчету 1,209,600 секунд.
Эта ошибка в 0,05% означает, что фактическое целевое время создания блока Биткойн составляет 10 минут и 0,3 секунды, а не ровно 10 минут. Хотя эта ошибка кажется незначительной, она связана с другой, более серьезной проблемой.
Принцип атаки с искажением времени
Атака с искажением времени использует уязвимость в расчёте сложности Биткойн. В этой атаке злонамеренные майнеры могут манипулировать временными метками блоков, чтобы повлиять на сетевую сложность. Нападающие устанавливают временные метки большинства блоков так, чтобы они были только на секунду позже предыдущего блока, одновременно соблюдая правила MPT. В последнем блоке каждого периода корректировки сложности временная метка устанавливается на реальное время.
Эта операция приведет к тому, что время блокчейна постепенно отстанет от реального времени, что в свою очередь повлияет на расчет сложности. После нескольких циклов атаки сложность сети значительно снизится, что позволит атакующему создавать блоки с очень высокой скоростью и получать большое количество Биткойн.
Реальная осуществимость атаки
Хотя теоретически такая атака может иметь серьезные последствия, на практике ее выполнение сталкивается с множеством вызовов:
Необходимо контролировать большую часть сетевой вычислительной мощности.
Существование честных майнеров увеличивает сложность атаки.
Правила MTP и честные временные метки ограничат пространство для злонамеренных действий.
Процесс атаки является открытым и видимым, что может вызвать экстренное исправление.
Решение
Чтобы исправить этот уязвимость, разработчики предложили несколько решений:
Полностью исправлен алгоритм настройки сложности, но для этого может потребоваться хард-форк.
Отменить правила MTP, требующие, чтобы время каждого блока продвигалось вперед, но это может вызвать новые проблемы.
Установите новые правила ограничения, требуя, чтобы время первого блока нового периода сложности не было раньше определенного времени последнего блока предыдущего периода.
В настоящее время предложение по очистке большого консенсуса предлагает установить временной лимит в 2 часа. Этот подход не только эффективно предотвращает атаки на искажение времени, но и максимально снижает риск случайного создания недействительных блоков.
Внедрив эти улучшения, сеть Биткойн сможет лучше противостоять потенциальным атакам на манипуляцию временем, что further повысит её безопасность и стабильность.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Безопасные уязвимости протокола Биткойн: атака временного искажения и решения
Биткойн время искажения уязвимость: потенциальная угроза безопасности
В конце марта 2025 года сообщество разработчиков Биткойн предложило новую инициативу по мягкому форку, направленную на исправление нескольких уязвимостей и слабых мест, которые долгое время существовали в протоколе Биткойн. Эта инициатива, названная "Очистка большого консенсуса", касается не только проблемы с дублирующимися транзакциями, о которой мы ранее обсуждали, но и более серьезной угрозы безопасности — "атаки на искажение времени".
Защитный механизм временной метки Биткойн
Биткойн сеть в настоящее время использует два основных правила для предотвращения манипуляций с временными метками:
Медианное прошедшее время (MPT) правило: временная метка нового блока должна быть позже медианы временных меток предыдущих 11 блоков.
Правила времени блоков в будущем: временная метка блока не должна превышать медианное время сети более чем на 2 часа. Максимально допустимая разница между временем узла и локальным системным временем составляет 90 минут.
Эти правила направлены на предотвращение значительного отклонения временных меток блоков от реального времени. Однако существующие механизмы не способны полностью предотвратить манипуляции временными метками в прошлом, так как это может повлиять на начальный процесс синхронизации блокчейна.
Мелкая ошибка Сатоши Накамото
Сложность майнинга Биткойна корректируется каждые 2016 блоков, что теоретически составляет около двух недель. При расчете корректировки сложности протокол сравнивает временные метки первого и последнего блоков в окне из 2016 блоков. Однако эти 2016 блоков фактически содержат 2015 интервалов между блоками. Таким образом, правильное целевое время должно составлять 60 секунд × 10 минут × 2015 = 1,209,000 секунд. Однако протокол Биткойна использует число 2016, что приводит к расчету 1,209,600 секунд.
Эта ошибка в 0,05% означает, что фактическое целевое время создания блока Биткойн составляет 10 минут и 0,3 секунды, а не ровно 10 минут. Хотя эта ошибка кажется незначительной, она связана с другой, более серьезной проблемой.
Принцип атаки с искажением времени
Атака с искажением времени использует уязвимость в расчёте сложности Биткойн. В этой атаке злонамеренные майнеры могут манипулировать временными метками блоков, чтобы повлиять на сетевую сложность. Нападающие устанавливают временные метки большинства блоков так, чтобы они были только на секунду позже предыдущего блока, одновременно соблюдая правила MPT. В последнем блоке каждого периода корректировки сложности временная метка устанавливается на реальное время.
Эта операция приведет к тому, что время блокчейна постепенно отстанет от реального времени, что в свою очередь повлияет на расчет сложности. После нескольких циклов атаки сложность сети значительно снизится, что позволит атакующему создавать блоки с очень высокой скоростью и получать большое количество Биткойн.
Реальная осуществимость атаки
Хотя теоретически такая атака может иметь серьезные последствия, на практике ее выполнение сталкивается с множеством вызовов:
Решение
Чтобы исправить этот уязвимость, разработчики предложили несколько решений:
В настоящее время предложение по очистке большого консенсуса предлагает установить временной лимит в 2 часа. Этот подход не только эффективно предотвращает атаки на искажение времени, но и максимально снижает риск случайного создания недействительных блоков.
Внедрив эти улучшения, сеть Биткойн сможет лучше противостоять потенциальным атакам на манипуляцию временем, что further повысит её безопасность и стабильность.