Біткойн повторні транзакції: цікава, але малоризикова вразливість
Біткойн-транзакції зазвичай здійснюються шляхом посилання на ID попередньої транзакції для використання непотрачених виходів. Ці виходи можуть бути витрачені лише один раз, інакше це призведе до подвійної витрати, що знецінить Біткойн. Однак в історії Біткойна дійсно були зафіксовані дві групи абсолютно однакових транзакцій. Це стало можливим тому, що coinbase-транзакції не мають входів, а безпосередньо генерують нові монети. Таким чином, дві різні coinbase-транзакції можуть надіслати однакову кількість монет на одну й ту ж адресу, будучи абсолютно ідентичними, що призводить до утворення однакового ID транзакції.
Ці дві групи повторюваних транзакцій відбулися між 14 та 15 листопада 2010 року, тривалість приблизно 16 годин. Перша група повторюваних транзакцій (d5d2....8599) розташована між другою групою (e3bf....b468). Цікаво, що d5d2....8599, хоча спочатку стала повторною транзакцією, але на блокчейні з'явилася пізніше, ніж e3bf....b468.
Ці повторювані транзакції кожна вартістю 50 BTC, загалом залучають 200 BTC або 100 BTC( залежно від способу розуміння). На даний момент ці монети ще не витрачені. Теоретично, власник приватного ключа може витратити ці Біткойни, але тільки 100 BTC можуть бути дійсно повернуті. Щодо того, з якого блоку походять ці монети, можливо, неможливо визначити.
Повторні транзакції можуть викликати плутанину у гаманцях та блокчейн-оглядачах, а також можуть бути використані для атак. Наприклад, зловмисник може здійснити дві повторні транзакції на біржі, заплативши двічі, а потім швидко вивести кошти, намагаючись збанкрутувати біржу.
Щоб вирішити цю проблему, у березні 2012 року було впроваджено м'який форк BIP30, який забороняє використання повторюваних TXID для транзакцій. У вересні 2012 року це правило було додатково змінено, щоб поширюватися на всі блоки (, за винятком двох згаданих груп повторних транзакцій ). Активований у березні 2013 року BIP34 вимагає, щоб coinbase транзакції містили висоту блоку, що, здавалося б, радикально вирішує проблему повторних транзакцій.
Однак деякі coinbase-транзакції до активації BIP34 мають перший байт scriptSig, який точно відповідає майбутньому дійсному блоку. Це означає, що на певних конкретних висотах блоку все ще є можливість виникнення повторних транзакцій. Наступний блок, у якому можуть виникнути повторні транзакції, – це 1,983,702, який, за оцінками, буде згенерований приблизно в січні 2046 року.
Проте, вартість і складність використання цієї вразливості дуже високі. Майнерам потрібно не лише бути достатньо везучими, щоб видобути певний блок, але й витратити величезну кількість коштів. За поточною ціною Біткойна, така атака може коштувати понад 15 мільйонів доларів, і практично не має жодної реальної користі.
Враховуючи складність, витрати на копіювання угод і рідкість можливостей, цей недолік не становить основної загрози безпеці Біткойна. Проте, враховуючи часові масштаби та унікальність повторних угод, це питання все ще викликає роздуми. Розробники Біткойна протягом багатьох років витратили величезну кількість часу на цю проблему, 2046 рік може стати останнім терміном для повного виправлення цього недоліку. Методи виправлення можуть вимагати м'якого форка, одним із можливих рішень є примусове виконання зобов'язань SegWit.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
21 лайків
Нагородити
21
8
Репост
Поділіться
Прокоментувати
0/400
PositionPhobia
· 07-08 21:33
2046 року, спочатку потрібно жити
Переглянути оригіналвідповісти на0
TestnetScholar
· 07-08 20:31
2046 занадто далеко, сьогодні є вино, сьогодні п'яний.
Переглянути оригіналвідповісти на0
LayoffMiner
· 07-07 01:31
Ех, побачимося у 2046 році, машина працює нормально.
Переглянути оригіналвідповісти на0
RektButSmiling
· 07-05 22:06
Поговоримо про це в 2046 році, я пішов~
Переглянути оригіналвідповісти на0
ruggedNotShrugged
· 07-05 22:05
Хто ще зможе дожити до 2046 року, щоб побачити виправлення вразливостей?
Переглянути оригіналвідповісти на0
ser_we_are_ngmi
· 07-05 22:05
Ще треба чекати 23 роки. Чому ти так поспішаш...
Переглянути оригіналвідповісти на0
MetaNomad
· 07-05 21:54
2046 рік здається ще досить далеким, спочатку трохи посплю.
Біткойн повторні транзакції вразливість: 2046 року може прийти остаточне виправлення
Біткойн повторні транзакції: цікава, але малоризикова вразливість
Біткойн-транзакції зазвичай здійснюються шляхом посилання на ID попередньої транзакції для використання непотрачених виходів. Ці виходи можуть бути витрачені лише один раз, інакше це призведе до подвійної витрати, що знецінить Біткойн. Однак в історії Біткойна дійсно були зафіксовані дві групи абсолютно однакових транзакцій. Це стало можливим тому, що coinbase-транзакції не мають входів, а безпосередньо генерують нові монети. Таким чином, дві різні coinbase-транзакції можуть надіслати однакову кількість монет на одну й ту ж адресу, будучи абсолютно ідентичними, що призводить до утворення однакового ID транзакції.
Ці дві групи повторюваних транзакцій відбулися між 14 та 15 листопада 2010 року, тривалість приблизно 16 годин. Перша група повторюваних транзакцій (d5d2....8599) розташована між другою групою (e3bf....b468). Цікаво, що d5d2....8599, хоча спочатку стала повторною транзакцією, але на блокчейні з'явилася пізніше, ніж e3bf....b468.
Ці повторювані транзакції кожна вартістю 50 BTC, загалом залучають 200 BTC або 100 BTC( залежно від способу розуміння). На даний момент ці монети ще не витрачені. Теоретично, власник приватного ключа може витратити ці Біткойни, але тільки 100 BTC можуть бути дійсно повернуті. Щодо того, з якого блоку походять ці монети, можливо, неможливо визначити.
Повторні транзакції можуть викликати плутанину у гаманцях та блокчейн-оглядачах, а також можуть бути використані для атак. Наприклад, зловмисник може здійснити дві повторні транзакції на біржі, заплативши двічі, а потім швидко вивести кошти, намагаючись збанкрутувати біржу.
Щоб вирішити цю проблему, у березні 2012 року було впроваджено м'який форк BIP30, який забороняє використання повторюваних TXID для транзакцій. У вересні 2012 року це правило було додатково змінено, щоб поширюватися на всі блоки (, за винятком двох згаданих груп повторних транзакцій ). Активований у березні 2013 року BIP34 вимагає, щоб coinbase транзакції містили висоту блоку, що, здавалося б, радикально вирішує проблему повторних транзакцій.
Однак деякі coinbase-транзакції до активації BIP34 мають перший байт scriptSig, який точно відповідає майбутньому дійсному блоку. Це означає, що на певних конкретних висотах блоку все ще є можливість виникнення повторних транзакцій. Наступний блок, у якому можуть виникнути повторні транзакції, – це 1,983,702, який, за оцінками, буде згенерований приблизно в січні 2046 року.
! Дублікати транзакцій Bitcoin: цікава помилка з невеликим ризиком
Проте, вартість і складність використання цієї вразливості дуже високі. Майнерам потрібно не лише бути достатньо везучими, щоб видобути певний блок, але й витратити величезну кількість коштів. За поточною ціною Біткойна, така атака може коштувати понад 15 мільйонів доларів, і практично не має жодної реальної користі.
Враховуючи складність, витрати на копіювання угод і рідкість можливостей, цей недолік не становить основної загрози безпеці Біткойна. Проте, враховуючи часові масштаби та унікальність повторних угод, це питання все ще викликає роздуми. Розробники Біткойна протягом багатьох років витратили величезну кількість часу на цю проблему, 2046 рік може стати останнім терміном для повного виправлення цього недоліку. Методи виправлення можуть вимагати м'якого форка, одним із можливих рішень є примусове виконання зобов'язань SegWit.