У механізмі майнінгу біткойна виявили помилку нульового дня - ForkLog: криптовалюти, ШІ, сингулярність, майбутнє

BTClogo# В механізмі майнінгу біткойна виявили помилку нульового дня

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

Сатоші помилився.

В майнінгу біткойна з самого першого дня є помилка. Це проста помилка у розрахунках Сатоші, яку можна використати для майнінгу блоків із шаленою швидкістю. Це одна з помилок, яку вирішує BIP-0054 (у обговоренні). Я вам… pic.twitter.com/GurNv3qKrZ

— Луїк Морель (@Loic_Pandul) 11 квітня 2026

Згідно з публікацією, несправність пов’язана з механізмом коригування складності

Кожні 2016 блоків (приблизно раз на дві тижні) вузли перераховують цільовий показник так, щоб з’являвся один блок кожні 10 хвилин, незалежно від обчислювальної потужності майнерів. Для цієї корекції вузли вимірюють тривалість останнього періоду, порівнюють цільове значення (2016 x 600 = 1 209 600 секунд), а потім відповідним чином змінюють складність.

Саме в цих розрахунках криється помилка. Для вимірювання таймінгу блоків у минулому періоді вузол порівнює мітку часу першого блоку періоду з міткою часу останнього. Інстинктивно це здається логічним, але насправді це помилка, оскільки між першим і останнім блоками періоду всього 2015 інтервалів, а не 2016», — пояснив Морель

Якщо позначити t0 як мітку часу першого блоку, а t2015 як мітку останнього, вузол обчислює минулий час як T = t2015 — t0. Таким чином отримуємо 2015 інтервалів (від t0 до t1 > від t1 до t2 > … > від t2014 до t2015)

Для отримання 2016 інтервалів потрібно використовувати іншу формулу: T = t2015 — t-1, де t-1 — мітка часу останнього блоку попереднього періоду.

Це називається помилкою «зміщення на один». Ця помилка вносить похибку приблизно в 0,05% у сторону трохи завищеної складності.

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

Маніпуляція часом

Ця різниця робить можливою атаку «викривлення часу». Її принцип полягає в наступному:

  1. Майнер, який контролював більшу частину обчислювальної потужності, починає встановлювати мінімально допустимі мітки часу для всіх блоків за період (крім останнього).
  2. У останньому блоці періоду він штучно призначає максимально допустиму мітку часу.
  3. Після завершення періоду коригується складність. Через маніпуляції з боку зловмисника з мітками, виміряний період тривав довше, ніж насправді. В результаті складність знижується.
  4. Атакуючий повторює аналогічну маніпуляцію в наступному періоді. Оскільки періоди не перекриваються, перший блок другого періоду атаки може мати мітку часу, що належить далекому минулому, тоді як попередній блок має мітку часу у майбутньому. Цей розрив збільшується від періоду до періоду.

Повторюючи процес кілька разів, зловмисник теоретично може знизити складність майнінгу до рівня, при якому створюється до шести блоків за секунду (замість одного кожні 10 хвилин).

Наслідки були б жахливими: тимчасові блокування були б безглузді, мережа перевантажена, кількість реорганізацій зросла, а підтвердження транзакцій втратили цінність. Все це дозволило б зловмиснику збирати нагороду за блок у шалений темп», — додав дослідник.

Атака була б неможливою, якщо перший і останній блок двох послідовних періодів співпадали.

Як виправити цю помилку?

Морель зазначив, що виправити проблему можна за допомогою софтфорка в рамках BIP-0054.

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

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

Нагадаємо, що у лютому партнер Castle Island Ventures Нік Картер спрогнозував «корпоративне захоплення» біткойна через квантову загрозу.

BTC4,68%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріпити