Біткойн часового спотворення атака: потенційні ризики та рішення

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

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

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

Механізм захисту часових міток блоків Біткойна

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

  1. Медіана часу в минулому (MPT) Правило: Часова мітка блоку повинна бути пізнішою за медіану часу попередніх 11 блоків.

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

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

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

Помилка "на один" Сатоші Накамото

Період коригування складності Біткойна містить 2016 блоків, що становить близько двох тижнів часу. При розрахунку коригування складності видобутку протокол порівнює таймстемпи першого та останнього блоків у відповідному вікні з 2016 блоків. Однак це вікно насправді містить інтервали в 2015 блоків. Тому правильний цільовий час має становити 1,209,000 секунд, але протокол Біткойна використовує 1,209,600 секунд. Ця похибка 0.05% призводить до фактичного цільового інтервалу часу в 10 хвилин 0.3 секунди.

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

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

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

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

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

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

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

Аналіз здійсненності атаки

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

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

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

Рішення

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

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

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

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

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

BTC2.65%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Репост
  • Поділіться
Прокоментувати
0/400
ShamedApeSellervip
· 07-11 15:09
Труднощі з перенацілюванням це рухає мій торт а
Переглянути оригіналвідповісти на0
Web3ProductManagervip
· 07-11 10:40
дивлячись на показники утримання, це виправлення часового спотворення є критично важливим для мережевих ефектів btc, чесно кажучи
Переглянути оригіналвідповісти на0
SandwichTradervip
· 07-08 19:46
Швидше полагодьте, не затягуйте знову.
Переглянути оригіналвідповісти на0
bridge_anxietyvip
· 07-08 19:45
Безпека все ще дуже важлива
Переглянути оригіналвідповісти на0
HodlVeteranvip
· 07-08 19:41
Старі невдахи потрапили в безліч пасток, щоб підставити ногу новому поколінню.
Переглянути оригіналвідповісти на0
FarmToRichesvip
· 07-08 19:41
Код знову дав баг~
Переглянути оригіналвідповісти на0
nft_widowvip
· 07-08 19:28
Виявили вразливість, але все ще ховаєте її?
Переглянути оригіналвідповісти на0
BearMarketBardvip
· 07-08 19:26
Майнінг要稳定啊~
Переглянути оригіналвідповісти на0
  • Закріпити