Биткойн Протокол уязвимости: угроза и исправление временного искажения атаки
В марте 2025 года сообщество разработчиков Биткойн предложило мягкий форк под названием "Большое согласие очистки". Эта инициатива направлена на исправление нескольких уязвимостей и слабых мест, которые долгое время существовали в Протоколе Биткойн, одной из наиболее серьезных уязвимостей, известной как "атака на искажение времени". В этой статье будет подробно рассмотрена суть этой уязвимости и ее потенциальное влияние.
Механизм защиты временной метки блока Биткойн
В протоколе Биткойн есть два основных правила защиты от манипуляций с временем:
Правило среднего времени (MPT): требуется, чтобы временная метка нового блока была позже среднего времени предыдущих 11 блоков.
Правила времени создания блоков в будущем: время метки нового блока не может опережать медианное время пиров узлов более чем на 2 часа.
Эти правила предназначены для предотвращения чрезмерной манипуляции временными метками блока, как в прошлом, так и в будущем. Однако атаки на искажение времени в основном связаны с подделкой временных меток на значительно более ранние времена, чем фактическое время.
Ошибка вычисления в алгоритме регулировки сложности
Сложность Биткойна корректируется каждые 2016 блоков, что составляет примерно две недели. При расчете коррекции сложности Протокол сравнивает временные метки первого и последнего блока в окне из 2016 блоков. Однако из-за вычислительной ошибки "на один" Протокол использует 60 секунд * 10 минут * 2016 = 1,209,600 секунд в качестве целевого времени, тогда как на самом деле должно быть 60 секунд * 10 минут * 2015 = 1,209,000 секунд.
Эта небольшая ошибка привела к тому, что целевое время увеличилось на 0,05% по сравнению с ожидаемым, что сделало фактическое целевое время блока Биткойн 10 минут и 0,3 секунды, а не строго 10 минут. Хотя эта ошибка кажется незначительной, она связана с другой, более серьезной проблемой.
Принцип атаки искажения времени
Атака с искажением времени использует вычислительные недостатки в алгоритме регулировки сложности. В этой атаке предполагается, что майнинг полностью централизован, и злоумышленник может манипулировать временными метками блоков. Процесс атаки следующий:
Для большинства блоков временная метка устанавливается на одну секунду раньше, чем у предыдущего блока.
Каждые шесть блоков добавляется одна секунда, чтобы как можно медленнее продвигать время.
В последнем блоке каждого периода регулировки сложности установите временную метку на реальное мировое время.
Временная метка первого блока нового цикла снова возвращается в прошлое, на одну секунду раньше, чем предпоследний блок предыдущего цикла.
Такая операция приводит к тому, что время блокчейна постепенно отстает от реального времени, что приводит к постоянному увеличению сложности. Однако, из-за резкого скачка временной метки в конце цикла, расчёт сложности может быть обманут, что значительно снижает сложность в следующем цикле.
Если атака с искажением времени будет успешно реализована, это может привести к следующим последствиям:
Сложность продолжает снижаться, за каждый период она может снизиться до 2,8 раза.
Скорость формирования блоков значительно увеличилась, возможно, до нескольких блоков в секунду.
Нападающий может в короткий срок получить большое количество новосозданных Биткойн.
Реальная осуществимость атаки
Несмотря на то, что с теоретической точки зрения такая атака может быть разрушительной, ее фактическая реализация сталкивается с множеством сложностей:
Необходимо контролировать большую часть вычислительной мощности сети.
Существование честных майнеров увеличивает сложность атаки.
Процесс атаки полностью виден, что может спровоцировать срочный мягкий форк для исправления.
Решение
Для устранения этого уязвимости предложено несколько возможных решений:
Изменить алгоритм настройки сложности, используя временной интервал между разными окнами блоков 2016.
Отменить правила MPT, требуя, чтобы время каждого блока должно продвигаться вперед.
Введение новых ограничительных правил, требующих, чтобы первый блок нового периода сложности не выходил за рамки определенного времени (например, 2 часа) по сравнению с последним блоком предыдущего периода.
В настоящее время предложение о очистке большого консенсуса использует третий вариант, устанавливая временное ограничение в 2 часа. Это изменение эффективно предотвращает атаки с искажением времени и минимизирует риск случайного создания недействительных токенов.
Внедряя эти улучшения, сеть Биткойн сможет лучше противостоять потенциальным атакам временного искажения, что further укрепит её безопасность и стабильность.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
6 Лайков
Награда
6
5
Поделиться
комментарий
0/400
RumbleValidator
· 07-21 16:24
Соглашение следовало скорректировать давно! Нагрузка на узлы верификации просто невыносима.
Посмотреть ОригиналОтветить0
BearMarketSurvivor
· 07-20 20:48
Исправив, неудачников разыгрывайте людей как лохов больше не будет.
Посмотреть ОригиналОтветить0
OldLeekNewSickle
· 07-20 20:47
Опять пришли сокращать потери, да? Только для справки, не является рекомендацией.
Протокол Биткойн исправляет уязвимость атаки на временные искажения, алгоритм трудностей с перенацеливанием получит значительное обновление
Биткойн Протокол уязвимости: угроза и исправление временного искажения атаки
В марте 2025 года сообщество разработчиков Биткойн предложило мягкий форк под названием "Большое согласие очистки". Эта инициатива направлена на исправление нескольких уязвимостей и слабых мест, которые долгое время существовали в Протоколе Биткойн, одной из наиболее серьезных уязвимостей, известной как "атака на искажение времени". В этой статье будет подробно рассмотрена суть этой уязвимости и ее потенциальное влияние.
Механизм защиты временной метки блока Биткойн
В протоколе Биткойн есть два основных правила защиты от манипуляций с временем:
Правило среднего времени (MPT): требуется, чтобы временная метка нового блока была позже среднего времени предыдущих 11 блоков.
Правила времени создания блоков в будущем: время метки нового блока не может опережать медианное время пиров узлов более чем на 2 часа.
Эти правила предназначены для предотвращения чрезмерной манипуляции временными метками блока, как в прошлом, так и в будущем. Однако атаки на искажение времени в основном связаны с подделкой временных меток на значительно более ранние времена, чем фактическое время.
Ошибка вычисления в алгоритме регулировки сложности
Сложность Биткойна корректируется каждые 2016 блоков, что составляет примерно две недели. При расчете коррекции сложности Протокол сравнивает временные метки первого и последнего блока в окне из 2016 блоков. Однако из-за вычислительной ошибки "на один" Протокол использует 60 секунд * 10 минут * 2016 = 1,209,600 секунд в качестве целевого времени, тогда как на самом деле должно быть 60 секунд * 10 минут * 2015 = 1,209,000 секунд.
Эта небольшая ошибка привела к тому, что целевое время увеличилось на 0,05% по сравнению с ожидаемым, что сделало фактическое целевое время блока Биткойн 10 минут и 0,3 секунды, а не строго 10 минут. Хотя эта ошибка кажется незначительной, она связана с другой, более серьезной проблемой.
Принцип атаки искажения времени
Атака с искажением времени использует вычислительные недостатки в алгоритме регулировки сложности. В этой атаке предполагается, что майнинг полностью централизован, и злоумышленник может манипулировать временными метками блоков. Процесс атаки следующий:
Такая операция приводит к тому, что время блокчейна постепенно отстает от реального времени, что приводит к постоянному увеличению сложности. Однако, из-за резкого скачка временной метки в конце цикла, расчёт сложности может быть обманут, что значительно снижает сложность в следующем цикле.
! Нарушение безопасности биткоина: атака с искажением времени
Потенциальные последствия атаки
Если атака с искажением времени будет успешно реализована, это может привести к следующим последствиям:
Реальная осуществимость атаки
Несмотря на то, что с теоретической точки зрения такая атака может быть разрушительной, ее фактическая реализация сталкивается с множеством сложностей:
Решение
Для устранения этого уязвимости предложено несколько возможных решений:
В настоящее время предложение о очистке большого консенсуса использует третий вариант, устанавливая временное ограничение в 2 часа. Это изменение эффективно предотвращает атаки с искажением времени и минимизирует риск случайного создания недействительных токенов.
Внедряя эти улучшения, сеть Биткойн сможет лучше противостоять потенциальным атакам временного искажения, что further укрепит её безопасность и стабильность.