Аналіз вразливості атаки на спотворення часу Біткойн
26 березня 2025 року розробники Біткойн запропонували м'який хардфорк під назвою "Велика консенсусна очистка", метою якого є виправлення кількох давніх вразливостей та слабкостей у протоколі Біткойн. Найбільш помітною є вразливість "атаки на спотворення часу".
Захист механізму часових міток блоків Біткойна
Біткойн наразі використовує два механізми для запобігання маніпуляціям з часовими позначками:
Середній час минулого (MPT) правило: часова позначка нового блоку повинна бути пізнішою, ніж середній час попередніх 11 блоків.
Правила часу нових блоків: часова мітка нового блоку не може бути раніше середнього часу мережевих вузлів більш ніж на 2 години.
Ці два правила запобігають тому, щоб час блоків був занадто відсталим або занадто попереднім. Однак атака на час спотворення використовує саме ці вразливості правил, суттєво повертаючи час блоків назад шляхом підробки часових міток.
Помилка "на один" Сатоші Накамото
Дифузійний цикл Біткойну становить 2016 блоків, приблизно 14 днів. При розрахунку коригування складності протокол порівнює різницю часових міток між першим і останнім блоками вікна з 2016 блоків. Теоретично слід використовувати інтервал з 2015 блоків (2016-1), тобто 1,209,000 секунд як цільовий час. Але в реальному коді використовується 2016 як множник, що призводить до перевищення цільового часу на 600 секунд.
Ця незначна помилка призвела до того, що фактичний цільовий час створення блоку Біткойна становить 10 хвилин і 0,3 секунди. Хоча ця похибка здається незначною, вона створює можливості для атак на спотворення часу.
Принцип атаки спотворення часу
Атака на спотворення часу була виявлена приблизно в 2011 році. Зловмисники маніпулюють часовими мітками блоків, в результаті чого час блокчейну поступово відстає від реального часу, що впливає на механізм регулювання складності.
Конкретні кроки такі:
Для більшості блоків часова мітка встановлюється на 1 секунду більше, ніж попередній блок.
Кожні 6 блоків часова позначка просувається на 1 секунду, щоб відповідати правилам MPT.
У останньому блоці кожного періоду складності встановіть мітку часу на реальний час.
Перший блок нового циклу знову повертає часову мітку на 1 секунду після передостаннього блоку попереднього циклу.
Ця операція призведе до штучного скорочення періоду розрахунку складності, що викличе зниження складності. Після кількох циклів атаки складність може суттєво знизитися, що призведе до аномально швидкого генерування блоків.
Вплив атаки та доцільність
Теоретично, така атака може знизити складність майже в 2,8 рази за кожен цикл. Після тривалої атаки швидкість генерації блоків може досягти понад 10 на секунду.
Однак, реалізація цієї атаки стикається з багатьма викликами:
Потрібно контролювати більшість обчислювальної потужності.
Існування чесних майнерів буде заважати маніпуляціям з часовими мітками.
Процес атаки повністю відкритий і видимий, що може спровокувати термінове виправлення.
Рішення
Щоб запобігти атакам на спотворення часу, найпростіший спосіб – встановити нижню межу часу для мітки першого блоку нового циклу складності. Остання пропозиція рекомендує встановити це обмеження на 2 години, тобто мітка часу першого блоку нового циклу не повинна бути раніше ніж 2 години до мітки часу останнього блоку попереднього циклу.
Ця міра виправлення є простою та ефективною, і вона максимально знижує ризик виникнення недійсних блоків. 2-годинне вікно часу становить лише приблизно 0,6% від циклу коригування складності, що може ефективно стримувати можливість маніпуляцій зі складністю.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
15 лайків
Нагородити
15
4
Репост
Поділіться
Прокоментувати
0/400
TooScaredToSell
· 14год тому
Біткойн ще потрібно виправити так багато вразливостей, це не дуже добре.
Переглянути оригіналвідповісти на0
BearMarketSurvivor
· 14год тому
Воєнний ветеран десять років Мітка часу ця лінія оборони занадто крихка
Переглянути оригіналвідповісти на0
WealthCoffee
· 14год тому
Нарешті хтось виправив цю вразливість, давно вже слід було це зробити.
Переглянути оригіналвідповісти на0
MEVHunter
· 14год тому
мех... ще один розрив протоколу, що був використаний. типовий нагляд сатоші, якщо чесно
Біткойн планує виправити вразливість спотворення часу для запобігання маніпуляціям з труднощами з перенацілюванням
Аналіз вразливості атаки на спотворення часу Біткойн
26 березня 2025 року розробники Біткойн запропонували м'який хардфорк під назвою "Велика консенсусна очистка", метою якого є виправлення кількох давніх вразливостей та слабкостей у протоколі Біткойн. Найбільш помітною є вразливість "атаки на спотворення часу".
Захист механізму часових міток блоків Біткойна
Біткойн наразі використовує два механізми для запобігання маніпуляціям з часовими позначками:
Середній час минулого (MPT) правило: часова позначка нового блоку повинна бути пізнішою, ніж середній час попередніх 11 блоків.
Правила часу нових блоків: часова мітка нового блоку не може бути раніше середнього часу мережевих вузлів більш ніж на 2 години.
Ці два правила запобігають тому, щоб час блоків був занадто відсталим або занадто попереднім. Однак атака на час спотворення використовує саме ці вразливості правил, суттєво повертаючи час блоків назад шляхом підробки часових міток.
Помилка "на один" Сатоші Накамото
Дифузійний цикл Біткойну становить 2016 блоків, приблизно 14 днів. При розрахунку коригування складності протокол порівнює різницю часових міток між першим і останнім блоками вікна з 2016 блоків. Теоретично слід використовувати інтервал з 2015 блоків (2016-1), тобто 1,209,000 секунд як цільовий час. Але в реальному коді використовується 2016 як множник, що призводить до перевищення цільового часу на 600 секунд.
Ця незначна помилка призвела до того, що фактичний цільовий час створення блоку Біткойна становить 10 хвилин і 0,3 секунди. Хоча ця похибка здається незначною, вона створює можливості для атак на спотворення часу.
Принцип атаки спотворення часу
Атака на спотворення часу була виявлена приблизно в 2011 році. Зловмисники маніпулюють часовими мітками блоків, в результаті чого час блокчейну поступово відстає від реального часу, що впливає на механізм регулювання складності.
Конкретні кроки такі:
Ця операція призведе до штучного скорочення періоду розрахунку складності, що викличе зниження складності. Після кількох циклів атаки складність може суттєво знизитися, що призведе до аномально швидкого генерування блоків.
Вплив атаки та доцільність
Теоретично, така атака може знизити складність майже в 2,8 рази за кожен цикл. Після тривалої атаки швидкість генерації блоків може досягти понад 10 на секунду.
Однак, реалізація цієї атаки стикається з багатьма викликами:
Рішення
Щоб запобігти атакам на спотворення часу, найпростіший спосіб – встановити нижню межу часу для мітки першого блоку нового циклу складності. Остання пропозиція рекомендує встановити це обмеження на 2 години, тобто мітка часу першого блоку нового циклу не повинна бути раніше ніж 2 години до мітки часу останнього блоку попереднього циклу.
Ця міра виправлення є простою та ефективною, і вона максимально знижує ризик виникнення недійсних блоків. 2-годинне вікно часу становить лише приблизно 0,6% від циклу коригування складності, що може ефективно стримувати можливість маніпуляцій зі складністю.