Біткойн повторна транзакція вразливість: рідкісна, але потенційно має далекосяжні наслідки

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

Біткойн中的 повторні транзакції: цікавий, але дуже ризикований漏洞

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

Біткойн повторні транзакції: цікава помилка з дуже низьким ризиком

Ці дві групи повторних угод відбулися між 14 та 15 листопада 2010 року, тривалість приблизно 16 годин. Перша група повторних угод була вставлена між другою групою. Ми класифікуємо угоди з ідентифікатором, що починається на d5d2, як першу повторну угоду, хоча вона вперше з'явилася на блокчейні пізніше.

Біткойн的 повторні транзакції: цікавий баг з дуже низьким ризиком

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

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

Біткойн повторні транзакції: цікавий баг з дуже низьким ризиком

Щоб вирішити цю проблему, у березні 2012 року був запроваджений м'який хард-форк BIP30, який забороняє використання повторюваних ідентифікаторів транзакцій, якщо попередня транзакція не була використана. У вересні 2012 року це правило було додатково змінено, щоб застосовуватися до всіх блоків, залишивши лише дві згадані раніше групи повторюваних транзакцій.

BIP34, активований у березні 2013 року, вимагав, щоб транзакції coinbase містили висоту блоку, що в основному вирішило проблему повторних транзакцій. Після цього вузли припинили дорогі перевірки BIP30.

Біткойн повторні транзакції: цікава помилка з дуже низьким ризиком

Проте, до активації BIP34 деякі coinbase транзакції мали перший байт scriptSig, який точно відповідав майбутній дійсній висоті блоку. Наступний блок, в якому можуть виникнути повторні транзакції, — це 1,983,702, який, як очікується, буде створено у січні 2046 року. Але використання цієї вразливості коштує дуже дорого, потрібно знищити близько 170 BTC, що за поточною ціною перевищує 15 мільйонів доларів.

Біткойн повторні транзакції: цікавий баг з мінімальним ризиком

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

Біткойн повторні транзакції: цікавий баг з мінімальним ризиком

BTC1.24%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
GasFeeCriervip
· 08-07 02:02
13-річний старий btc, якого слід було давно виправити.
Переглянути оригіналвідповісти на0
StakeWhisperervip
· 08-06 14:11
Біткойн старий плітка.
Переглянути оригіналвідповісти на0
GasWastervip
· 08-04 05:30
лmao уявіть, що ви турбуєтеся про дублікати tx, коли я тут плачу 3x Комісія за газ за невдалі транзакції smh
Переглянути оригіналвідповісти на0
HackerWhoCaresvip
· 08-04 05:30
50 біткоїнів, тільки подумати про це вже боляче.
Переглянути оригіналвідповісти на0
hodl_therapistvip
· 08-04 05:12
Піднімалося до запаморочення. Коли буде сприятлива інформація?
Переглянути оригіналвідповісти на0
  • Закріпити