Аналіз вразливості часових спотворень Біткойну: як пропозиція великого консенсусу виправляє слабкості протоколу

robot
Генерація анотацій у процесі

Аналіз вразливості часової спотворення протоколу Біткойн

У березні 2025 року розробники Біткойн запропонували м'який форк під назвою "Великий консенсус очищення", метою якого є виправлення кількох довготривалих вразливостей і слабкостей у протоколі Біткойн. Однією з більш серйозних вразливостей є "атака на спотворення часу", яку ми детально розглянемо в цій статті.

Захисний механізм міток часу Біткойна

Перед обговоренням атак на спотворення часу давайте спочатку розглянемо поточні правила захисту від маніпуляцій з часом у мережі Біткойн:

  1. Середній час минулого (MPT) правило: час позначки блоку має бути пізніше середнього часу перших одинадцяти блоків.

  2. Правила часу блоків у майбутньому: Часова мітка блоку не може випереджати медіанний час мережевих вузлів більш ніж на 2 години, а максимальна дозволена різниця між часом вузла та локальним системним годинником становить 90 хвилин.

Ці правила мають на меті запобігти надмірному маніпулюванню часовими мітками блоків, як у минулому, так і в майбутньому. Однак атаки на спотворення часу в основному використовують вразливість підробки часових міток у минулому.

Біткойн безпекова уразливість: атака на спотворення часу

Помилка "на один" засновника Біткойн

Біткойн має період налаштування складності, який містить 2016 монет, що теоретично становить приблизно два тижні часу. Під час розрахунку налаштування складності видобутку, протокол розраховує різницю в часових мітках між першим і останнім блоком у відповідному вікні з 2016 монет. Однак це вікно насправді містить лише 2015 інтервалів монет.

Правильний цільовий час має становити 60 секунд * 10 хвилин * 2015 інтервалів = 1,209,000 секунд. Але протокол Біткойн використовує число 2016, що призводить до результату 1,209,600 секунд. Ця похибка у 0,05% робить фактичний цільовий інтервал блоків Біткойн трохи довшим за 10 хвилин, становлячи 10 хвилин 0,3 секунди.

Хоча ця похибка здається незначною, вона пов'язана з ще однією серйознішою проблемою. Обчислення складності базується лише на першому та останньому блоці в кожному 2016-блоковому вікні, а не на різниці між останнім блоком попереднього вікна та останнім блоком поточного вікна. Такий метод розрахунку створює умови для атак на спотворення часу.

Біткойн безпека вразливості: атака на спотворення часу

Принцип атаки спотворення часу

Атака на викривлення часу була вперше виявлена приблизно у 2011 році. У цій атаці припускається, що видобуток монет повністю централізований, і зловмисник може маніпулювати мітками часу блоків. Зловмисник встановлює мітки часу більшості блоків лише на одну секунду раніше, ніж попередній блок, дотримуючись правил MTP. Щоб якомога повільніше просувати час, зловмисник може шість поспіль блоків зберігати однакову мітку часу, а потім на сьомому блоці додати одну секунду, і так продовжувати.

Ця операція призведе до того, що час блокчейну все більше відставатиме від реального часу. Однак ключ до атаки полягає в останньому блоці кожного періоду корекції складності. Зловмисник встановить часовий штамп цього блоку на реальний світовий час, тоді як часовий штамп першого блоку наступного періоду знову буде встановлений на минулий час.

Таким чином, після першого циклу складність не буде підлягати впливу. Але з другого циклу коригування складність почне знижуватися. Це дозволяє зловмисникам швидко створювати блоки, потенційно генеруючи велику кількість Біткойн і отримуючи з цього прибуток.

Біткойн безпекова уразливість: атака зміщення часу

Здійсненність атак і виклики

Хоча теоретично така атака є руйнівною, її реальна реалізація стикається з багатьма викликами:

  1. Необхідно контролювати більшість мережевої обчислювальної потужності.
  2. Існування чесних майнерів підвищить складність атак.
  3. Правила MTP та чесний часовий штамп обмежують ступінь зворотного відмічання зловмисних часових штампів.
  4. Якщо чесний майнер створить перший блок у будь-якому вікні корекції складності, атака цього циклу буде неефективною.
  5. Процес атаки є відкритим і видимим, що може призвести до термінового м'якого форка для виправлення.

Біткойн безпека вразливостей: атака спотворення часу

Рішення

Існує кілька можливих способів виправлення цього вразливості:

  1. Змінити алгоритм корекції складності, обчислити часовий інтервал між різними вікнами блоків 2016, одночасно виправивши помилку "один недостатній".
  2. Скасувати правила MTP, вимагати, щоб час завжди рухався вперед у кожному блоці.
  3. Введення нових обмежувальних правил, що вимагають, щоб час першого блоку нового періоду складності не був раніше певного часу (наприклад, 2 години) перед останнім блоком попереднього періоду.

Наразі в пропозиції щодо очищення великого консенсусу застосовано третій метод, який встановлює часовий ліміт у 2 години. Цей план здатен ефективно зменшити ризик атак на спотворення часу та мінімізувати ризик випадкових недійсних блоків.

Шляхом впровадження цих покращень мережа Біткойн зможе краще протистояти атакам на спотворення часу, що подальше зміцнить її безпеку та стабільність.

Біткойн безпекова уразливість: атака на спотворення часу

BTC-1.81%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Репост
  • Поділіться
Прокоментувати
0/400
NFTRegrettervip
· 08-19 18:01
Знову приходите виправляти вразливості? BTC справді не вражає.
Переглянути оригіналвідповісти на0
StablecoinArbitrageurvip
· 08-19 07:22
*регулює торговий монітор* нарешті хтось звертає увагу на вектор тимчасового арбітражу... мої алгоритми виявили це 6 місяців тому
Переглянути оригіналвідповісти на0
CoffeeNFTsvip
· 08-17 01:11
протокол вразливість Казати, що я боюся когось?
Переглянути оригіналвідповісти на0
DataOnlookervip
· 08-17 01:09
Майнінг треба починати з малечі
Переглянути оригіналвідповісти на0
CascadingDipBuyervip
· 08-17 01:05
А це… btc знову вийшов з ладу, здається, мені доведеться купувати просадку.
Переглянути оригіналвідповісти на0
GweiTooHighvip
· 08-17 01:01
Знову хтось робить велику чистку?
Переглянути оригіналвідповісти на0
Ybaservip
· 08-17 00:44
дякую за інформацію та поділ
Переглянути оригіналвідповісти на0
  • Закріпити