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

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

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

Огляд

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

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

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

Деталі повторної угоди

Блокчейн-оглядач mempool.space показав випадок повторної транзакції, що з'явилася в двох різних блоках. Цікаво, що різні блокчейн-оглядачі можуть мати різну поведінку за замовчуванням при відображенні повторних транзакцій.

У чотирьох залучених блоках лише один блок містить інші транзакції, об'єднавши 1 Біткойн і 19 Біткойнів в один вихід у 20 Біткойнів.

! Дублювання транзакцій Bitcoin: цікава помилка з мінімальним ризиком

Повторювана витратність

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

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

Проблема повторних транзакцій

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

Заходи

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

  1. BIP30: Запропоновано та реалізовано в 2012 році, забороняє використання повторюваних TXID для транзакцій, якщо попередній TXID не був витрачений.

  2. BIP34: активовано у 2013 році, вимагає, щоб транзакція coinbase містила висоту блоку, що робить всі транзакції унікальними.

  3. Зупинка перевірки BIP30: у 2015 році, через впровадження BIP34, вузли зупинили дорогі перевірки BIP30.

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

Потенційні ризики

Хоча BIP34 вирішив більшість проблем, деякі блоки до активації BIP34 можуть мати scriptSigs coinbase-транзакцій, які можуть відповідати майбутній висоті блоків, що все ще несе потенційний ризик повторення. Наступний блок, у якому можуть виникнути повторні транзакції, це 1,983,702, який, як очікується, буде згенеровано близько січня 2046 року.

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

Висновок

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

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

BTC0.11%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
SillyWhalevip
· 20год тому
Вразливість має певний інтерес.
Переглянути оригіналвідповісти на0
FlashLoanPrincevip
· 20год тому
Ранні коди були справді випадковими
Переглянути оригіналвідповісти на0
retroactive_airdropvip
· 20год тому
Блокчейн не такий простий
Переглянути оригіналвідповісти на0
WalletAnxietyPatientvip
· 20год тому
хеш значення погане, але не панікуйте
Переглянути оригіналвідповісти на0
ForumLurkervip
· 21год тому
Тоді деталі справді лякали.
Переглянути оригіналвідповісти на0
BtcDailyResearchervip
· 21год тому
Схований БАГ був виявлений.
Переглянути оригіналвідповісти на0
  • Закріпити