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

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

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

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

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

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

Блокчейн-оглядачі по-різному обробляють ці повторювані транзакції. Деякі оглядачі за замовчуванням показують більш ранні блоки, тоді як інші завжди показують найновішу версію. Серед чотирьох залучених блоків лише один блок містить інші транзакції, об'єднуючи 1 Біт і 19 Біт в 20 Біт.

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

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

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

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

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

Наступний блок, в якому можуть виникнути повторні транзакції, – це 1,983,702, який, як очікується, буде згенеровано приблизно в січні 2046 року. Однак витрати на використання цього вразливості є дуже високими, і потрібні витрати понад 170 BTC, що за поточною ціною становить близько 15 мільйонів доларів США. З огляду на витрати та складність, ця вразливість не становить основної загрози безпеці Біткойна.

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

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

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

BTC-1.65%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
BoredWatchervip
· 18год тому
Цей баг виглядає трохи лякаюче
Переглянути оригіналвідповісти на0
GasBankruptervip
· 18год тому
Цей баг не ж просто бійка, а потрібно ще й за порядком? Не дотримуючись бойових принципів.
Переглянути оригіналвідповісти на0
GraphGuruvip
· 18год тому
Хто розуміє, це просто стара помилка.
Переглянути оригіналвідповісти на0
GateUser-a5fa8bd0vip
· 18год тому
Що тут дивного, я вже давно це знаю.
Переглянути оригіналвідповісти на0
SatoshiLegendvip
· 19год тому
З точки зору функції hash160 з вихідного коду BTC, цей баг — це приречена доля.
Переглянути оригіналвідповісти на0
  • Закріпити