Вразливість атаки на спотворення часу в протоколі Біткойн
26 березня 2025 року один із розробників Біткойн запропонував нову пропозицію з покращення, що має на меті виправити кілька вразливостей і слабкостей, які існують у протоколі Біткойн протягом тривалого часу. Ця пропозиція м'якого форк, відома як "Велике очищення консенсусу", містить одне важливе питання безпеки, а саме "атака на спотворення часу".
Захисний механізм міток часу Біткойну
У протоколі Біткойн є два основні правила захисту часових міток:
Медіана минулого часу ( MPT ) правило: Часова мітка блоку повинна бути пізніше, ніж медіана часових міток попередніх 11 блоків.
Правила часу блоку в майбутньому: Часова позначка блоку не може бути на більш ніж 2 години раніше медіанного часу мережевих вузлів.
Ці правила призначені для запобігання надмірному маніпулюванню часовими мітками блоку. Однак атаки на спотворення часу використовують вразливості цих правил, підробляючи часові мітки, щоб повернути їх далеко в минуле.
Обчислювальна помилка Сатоші Накамото
Період коригування складності Біткойна містить 2016 блоків, що приблизно відповідає двом тижням. При розрахунку коригування складності видобутку протокол порівнює різницю часового штампу першого та останнього блоків у вікні з 2016 блоків. Однак Сатоші Накамото допустив невелику помилку при розрахунку цільового часу: він використав 2016 замість 2015 як множник, що призвело до того, що цільовий час був на 0,05% довшим, ніж насправді.
Ця помилка призвела до того, що фактичний цільовий інтервал між блоками Біткойна становить 10 хвилин і 0,3 секунди, а не точні 10 хвилин. Хоча ця похибка в 0,3 секунди сама по собі не є суттєвою, вона заклала основу для більш серйозної вразливості.
Принцип атаки спотворення часу
Атака з викривленням часу використовує помилку Сатоші Накамото в обчисленні складності. Зловмисник маніпулює часовими мітками блоків, щоб блокчейн повільно рухався в часі, одночасно дотримуючись правил MPT. Конкретно кажучи:
Більшість міток часу блоків лише на 1 секунду попереджає про попередній блок.
Кожні 6 блоків часова мітка збільшується на 1 секунду, щоб відповідати правилам MPT.
У останньому блоці кожного періоду коригування складності встановіть часову мітку на реальний світовий час.
Часова позначка першого блоку нового циклу знову повернулася в минуле.
Ця операція призводить до того, що час блокчейну все більше відстає від реального часу, а складність постійно збільшується. Однак через раптовий стрибок мітки часу в кінці циклу, розрахунок складності може бути спотвореним, що призводить до різкого зниження складності наступного циклу.
Потенційний вплив атаки
Якщо буде успішно реалізовано, атака на спотворення часу може призвести до наступних наслідків:
Складність різко знизилась, що призвело до аномально швидкої швидкості генерації блоків.
Велика кількість Біткойн була створена за короткий проміжок часу.
Зловмисники можуть отримувати прибуток, продаючи ці монети.
Однак реалізація такої атаки стикається з численними викликами, включаючи необхідність контролювати більшість обчислювальної потужності, присутність чесних майнерів, що ускладнює задачу, а також легкість виявлення процесу атаки.
Рішення
Щоб виправити вразливість атаки на спотворення часу, розробники запропонували відносно просте рішення: вимагати, щоб мітка часу першого блоку нового періоду складності не була раніше певного часово-обмеженого моменту останнього блоку попереднього періоду. Нинішня пропозиція рекомендує встановити це часове обмеження на 2 години, що становить приблизно 0,6% від цільового часу періоду корекції складності, що може ефективно обмежити ступінь маніпуляцій з складністю.
Це рішення ефективно запобігає атакам на спотворення часу та мінімізує ризик випадкового утворення недійсних блоків. Воно відповідає існуючим правилам майбутнього часу блоків і в нормальних умовах може бути більш гнучким, ніж існуючі правила MPT.
З виправленням цього вразливості, мережа Біткойн стане більш надійною та безпечною, закладаючи міцнішу основу для її довгострокового розвитку.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Важливий витік: атака на спотворення часу протоколу Біткойн та її рішення
Вразливість атаки на спотворення часу в протоколі Біткойн
26 березня 2025 року один із розробників Біткойн запропонував нову пропозицію з покращення, що має на меті виправити кілька вразливостей і слабкостей, які існують у протоколі Біткойн протягом тривалого часу. Ця пропозиція м'якого форк, відома як "Велике очищення консенсусу", містить одне важливе питання безпеки, а саме "атака на спотворення часу".
Захисний механізм міток часу Біткойну
У протоколі Біткойн є два основні правила захисту часових міток:
Медіана минулого часу ( MPT ) правило: Часова мітка блоку повинна бути пізніше, ніж медіана часових міток попередніх 11 блоків.
Правила часу блоку в майбутньому: Часова позначка блоку не може бути на більш ніж 2 години раніше медіанного часу мережевих вузлів.
Ці правила призначені для запобігання надмірному маніпулюванню часовими мітками блоку. Однак атаки на спотворення часу використовують вразливості цих правил, підробляючи часові мітки, щоб повернути їх далеко в минуле.
Обчислювальна помилка Сатоші Накамото
Період коригування складності Біткойна містить 2016 блоків, що приблизно відповідає двом тижням. При розрахунку коригування складності видобутку протокол порівнює різницю часового штампу першого та останнього блоків у вікні з 2016 блоків. Однак Сатоші Накамото допустив невелику помилку при розрахунку цільового часу: він використав 2016 замість 2015 як множник, що призвело до того, що цільовий час був на 0,05% довшим, ніж насправді.
Ця помилка призвела до того, що фактичний цільовий інтервал між блоками Біткойна становить 10 хвилин і 0,3 секунди, а не точні 10 хвилин. Хоча ця похибка в 0,3 секунди сама по собі не є суттєвою, вона заклала основу для більш серйозної вразливості.
Принцип атаки спотворення часу
Атака з викривленням часу використовує помилку Сатоші Накамото в обчисленні складності. Зловмисник маніпулює часовими мітками блоків, щоб блокчейн повільно рухався в часі, одночасно дотримуючись правил MPT. Конкретно кажучи:
Ця операція призводить до того, що час блокчейну все більше відстає від реального часу, а складність постійно збільшується. Однак через раптовий стрибок мітки часу в кінці циклу, розрахунок складності може бути спотвореним, що призводить до різкого зниження складності наступного циклу.
Потенційний вплив атаки
Якщо буде успішно реалізовано, атака на спотворення часу може призвести до наступних наслідків:
Однак реалізація такої атаки стикається з численними викликами, включаючи необхідність контролювати більшість обчислювальної потужності, присутність чесних майнерів, що ускладнює задачу, а також легкість виявлення процесу атаки.
Рішення
Щоб виправити вразливість атаки на спотворення часу, розробники запропонували відносно просте рішення: вимагати, щоб мітка часу першого блоку нового періоду складності не була раніше певного часово-обмеженого моменту останнього блоку попереднього періоду. Нинішня пропозиція рекомендує встановити це часове обмеження на 2 години, що становить приблизно 0,6% від цільового часу періоду корекції складності, що може ефективно обмежити ступінь маніпуляцій з складністю.
Це рішення ефективно запобігає атакам на спотворення часу та мінімізує ризик випадкового утворення недійсних блоків. Воно відповідає існуючим правилам майбутнього часу блоків і в нормальних умовах може бути більш гнучким, ніж існуючі правила MPT.
З виправленням цього вразливості, мережа Біткойн стане більш надійною та безпечною, закладаючи міцнішу основу для її довгострокового розвитку.