Біткойн中的 повторні交易: рідкісний, але цікавий технічний дефект
У мережі Біткойн існує дві повністю ідентичні транзакції, що сталося через технічний дефект ранньої системи Біткойн. Це стало можливим, оскільки транзакції coinbase не мають жодних вхідних транзакцій, а безпосередньо генерують нові Біткойни. Таким чином, дві різні транзакції coinbase можуть надсилати однакову кількість монет на одну й ту ж адресу і бути побудованими абсолютно однаково, що призводить до абсолютно ідентичних транзакцій.
Ці дві групи повторних транзакцій відбулися в середині листопада 2010 року, тривалість близько 16 годин. Перша група повторних транзакцій була вставлена між другою групою. Ми класифікуємо транзакцію з ID, що починається на d5d2 і закінчується на 8599, як першу повторну транзакцію, оскільки вона спочатку стала копією, хоча дивно, що вона вперше з'явилася в блокчейні після іншої повторної транзакції.
Ці повторні транзакції кожна стосується 50 Біт, всього 200 Біт. Але з певної точки зору, з них насправді 100 Біт не існує. Станом на сьогодні, ці 200 Біт ще не були використані. Теоретично, якщо хтось має приватний ключ, пов'язаний з цими виходами, вони можуть використовувати ці монети. Але як тільки вони будуть використані, повторні 50 Біт не можуть бути використані знову і будуть втрачені, тому насправді лише 100 Біт можуть бути повернуті.
Повторні транзакції очевидно можуть створити плутанину для гаманців та блокчейн-браузерів, а також ускладнити розуміння джерела Біткойн. Це також може призвести до певних потенційних атак і вразливостей. Наприклад, зловмисник може здійснити дві повторні транзакції, щоб сплатити комусь двічі, але насправді отримувач може повернути лише половину коштів.
Щоб вирішити цю проблему, розробники Біткойн у 2012 році запропонували та реалізували м'який хардфорк BIP30, який забороняє використання повторюваних ідентифікаторів транзакцій для угод, якщо попередній ідентифікатор транзакції вже був використаний. У липні 2012 року був також запропонований м'який хардфорк BIP34, який вимагав, щоб транзакції coinbase містили інформацію про висоту блоку, що додатково забезпечує унікальність транзакцій.
Однак, BIP34 не вирішив проблему повністю. У деяких блоках, які були створені до активації BIP34, перший байт scriptSig деяких coinbase-транзакцій точно збігався з майбутньою дійсною висотою блоку. Це означає, що на певних конкретних висотах блоку в майбутньому все ще можуть виникати повторні транзакції.
Наступний блок, у якому можуть виникнути повторні транзакції, - це 1,983,702, який, як очікується, буде створений приблизно в січні 2046 року. Але для того, щоб скористатися цією вразливістю, майнерам потрібно буде заплатити величезну ціну, яка, за поточною ціною Біткойна, може перевищувати 15 мільйонів доларів. Враховуючи складність і вартість копіювання транзакцій, а також те, що можливість скористатися цим дуже рідкісна, ця вразливість не становить значної загрози безпеці Біткойна.
Попри це, розробники Біткойн все ще намагаються знайти спосіб повністю вирішити цю проблему. Одним з можливих рішень є впровадження зобов'язань SegWit. У будь-якому випадку, цей рідкісний технічний дефект дає нам цікаву перспективу, яка дозволяє зазирнути в складність і еволюцію системи Біткойн.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
12 лайків
Нагородити
12
7
Поділіться
Прокоментувати
0/400
TokenSleuth
· 8год тому
Ранні шиткоїни були занадто примітивними, тс-тс.
Переглянути оригіналвідповісти на0
OffchainOracle
· 9год тому
All in один раз — це два рази, так?
Переглянути оригіналвідповісти на0
quiet_lurker
· 9год тому
Не знаю нічого, тільки й можу, що кричати булран, хе-хе
Переглянути оригіналвідповісти на0
ImpermanentLossFan
· 9год тому
btc подвійні витрати таки дійсно існували. Це ж занадто абсурдно!
Переглянути оригіналвідповісти на0
NotSatoshi
· 9год тому
Бачити диявола, навіть повторна торгівля, Сатоші Накамото теж зазнав невдачі
Переглянути оригіналвідповісти на0
PaperHandsCriminal
· 9год тому
Ранні баги в криптосвіті завадили мені заробити кілька десятків тисяч.
Переглянути оригіналвідповісти на0
ServantOfSatoshi
· 9год тому
Сатоші Накамото також не міг уявити собі цей баг, ранній код дійсно був жахливим.
Біткойн рідкісні повторні транзакції виявляють ранні системні дефекти. Який вплив це матиме на майбутнє?
Біткойн中的 повторні交易: рідкісний, але цікавий технічний дефект
У мережі Біткойн існує дві повністю ідентичні транзакції, що сталося через технічний дефект ранньої системи Біткойн. Це стало можливим, оскільки транзакції coinbase не мають жодних вхідних транзакцій, а безпосередньо генерують нові Біткойни. Таким чином, дві різні транзакції coinbase можуть надсилати однакову кількість монет на одну й ту ж адресу і бути побудованими абсолютно однаково, що призводить до абсолютно ідентичних транзакцій.
Ці дві групи повторних транзакцій відбулися в середині листопада 2010 року, тривалість близько 16 годин. Перша група повторних транзакцій була вставлена між другою групою. Ми класифікуємо транзакцію з ID, що починається на d5d2 і закінчується на 8599, як першу повторну транзакцію, оскільки вона спочатку стала копією, хоча дивно, що вона вперше з'явилася в блокчейні після іншої повторної транзакції.
Ці повторні транзакції кожна стосується 50 Біт, всього 200 Біт. Але з певної точки зору, з них насправді 100 Біт не існує. Станом на сьогодні, ці 200 Біт ще не були використані. Теоретично, якщо хтось має приватний ключ, пов'язаний з цими виходами, вони можуть використовувати ці монети. Але як тільки вони будуть використані, повторні 50 Біт не можуть бути використані знову і будуть втрачені, тому насправді лише 100 Біт можуть бути повернуті.
Повторні транзакції очевидно можуть створити плутанину для гаманців та блокчейн-браузерів, а також ускладнити розуміння джерела Біткойн. Це також може призвести до певних потенційних атак і вразливостей. Наприклад, зловмисник може здійснити дві повторні транзакції, щоб сплатити комусь двічі, але насправді отримувач може повернути лише половину коштів.
Щоб вирішити цю проблему, розробники Біткойн у 2012 році запропонували та реалізували м'який хардфорк BIP30, який забороняє використання повторюваних ідентифікаторів транзакцій для угод, якщо попередній ідентифікатор транзакції вже був використаний. У липні 2012 року був також запропонований м'який хардфорк BIP34, який вимагав, щоб транзакції coinbase містили інформацію про висоту блоку, що додатково забезпечує унікальність транзакцій.
Однак, BIP34 не вирішив проблему повністю. У деяких блоках, які були створені до активації BIP34, перший байт scriptSig деяких coinbase-транзакцій точно збігався з майбутньою дійсною висотою блоку. Це означає, що на певних конкретних висотах блоку в майбутньому все ще можуть виникати повторні транзакції.
Наступний блок, у якому можуть виникнути повторні транзакції, - це 1,983,702, який, як очікується, буде створений приблизно в січні 2046 року. Але для того, щоб скористатися цією вразливістю, майнерам потрібно буде заплатити величезну ціну, яка, за поточною ціною Біткойна, може перевищувати 15 мільйонів доларів. Враховуючи складність і вартість копіювання транзакцій, а також те, що можливість скористатися цим дуже рідкісна, ця вразливість не становить значної загрози безпеці Біткойна.
Попри це, розробники Біткойн все ще намагаються знайти спосіб повністю вирішити цю проблему. Одним з можливих рішень є впровадження зобов'язань SegWit. У будь-якому випадку, цей рідкісний технічний дефект дає нам цікаву перспективу, яка дозволяє зазирнути в складність і еволюцію системи Біткойн.
! Дублювання транзакцій Bitcoin: цікавий баг з мінімальним ризиком