Біткойн повторні транзакції: цікава, але з дуже незначним ризиком вразливість
Огляд
Торговля Біткойном зазвичай здійснюється шляхом посилання на ID попередньої транзакції для використання невитрачених виходів. Ці виходи можуть бути витрачені лише один раз, в іншому випадку може статися подвійна витрата. Однак в історії Біткойна дійсно були дві групи абсолютно однакових транзакцій. Це сталося тому, що транзакції coinbase не мають входу, а генерують нові монети. Отже, дві різні транзакції coinbase можуть надіслати ту саму кількість монет на одну й ту ж адресу, причому спосіб побудови абсолютно однаковий, що призводить до утворення однакових транзакцій.
Ці дві групи повторних угод відбулися з 14 по 15 листопада 2010 року, тривалість приблизно 16 годин. Перша група повторних угод розташована між другою групою. Ми класифікуємо угоди з ID, що починається на d5d2, як першу повторну угоду, хоча вона вперше з’явилася в блокчейні пізніше за іншу повторну угоду.
Деталі повторної транзакції
Ці повторні транзакції мають вартість 50 Біткойн кожна, загалом стосується 200 Біткойн, або, кажучи інакше, 100 Біткойн було повторно враховано. На даний момент ці 200 Біткойн не були витрачені. Теоретично, особа, що має відповідний приватний ключ, може витратити ці монети Біткойн. Але як тільки вони будуть витрачені, повторні 50 Біткойн не зможуть бути використані знову. Що стосується того, з якого блоку ці монети будуть витрачені, це може бути невизначено.
Проблема повторних угод
Повторні транзакції можуть викликати плутанину у гаманцях та блокчейн-браузерах, а також призвести до невизначеності щодо походження Біткойн. Вони також можуть бути використані для атак, наприклад, для повторної сплати комусь двічі, але насправді доступно лише половина коштів.
Рішення
Щоб вирішити цю проблему, у березні 2012 року було впроваджено м'який форк BIP30, що забороняє використання повторюваних TXID для проведення транзакцій. У вересні 2012 року це правило було додатково змінено, щоб застосовуватися до всіх блоків.
М'який форк BIP34, активований у березні 2013 року, вимагав, щоб транзакції coinbase містили висоту блоку, що в основному вирішило проблему повторних транзакцій. Після цього вузли припинили дорогі перевірки BIP30.
Однак, перший байт scriptSig деяких coinbase-транзакцій до BIP34 точно відповідає майбутній дійсній висоті блоку. Це означає, що все ще існує дуже мала ймовірність повторення.
Майбутні потенційні ризики
Наступний блок, у якому можуть виникнути повторні транзакції, - це 1,983,702, який, як очікується, буде створено приблизно в січні 2046 року. Але витрати на використання цієї вразливості перевищать 15 мільйонів доларів, і в основному не матимуть жодної користі.
Наступний вразливий блок очікується у 2078 році. Але в той час вартість використання цього вразливості може бути вищою.
Висновок
Враховуючи складність, витрати та дуже мало можливостей для копіювання угод, цей недолік не є основною загрозою безпеці Біткойн. Тим не менш, розробники протягом багатьох років все ще вкладали багато зусиль у цю проблему, 2046 рік може стати останнім терміном для повного виправлення цього питання. Методи виправлення можуть вимагати м'якого форкання, наприклад, примусового впровадження SegWit.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
8 лайків
Нагородити
8
4
Поділіться
Прокоментувати
0/400
MoonRocketman
· 08-02 04:39
Рекомендується встановити попередження RSI для моніторингу ймовірності повторного вторгнення траєкторії.
Переглянути оригіналвідповісти на0
MetaverseHermit
· 07-30 21:17
А це подвійні витрати, виявляється, вже давно були виявлені.
Переглянути оригіналвідповісти на0
MetaverseLandlord
· 07-30 19:27
Гарний хлопець, ти виявив баг із епохи первісних часів.
Переглянути оригіналвідповісти на0
DefiOldTrickster
· 07-30 19:16
Йо? Раніше ті справи з майнінгом справді змусили молодь їх згадати... Вгадай, скільки вигоди з повторної угоди тоді було отримано?
Біткойн повторні транзакції: аналіз історичних вад та потенційних ризиків у майбутньому
Біткойн повторні транзакції: цікава, але з дуже незначним ризиком вразливість
Огляд
Торговля Біткойном зазвичай здійснюється шляхом посилання на ID попередньої транзакції для використання невитрачених виходів. Ці виходи можуть бути витрачені лише один раз, в іншому випадку може статися подвійна витрата. Однак в історії Біткойна дійсно були дві групи абсолютно однакових транзакцій. Це сталося тому, що транзакції coinbase не мають входу, а генерують нові монети. Отже, дві різні транзакції coinbase можуть надіслати ту саму кількість монет на одну й ту ж адресу, причому спосіб побудови абсолютно однаковий, що призводить до утворення однакових транзакцій.
Ці дві групи повторних угод відбулися з 14 по 15 листопада 2010 року, тривалість приблизно 16 годин. Перша група повторних угод розташована між другою групою. Ми класифікуємо угоди з ID, що починається на d5d2, як першу повторну угоду, хоча вона вперше з’явилася в блокчейні пізніше за іншу повторну угоду.
Деталі повторної транзакції
Ці повторні транзакції мають вартість 50 Біткойн кожна, загалом стосується 200 Біткойн, або, кажучи інакше, 100 Біткойн було повторно враховано. На даний момент ці 200 Біткойн не були витрачені. Теоретично, особа, що має відповідний приватний ключ, може витратити ці монети Біткойн. Але як тільки вони будуть витрачені, повторні 50 Біткойн не зможуть бути використані знову. Що стосується того, з якого блоку ці монети будуть витрачені, це може бути невизначено.
Проблема повторних угод
Повторні транзакції можуть викликати плутанину у гаманцях та блокчейн-браузерах, а також призвести до невизначеності щодо походження Біткойн. Вони також можуть бути використані для атак, наприклад, для повторної сплати комусь двічі, але насправді доступно лише половина коштів.
Рішення
Щоб вирішити цю проблему, у березні 2012 року було впроваджено м'який форк BIP30, що забороняє використання повторюваних TXID для проведення транзакцій. У вересні 2012 року це правило було додатково змінено, щоб застосовуватися до всіх блоків.
М'який форк BIP34, активований у березні 2013 року, вимагав, щоб транзакції coinbase містили висоту блоку, що в основному вирішило проблему повторних транзакцій. Після цього вузли припинили дорогі перевірки BIP30.
Однак, перший байт scriptSig деяких coinbase-транзакцій до BIP34 точно відповідає майбутній дійсній висоті блоку. Це означає, що все ще існує дуже мала ймовірність повторення.
Майбутні потенційні ризики
Наступний блок, у якому можуть виникнути повторні транзакції, - це 1,983,702, який, як очікується, буде створено приблизно в січні 2046 року. Але витрати на використання цієї вразливості перевищать 15 мільйонів доларів, і в основному не матимуть жодної користі.
Наступний вразливий блок очікується у 2078 році. Але в той час вартість використання цього вразливості може бути вищою.
Висновок
Враховуючи складність, витрати та дуже мало можливостей для копіювання угод, цей недолік не є основною загрозою безпеці Біткойн. Тим не менш, розробники протягом багатьох років все ще вкладали багато зусиль у цю проблему, 2046 рік може стати останнім терміном для повного виправлення цього питання. Методи виправлення можуть вимагати м'якого форкання, наприклад, примусового впровадження SegWit.