Вразливість атаки на спотворення часу в протоколі Біткойна
Розробник Біткойна Антуан Пуансо представив нову пропозицію з поліпшення 26 березня 2025 року, яка має на меті виправлення кількох тривалих вразливостей і слабкостей у протоколі Біткойна. Ця пропозиція, відома як "Велике очищення консенсусу", не тільки вирішує проблему повторних транзакцій, про яку ми вже говорили, але й пропонує рішення для більш серйозної вразливості — "атака на спотворення часу".
Механізм захисту часових міток блоків Біткойн
Перед тим, як обговорити атаки на спотворення часу, нам потрібно зрозуміти правила захисту від маніпуляцій з часом у поточному протоколі Біткойн:
Середній минулий час (MPT) правило: Часова мітка блоку повинна бути пізнішою за середній час попередніх 11 блоків.
Правила часу блоків у майбутньому: час блоків не може перевищувати медіанний час вузлів-партнерів більше ніж на 2 години, а максимальна допустима різниця між часом вузла та локальним системним годинником становить 90 хвилин.
Ці правила мають на меті запобігти надмірному відхиленню часових міток блоків від фактичного часу, але через необхідність врахування початкової синхронізації блокчейну, неможливо повністю заборонити минулі часові мітки.
Обчислювальна помилка Сатоші Накамото
Біткойн має період коригування складності, що містить 2016 монет, теоретично приблизно два тижні. Однак, при розрахунку коригування складності видобутку, протокол використовує не зовсім точний метод. Він розраховує різницю часових міток між першим і останнім монетами у вікні 2016 монет, але насправді слід було б розраховувати між 2015 монетами. Це призводить до того, що цільовий час на 0,05% довший, ніж потрібно, в результаті чого фактичний цільовий інтервал Біткойна становить 10 хвилин і 0,3 секунди, а не точні 10 хвилин.
Ця незначна похибка не є суттєвою в реальному виконанні, оскільки з моменту народження Біткойна середній інтервал між блоками завжди був менше 10 хвилин, головним чином через постійне зростання обчислювальної потужності.
Принцип атаки з викривленням часу
Атака на спотворення часу використовує цю помилку Сатоші Накамото в обчисленні складності. Зловмисник, маніпулюючи часовими мітками блоків, може в рамках правил протоколу поступово відставляти час блокчейну від реального часу. Конкретно, зловмисник буде:
Для більшості блоків встановіть мітку часу на одну секунду пізніше за попередній блок.
Кожні шість блоків тільки тоді часова мітка просувається вперед на 1 секунду, щоб відповідати правилам MPT.
В останньому блоці кожного циклу коригування складності встановіть мітку часу на реальний світовий час.
Перший штамп часу нового циклу коригування складності знову повернувся в минуле, запізнившись на 1 секунду у порівнянні з передостаннім блоком попереднього циклу.
Ця операція призведе до зниження складності після другого циклу коригування, що дозволить зловмисникам швидко створювати блоки та отримувати велику кількість Біткойн.
Вплив атаки та її доцільність
Теоретично, така атака може призвести до серйозних наслідків, але її реалізація стикається з багатьма викликами:
Потрібно контролювати більшу частину мережевої обчислювальної потужності.
Існування чесних майнерів збільшить складність атак.
Процес атаки є відкритим і може спровокувати термінове виправлення.
Потрібно чотири тижні, щоб реалізувати зниження складності, що дає час для реагування.
Рішення
Щоб виправити цей недолік, пропозиція Poinsot передбачає, що на початку кожного нового періоду налаштування складності перший штамп часу блоку не повинен бути раніше ніж за 2 години від часу останнього блоку попереднього періоду. Це просте правило може ефективно обмежити ступінь маніпуляцій зі складністю вниз, одночасно зберігаючи достатню гнучкість для адаптації до нормальних коливань мережі.
Цей варіант виправлення є простішим і консервативнішим у порівнянні з іншими можливими рішеннями (такими як повна зміна алгоритму коригування складності або скасування правил MTP), здатним ефективно запобігти атакам на спотворення часу, мінімізуючи ризик випадкових недійсних блоків.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 лайків
Нагородити
17
7
Поділіться
Прокоментувати
0/400
CryptoComedian
· 20год тому
Чим більше змінюєш код, тим він стає кращим, а помилок все більше, знову починаю працювати!
Уразливість атаки на перекручення часу протоколу BTC: Розробники запропонували рішення для захисту
Вразливість атаки на спотворення часу в протоколі Біткойна
Розробник Біткойна Антуан Пуансо представив нову пропозицію з поліпшення 26 березня 2025 року, яка має на меті виправлення кількох тривалих вразливостей і слабкостей у протоколі Біткойна. Ця пропозиція, відома як "Велике очищення консенсусу", не тільки вирішує проблему повторних транзакцій, про яку ми вже говорили, але й пропонує рішення для більш серйозної вразливості — "атака на спотворення часу".
Механізм захисту часових міток блоків Біткойн
Перед тим, як обговорити атаки на спотворення часу, нам потрібно зрозуміти правила захисту від маніпуляцій з часом у поточному протоколі Біткойн:
Середній минулий час (MPT) правило: Часова мітка блоку повинна бути пізнішою за середній час попередніх 11 блоків.
Правила часу блоків у майбутньому: час блоків не може перевищувати медіанний час вузлів-партнерів більше ніж на 2 години, а максимальна допустима різниця між часом вузла та локальним системним годинником становить 90 хвилин.
Ці правила мають на меті запобігти надмірному відхиленню часових міток блоків від фактичного часу, але через необхідність врахування початкової синхронізації блокчейну, неможливо повністю заборонити минулі часові мітки.
Обчислювальна помилка Сатоші Накамото
Біткойн має період коригування складності, що містить 2016 монет, теоретично приблизно два тижні. Однак, при розрахунку коригування складності видобутку, протокол використовує не зовсім точний метод. Він розраховує різницю часових міток між першим і останнім монетами у вікні 2016 монет, але насправді слід було б розраховувати між 2015 монетами. Це призводить до того, що цільовий час на 0,05% довший, ніж потрібно, в результаті чого фактичний цільовий інтервал Біткойна становить 10 хвилин і 0,3 секунди, а не точні 10 хвилин.
Ця незначна похибка не є суттєвою в реальному виконанні, оскільки з моменту народження Біткойна середній інтервал між блоками завжди був менше 10 хвилин, головним чином через постійне зростання обчислювальної потужності.
Принцип атаки з викривленням часу
Атака на спотворення часу використовує цю помилку Сатоші Накамото в обчисленні складності. Зловмисник, маніпулюючи часовими мітками блоків, може в рамках правил протоколу поступово відставляти час блокчейну від реального часу. Конкретно, зловмисник буде:
Ця операція призведе до зниження складності після другого циклу коригування, що дозволить зловмисникам швидко створювати блоки та отримувати велику кількість Біткойн.
Вплив атаки та її доцільність
Теоретично, така атака може призвести до серйозних наслідків, але її реалізація стикається з багатьма викликами:
Рішення
Щоб виправити цей недолік, пропозиція Poinsot передбачає, що на початку кожного нового періоду налаштування складності перший штамп часу блоку не повинен бути раніше ніж за 2 години від часу останнього блоку попереднього періоду. Це просте правило може ефективно обмежити ступінь маніпуляцій зі складністю вниз, одночасно зберігаючи достатню гнучкість для адаптації до нормальних коливань мережі.
Цей варіант виправлення є простішим і консервативнішим у порівнянні з іншими можливими рішеннями (такими як повна зміна алгоритму коригування складності або скасування правил MTP), здатним ефективно запобігти атакам на спотворення часу, мінімізуючи ризик випадкових недійсних блоків.