Біткойн-часові спотворення атаки: прихована давня уразливість безпеки
У березні 2025 року розробники Біткойна запропонували нову пропозицію про м'який хард-форк, метою якої є виправлення деяких вразливостей і слабкостей, що існують у протоколі Біткойна протягом тривалого часу. Однією з вразливостей, що отримала особливу увагу, є "атака на спотворення часу", на якій зосереджено увагу цієї статті.
Захисний механізм часових міток Біткойна
Перш ніж обговорювати атаки на спотворення часу, нам потрібно зрозуміти існуючі правила захисту Біткойн від маніпуляцій з часом:
Медіана минулого часу (MPT) правило: час блоків повинен бути пізнішим за медіану часу попередніх 11 блоків.
Правила часу блоку в майбутньому: час блоків не може випереджати медіанний час мережевих вузлів більш ніж на 2 години. У той же час, максимальна допустима різниця між часом вузла та локальними системними годинами становить 90 хвилин.
Ці правила спрямовані на запобігання надмірному маніпулюванню часовими позначками блоків. Проте, через необхідність первинної синхронізації блокчейну, неможливо так суворо обмежити минулі часові позначки, як обмеження майбутніх. Атака на викривлення часу саме й використовує це, підробляючи часові позначки, які повертаються далеко в минуле.
Помилка «один в запасі» Сатоші Накамото
Труднощі Біткойна коригуються кожні 2016 блоків, що теоретично становить близько двох тижнів. При розрахунку коригування складності видобутку протокол обчислює різницю між часовими мітками першого та останнього блоку в цьому вікні з 2016 блоків. Однак Сатоші Накамото допустив невелику помилку під час проектування: він використовував 2016 замість 2015 для розрахунку цільового часу.
Ця помилка призвела до того, що цільовий час перевищує фактичний на 0,05%. Іншими словами, справжній цільовий інтервал блокування для Біткойн не становить 10 хвилин, а 10 хвилин і 0,3 секунди. Хоча ця похибка виглядає незначною, вона закладає основу для більш серйозних вразливостей.
Принцип атаки спотворення часу
Атака на спотворення часу була вперше виявлена приблизно у 2011 році. Зловмисники, маніпулюючи часовими мітками блоків, можуть штучно подовжити тривалість періоду корекції складності, що призводить до значного зниження складності.
Конкретно, зловмисник встановить часові мітки більшості блоків на лише на 1 секунду пізніше, ніж у попередньому блоці, при цьому дотримуючись правил MPT. У останньому блоці кожного періоду зміни складності зловмисник встановить часову мітку на реальний час. Таким чином, часовий проміжок, на якому ґрунтується розрахунок складності, штучно подовжується, внаслідок чого система помилково вважає, що швидкість створення блоків знижена, що призводить до зниження складності видобутку.
Постійно виконуючи цю операцію, зловмисник може знизити складність, зрештою досягнувши десятків блоків на секунду. Це не лише порушить нормальну роботу мережі Біткойн, але й може дозволити зловмиснику отримати велику кількість неправомірних винагород у вигляді Біткойн.
Фізична можливість атаки та виклики
Хоча теоретично така атака є руйнівною, її реалізація все ще стикається з деякими викликами:
Потрібно контролювати більшість обчислювальної потужності.
Існування чесних майнерів ускладнює атаки.
Процес атаки є відкритим і видимим, що може викликати термінове виправлення.
Потрібно кілька тижнів, щоб побачити значний ефект.
Ці фактори в певній мірі обмежують реальну здійсненність атак, але не можуть повністю усунути загрозу.
Рішення
Щоб виправити цю вразливість, розробники запропонували кілька можливих рішень:
Змінити алгоритм налаштування складності, виправити помилку «один не вистачає».
Скасувати правила MPT, замість цього вимагати, щоб мітки часу були суворо зростаючими.
Встановіть нові обмежувальні правила, які вимагають, щоб час штампа першого блоку нового періоду складності не був раніше визначеного часу останнього блоку попереднього періоду.
Наразі третій варіант отримав більше підтримки. Зокрема, пропозиція рекомендує встановити цей часовий ліміт на 2 години. Цей варіант може ефективно захистити від атак на спотворення часу та максимально знизити ризик випадкового створення недійсних блоків.
Висновок
Атака на спотворення часу виявила довгострокову проігноровану вразливість безпеки в протоколі Біткойн. Хоча ця вразливість досі не була фактично використана, її існування все ще заслуговує на увагу. У міру розвитку та вдосконалення мережі Біткойн своєчасне виявлення та усунення таких потенційних загроз допоможе забезпечити тривалу безпеку та стабільність всієї екосистеми.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
7 лайків
Нагородити
7
8
Репост
Поділіться
Прокоментувати
0/400
Anon4461
· 1год тому
15 років тому виявив! Ця дірка дивовижна
Переглянути оригіналвідповісти на0
SquidTeacher
· 8год тому
Сховав 15 років, поки не зрозумів, що ця розробка занадто слабка.
Переглянути оригіналвідповісти на0
SigmaValidator
· 13год тому
Ого, дірка приховувалася стільки років?
Переглянути оригіналвідповісти на0
OfflineNewbie
· 08-16 04:46
15 років тільки виявили вразливість, справді вражає.
Переглянути оригіналвідповісти на0
metaverse_hermit
· 08-16 04:46
Знову змінюють, протокол Біткойн — це просто решето.
Переглянути оригіналвідповісти на0
YieldChaser
· 08-16 04:35
Всі вразливості для шахрайства були виправлені, серце болить.
Переглянути оригіналвідповісти на0
BoredApeResistance
· 08-16 04:25
Чекали 15 років, щоб бути виявленими, розробники з не дуже ясним розумом.
Біткойн часова спотворювальна атака: приховані 15-річні вразливості безпеки та рішення для їх виправлення
Біткойн-часові спотворення атаки: прихована давня уразливість безпеки
У березні 2025 року розробники Біткойна запропонували нову пропозицію про м'який хард-форк, метою якої є виправлення деяких вразливостей і слабкостей, що існують у протоколі Біткойна протягом тривалого часу. Однією з вразливостей, що отримала особливу увагу, є "атака на спотворення часу", на якій зосереджено увагу цієї статті.
Захисний механізм часових міток Біткойна
Перш ніж обговорювати атаки на спотворення часу, нам потрібно зрозуміти існуючі правила захисту Біткойн від маніпуляцій з часом:
Медіана минулого часу (MPT) правило: час блоків повинен бути пізнішим за медіану часу попередніх 11 блоків.
Правила часу блоку в майбутньому: час блоків не може випереджати медіанний час мережевих вузлів більш ніж на 2 години. У той же час, максимальна допустима різниця між часом вузла та локальними системними годинами становить 90 хвилин.
Ці правила спрямовані на запобігання надмірному маніпулюванню часовими позначками блоків. Проте, через необхідність первинної синхронізації блокчейну, неможливо так суворо обмежити минулі часові позначки, як обмеження майбутніх. Атака на викривлення часу саме й використовує це, підробляючи часові позначки, які повертаються далеко в минуле.
Помилка «один в запасі» Сатоші Накамото
Труднощі Біткойна коригуються кожні 2016 блоків, що теоретично становить близько двох тижнів. При розрахунку коригування складності видобутку протокол обчислює різницю між часовими мітками першого та останнього блоку в цьому вікні з 2016 блоків. Однак Сатоші Накамото допустив невелику помилку під час проектування: він використовував 2016 замість 2015 для розрахунку цільового часу.
Ця помилка призвела до того, що цільовий час перевищує фактичний на 0,05%. Іншими словами, справжній цільовий інтервал блокування для Біткойн не становить 10 хвилин, а 10 хвилин і 0,3 секунди. Хоча ця похибка виглядає незначною, вона закладає основу для більш серйозних вразливостей.
Принцип атаки спотворення часу
Атака на спотворення часу була вперше виявлена приблизно у 2011 році. Зловмисники, маніпулюючи часовими мітками блоків, можуть штучно подовжити тривалість періоду корекції складності, що призводить до значного зниження складності.
Конкретно, зловмисник встановить часові мітки більшості блоків на лише на 1 секунду пізніше, ніж у попередньому блоці, при цьому дотримуючись правил MPT. У останньому блоці кожного періоду зміни складності зловмисник встановить часову мітку на реальний час. Таким чином, часовий проміжок, на якому ґрунтується розрахунок складності, штучно подовжується, внаслідок чого система помилково вважає, що швидкість створення блоків знижена, що призводить до зниження складності видобутку.
Постійно виконуючи цю операцію, зловмисник може знизити складність, зрештою досягнувши десятків блоків на секунду. Це не лише порушить нормальну роботу мережі Біткойн, але й може дозволити зловмиснику отримати велику кількість неправомірних винагород у вигляді Біткойн.
Фізична можливість атаки та виклики
Хоча теоретично така атака є руйнівною, її реалізація все ще стикається з деякими викликами:
Ці фактори в певній мірі обмежують реальну здійсненність атак, але не можуть повністю усунути загрозу.
Рішення
Щоб виправити цю вразливість, розробники запропонували кілька можливих рішень:
Наразі третій варіант отримав більше підтримки. Зокрема, пропозиція рекомендує встановити цей часовий ліміт на 2 години. Цей варіант може ефективно захистити від атак на спотворення часу та максимально знизити ризик випадкового створення недійсних блоків.
Висновок
Атака на спотворення часу виявила довгострокову проігноровану вразливість безпеки в протоколі Біткойн. Хоча ця вразливість досі не була фактично використана, її існування все ще заслуговує на увагу. У міру розвитку та вдосконалення мережі Біткойн своєчасне виявлення та усунення таких потенційних загроз допоможе забезпечити тривалу безпеку та стабільність всієї екосистеми.