Вразливість атаки на спотворення часу в протоколі Біткойн та її рішення
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
· 8год тому
От така швидкість виправлення вразливостей, що валідаційні ноди вже заснули?
Переглянути оригіналвідповісти на0
ChainDetective
· 8год тому
Софтфорк整改? Тобто раніше під час атаки ніхто не помітив?
Переглянути оригіналвідповісти на0
DegenWhisperer
· 8год тому
Такий великий ризик? Я в шоці!
Переглянути оригіналвідповісти на0
HashBard
· 8год тому
час є лише конструктом... розробники btc нарешті виправляють матрицю fr fr
Переглянути оригіналвідповісти на0
SnapshotStriker
· 8год тому
Раніше говорили про шахрайство в майнінгу, хто цього не вміє?
Аналіз вразливості атаки на викривлення часу Біткойна та пропозиція рішення для очищення великого консенсусу
Вразливість атаки на спотворення часу в протоколі Біткойн та її рішення
26 березня 2025 року, розробники Біткойн запропонували м'який форк під назвою "Велике очищення консенсусу", метою якого є виправлення кількох вразливостей і слабкостей, що існують у протоколі Біткойн протягом тривалого часу. Однією з важливих вразливостей є "атака на спотворення часу", про яку ця стаття зосередиться.
Захист часових міток блоків Біткойна
Перед обговоренням атак на спотворення часу, нам потрібно зрозуміти правила захисту від маніпуляцій із часом у поточному протоколі Біткойн:
Середній минулий час (MPT) правило: час блокування повинен бути пізнішим за середній час попередніх 11 блоків.
Майбутні правила часу блоків: часова позначка блоку не може бути більш ніж на 2 години попереду від медіанного часу рівноправних вузлів. Одночасно, максимальна різниця між часом, наданим вузлом, і локальними системними годинами дозволена в 90 хвилин.
Метою цих правил є запобігання сильної відмінності між блоковими мітками часу та фактичним часом, але вони не можуть повністю запобігти виникненню атак на спотворення часу.
Вразливість у алгоритмі коригування складності
Термін коригування складності Біткойну містить 2016 монет, що в теорії становить приблизно два тижні. Під час обчислення коригування складності видобутку, протокол обчислює різницю між мітками часу початкового та кінцевого блоків у сусідніх вікнах з 2016 монет. Однак через незначну помилку в обчисленнях, фактичний цільовий час виявився на 600 секунд більшим, ніж у ідеальному випадку. Це призвело до того, що фактичний цільовий час створення блоків Біткойну становить 10 хвилин і 0.3 секунди, а не очікувані 10 хвилин.
Хоча ця помилка в 0,3 секунди здається незначною, вона пов'язана з іншим більш серйозним питанням. Розрахунок складності базується на першому та останньому блоці в кожному вікні з 2016 блоків, а не на різниці між останнім блоком двох сусідніх вікон. Такий спосіб розрахунку створює можливості для атак на спотворення часу.
Принцип атаки спотворення часу
Атака на спотворення часу використовує цю вразливість у розрахунку складності. Зловмисник, маніпулюючи мітками часу блоків, змушує блокчейн рухатися вперед у часі значно повільніше, ніж реальний плин часу. Конкретно кажучи:
Ця операція призводить до того, що час блокчейну поступово відстає від реального часу, що призводить до постійного зниження складності, що дозволяє зловмисникам створювати блоки з дуже швидкою швидкістю і отримувати велику кількість Біткойн.
Здійсненність і обмеження атак
Хоча теоретично атака на спотворення часу може призвести до серйозних наслідків, її реалізація стикається з численними викликами:
Рішення
Щоб виправити вразливість атаки на спотворення часу, було запропоновано такі рішення:
Серед них третій варіант вважається найпростішим та найефективнішим. У поточній пропозиції рекомендується встановити це часовий обмеження на рівні 2 години, тобто часова позначка першого блоку нового циклу складності не може бути раніше ніж на 2 години від останнього блоку попереднього циклу. Це обмеження може ефективно запобігти атакам на спотворення часу, одночасно маючи незначний вплив на нормальний процес видобутку.
Завдяки впровадженню цих заходів, мережа Біткойн зможе краще протистояти атакам на спотворення часу, підвищуючи загальну безпеку та стабільність.