Біткойн повторна транзакція: цікава, але з незначним ризиком уразливість
У системі Біткойн існує рідкісне явище: дві групи абсолютно ідентичних транзакцій. Це може статися, тому що coinbase транзакції не мають жодного входу, а просто генерують нові монети. Отже, два різні coinbase транзакції можуть надіслати однакову кількість монет на одну й ту ж адресу і бути побудованими абсолютно однаково, що робить їх абсолютно ідентичними. Оскільки ці транзакції мають однаковий зміст, їхні ідентифікатори транзакцій (TXID) також будуть збігатися, оскільки TXID є хешем даних транзакції.
Ці дві групи повторних транзакцій відбулися між 14 та 15 листопада 2010 року, з інтервалом близько 16 годин. Перша група повторних транзакцій (TXID:d5d2....8599) вставлена між другою групою. Хоча d5d2....8599 спочатку стала копією, дивно, що час її першої появи в блокчейні виявився пізнішим за іншу повторну транзакцію e3bf....b468.
Повторні транзакції, безумовно, можуть спричинити певні проблеми. Вони можуть призвести до плутанини в гаманцях та блокчейн-оглядачах, а також ускладнити відстеження походження Біткойн. Ще серйозніше, вони можуть бути використані для атак. Наприклад, зловмисник може зробити дві повторні транзакції, щоб заплатити комусь двічі, але насправді одержувач може отримати лише половину коштів. Це може бути використано для атаки на біржі, намагаючись зробити їх неплатоспроможними.
Щоб вирішити цю проблему, розробники Біткойн вжили кілька заходів:
У березні 2012 року було реалізовано м'який форк BIP30, забороняючи використання повторюваних TXID для транзакцій, якщо попередній TXID не був витрачений.
У вересні 2012 року Грег Максвелл змінив правила, щоб перевірка BIP30 застосовувалася до всіх блоків, а не тільки до блоків після 15 березня 2012 року.
У березні 2013 року було активовано м'який форк BIP34, який вимагав, щоб транзакції coinbase містили висоту блоку, що в основному вирішило проблему повторних транзакцій.
У листопаді 2015 року розробники видалили перевірку BIP30 для вузлів, оскільки BIP34 вже вирішив цю проблему.
Однак, BIP34 не є ідеальним. У деяких блоках, що були створені до активації BIP34, перший байт scriptSigs транзакції coinbase збігався з майбутньою дійсною висотою блоку. Це означає, що залишається дуже маленька ймовірність виникнення повторних транзакцій.
Наступний блок, у якому можуть з'явитися повторні транзакції, - це 1,983,702, який, як очікується, буде згенеровано приблизно в січні 2046 року. Але для використання цього уразливості майнерам потрібно буде витратити величезні кошти. За поточною ціною Біткойна вартість атаки може перевищувати 15 мільйонів доларів, і, по суті, немає жодного реального прибутку.
Потенційні вразливі блоки з'являться лише в 2078 році, і в той час вартість атак може стати ще вищою. Крім того, з моменту оновлення SegWit у 2017 році, транзакції coinbase також містять зобов'язання щодо всіх транзакцій у блоці, що ще більше ускладнює атаки.
Отже, хоча цей повторний торговий уразливість теоретично існує, але з огляду на складність, витрати та вкрай рідкісні можливості її використання, вона не становить основної загрози безпеці Біткойна. Тим не менш, це питання все ще викликає занепокоєння у розробників, які можуть спробувати повністю виправити цю уразливість до 2046 року, можливо, шляхом м'якого хардфорку.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
10 лайків
Нагородити
10
5
Поділіться
Прокоментувати
0/400
AllInAlice
· 15год тому
Стара проблема, хто ще цього боїться
Переглянути оригіналвідповісти на0
Ser_Liquidated
· 15год тому
BTC ніколи не старіє, заробляючи гроші з чистою совістю
Переглянути оригіналвідповісти на0
SchrodingerPrivateKey
· 15год тому
Вже давно виправлено, стара жовта книга.
Переглянути оригіналвідповісти на0
ForkMonger
· 15год тому
ніколи не пізно для деякого управлінського фад...
Переглянути оригіналвідповісти на0
WalletManager
· 16год тому
Недоліки не затьмарюють переваги у блокчейні безпека понад усе
Біткойн повторна транзакція вразливість: цікава історична проблема та незначний ризик
Біткойн повторна транзакція: цікава, але з незначним ризиком уразливість
У системі Біткойн існує рідкісне явище: дві групи абсолютно ідентичних транзакцій. Це може статися, тому що coinbase транзакції не мають жодного входу, а просто генерують нові монети. Отже, два різні coinbase транзакції можуть надіслати однакову кількість монет на одну й ту ж адресу і бути побудованими абсолютно однаково, що робить їх абсолютно ідентичними. Оскільки ці транзакції мають однаковий зміст, їхні ідентифікатори транзакцій (TXID) також будуть збігатися, оскільки TXID є хешем даних транзакції.
Ці дві групи повторних транзакцій відбулися між 14 та 15 листопада 2010 року, з інтервалом близько 16 годин. Перша група повторних транзакцій (TXID:d5d2....8599) вставлена між другою групою. Хоча d5d2....8599 спочатку стала копією, дивно, що час її першої появи в блокчейні виявився пізнішим за іншу повторну транзакцію e3bf....b468.
Повторні транзакції, безумовно, можуть спричинити певні проблеми. Вони можуть призвести до плутанини в гаманцях та блокчейн-оглядачах, а також ускладнити відстеження походження Біткойн. Ще серйозніше, вони можуть бути використані для атак. Наприклад, зловмисник може зробити дві повторні транзакції, щоб заплатити комусь двічі, але насправді одержувач може отримати лише половину коштів. Це може бути використано для атаки на біржі, намагаючись зробити їх неплатоспроможними.
Щоб вирішити цю проблему, розробники Біткойн вжили кілька заходів:
У березні 2012 року було реалізовано м'який форк BIP30, забороняючи використання повторюваних TXID для транзакцій, якщо попередній TXID не був витрачений.
У вересні 2012 року Грег Максвелл змінив правила, щоб перевірка BIP30 застосовувалася до всіх блоків, а не тільки до блоків після 15 березня 2012 року.
У березні 2013 року було активовано м'який форк BIP34, який вимагав, щоб транзакції coinbase містили висоту блоку, що в основному вирішило проблему повторних транзакцій.
У листопаді 2015 року розробники видалили перевірку BIP30 для вузлів, оскільки BIP34 вже вирішив цю проблему.
Однак, BIP34 не є ідеальним. У деяких блоках, що були створені до активації BIP34, перший байт scriptSigs транзакції coinbase збігався з майбутньою дійсною висотою блоку. Це означає, що залишається дуже маленька ймовірність виникнення повторних транзакцій.
Наступний блок, у якому можуть з'явитися повторні транзакції, - це 1,983,702, який, як очікується, буде згенеровано приблизно в січні 2046 року. Але для використання цього уразливості майнерам потрібно буде витратити величезні кошти. За поточною ціною Біткойна вартість атаки може перевищувати 15 мільйонів доларів, і, по суті, немає жодного реального прибутку.
Потенційні вразливі блоки з'являться лише в 2078 році, і в той час вартість атак може стати ще вищою. Крім того, з моменту оновлення SegWit у 2017 році, транзакції coinbase також містять зобов'язання щодо всіх транзакцій у блоці, що ще більше ускладнює атаки.
Отже, хоча цей повторний торговий уразливість теоретично існує, але з огляду на складність, витрати та вкрай рідкісні можливості її використання, вона не становить основної загрози безпеці Біткойна. Тим не менш, це питання все ще викликає занепокоєння у розробників, які можуть спробувати повністю виправити цю уразливість до 2046 року, можливо, шляхом м'якого хардфорку.