Cointime

Download App
iOS & Android

Маленький баг биткоина: дублирование транзакций Coinbase

Cointime Official

Источник: Лю Цзяолянь

В четверг курс BTC немного колебался в диапазоне 86–87 тыс. Март 2025 года почти закончился. Март закончился, и первая четверть подходит к концу. Как сообщает Today’s Teaching Chain, этот первый квартал может оказаться худшим кварталом с 2018 года.

Время как вода, а годы как песни. BTC — это музыка, которую играет время. Однако в первые годы, особенно до 2013 года, в движении присутствовали некоторые разногласия. Эти несогласованные банкноты представляют собой повторяющиеся транзакции по чеканке монет (транзакции по чеканке монет).

Так называемая coinbase-транзакция (транзакция чеканки монет), также известная как coinbase-транзакция, является первой транзакцией в каждом вновь сгенерированном блоке BTC. Майнер, который добывает блок, обычно использует эту транзакцию для отправки вознаграждения за блок на свой собственный адрес.

Как мы все знаем, обычные транзакции BTC не могут быть повторены. Потому что обычные транзакции должны расходовать неизрасходованный выход существующей транзакции, так называемый UTXO, который цепочка сравнивает с «монетами». Эти монеты разные, поэтому каждая транзакция, расходующая эти монеты, также должна быть разной. Если монета тратится двумя транзакциями, это становится так называемой «двойной тратой», что строго запрещено BTC.

Однако было и исключение. Это и есть торговля на основе монет. Транзакции Coinbase являются транзакциями чеканки, поэтому вместо того, чтобы тратить монеты UTXO, новые BTC могут создаваться прямо из воздуха в качестве вознаграждения майнерам.

Если майнер добывает несколько блоков подряд и использует одну и ту же информацию при построении данных транзакции Coinbase, например, адрес получателя и другую дополнительную информацию, то можно построить две совершенно одинаковые транзакции. Это отражается в блокчейне в виде двух транзакций на основе монет, расположенных в разных блоках, но с одинаковыми данными транзакции и значением хэша.

Это повторяющаяся транзакция Coinbase.

Этот баг Bitcoin реален. Вот два реальных примера. Вы можете открыть любой браузер блокчейна BTC, чтобы проверить:

Высота блока 91812 и высота блока 91842 содержат две coinbase-транзакции с абсолютно одинаковыми значениями хэша.

Высота блока 91722 и высота блока 91880 содержат две coinbase-транзакции с абсолютно одинаковыми значениями хэша.

Хорошей новостью является то, что никто никогда не использовал такие дублирующие транзакции coinbase, чтобы потратить их и создать последующие обычные транзакции, которые также идентичны, тем самым загрязняя все пространство UTXO. После внедрения BIP-30 посредством софтфорка 15 марта 2012 года этот тип дублирующих транзакций больше не мог использоваться.

Кроме того, в марте 2013 года был активирован софтфорк BIP-34, который добавил информацию о высоте блока в качестве «номера версии» к конструкции транзакции coinbase, что сделало невозможным повторение хэш-значения транзакции coinbase.

В частности, с технической точки зрения высота блока добавляется к началу scriptSig транзакции coinbase. Первый байт — это количество байтов значения высоты блока — в настоящее время 0x03, что означает, что последующие 3 байта указывают высоту блока транзакции coinbase. Скрипт scriptSig в транзакции coinbase также называется скриптом coinbase. Это поле, которое майнеры могут свободно настраивать. Вначале он позволял записывать произвольные данные. Например, Сатоши Накамото написал заголовок The Times в этой области.

Более интуитивное сравнение. Давайте сначала рассмотрим scriptSig транзакции coinbase блока № 91812, где возникает проблема дублирования транзакции coinbase: 0456720e1b00 (OP_PUSHBYTES_4 56720e1b OP_0).

Когда я писал эту статью, скрипт транзакции coinbase для блока № 889678, который только что был создан Jiaolian, был следующим: 034e930d044260e5672f466f756e6472792055534120506f6f6c202364726f70676f6c642f23648154608b1500000000000 (OP_PUSHBYTES_3 4e930d OP_PUSHBYTES_4 4260e567 OP_PUSHBYTES_47).

Он начинается с 0x03, а следующие три байта — 43930d, что означает, что высота блока составляет 0x0d934e в шестнадцатеричном формате или 889678 в десятичном формате.

Плохая новость заключается в том, что до исправления в 2013 году некоторые из сгенерированных транзакций Coinbase также начинались с 0x03! Это позволяет будущим майнерам использовать это для намеренного создания дубликатов транзакций Coinbase.

Позвольте мне привести вам конкретный пример. Скрипт coinbase блока #164384 начинается с 0x03: 03d6441e014b0136 (OP_PUSHBYTES_3 d6441e OP_PUSHBYTES_1 4b OP_PUSHBYTES_1 36).

Мы не знаем, каковы были намерения майнера, когда он писал этот скрипт. Но мы знаем, что у него есть возможность воспользоваться этой уязвимостью и попытаться создать совершенно идентичную транзакцию Coinbase в будущем.

Сколько точно времени? Нам нужно провести простой расчет.

Согласно определению BIP-34, 3 байта, следующие за 0x03, представляют высоту блока. Для приведенного выше примера это d6441e, что в шестнадцатеричном формате равно 0x1e44d6 или 1983702 в десятичном формате.

Когда будет произведен блок №1983702? Поскольку BTC производит блок примерно каждые 10 минут, легко вывести, что от текущего блока № 889678 до будущего блока № 1983702 пройдет (1983072 - 889678)/6/24/365 = 20,8 лет, что составляет около 2046 года.

Плохая новость в том, что таких блоков все еще много. Вот полная таблица:

block_height,coinbase_height,равный

164384,1983702,ИСТИНА

169895,3708179,ИСТИНА

170307,3709183,ИСТИНА

171896,3712990,ИСТИНА

172069,3713413,ИСТИНА

172357,3714082,ИСТИНА

172428,3714265,ИСТИНА

174151,5208854,ИСТИНА

176684,490897,ИСТИНА

183669,3761471,ИСТИНА

196988,4275806,ИСТИНА

201577,5327833,ИСТИНА

206039,7299941,ИСТИНА

206354,7299941,ИСТИНА

209920,209921,ИСТИНА

Как видно из гистограммы выше, наибольшие риски ожидаются примерно в 2078 году.

Как видно из гистограммы выше, наибольшие риски ожидаются примерно в 2078 году.

Хорошей новостью является то, что при нынешней огромной и будущей еще большей вычислительной мощности сети, даже если бы у майнеров в то время была такая идея, им было бы сложно захватить права упаковки (права генерации, права майнинга) блока на этой высоте.

Более того, насколько скучно должно быть майнерам, чтобы пойти на такие большие усилия, чтобы заполучить права на майнинг, а затем создать транзакцию, которую невозможно будет потратить снова и которая имитирует данные прошлых лет, тем самым заставляя себя терпеть напрасные убытки?

Таким образом, можно сделать вывод, что нельзя сказать, что ошибка с дублированием транзакций Coinbase полностью решена, но вряд ли она вызовет какие-либо серьезные волнения.

Комментарий

Все комментарии

Рекомендуем к прочтению

  • Nexus Chain официально запущен в сети "Dawn Network", заложив прочную основу для бесперебойной работы приложений экосистемы.

    В конце ноября 2025 года Nexus Chain официально запустился в сети «Dawn Network», ознаменовав начало первого цикла развития своей экосистемы. Сеть «Dawn Network» стремится к высокой пропускной способности транзакций (TPS) и нулевой комиссии за газ, и в настоящее время стабильно работает до высоты блока 735515, со средним ежедневным объемом транзакций в 37 000 и более чем 40 000 активных адресов. Эта превосходная производительность сети закладывает прочную основу для бесперебойной работы приложений экосистемы. В частности:

  • Вчера из американского спотового биткоин-ETF был зафиксирован чистый отток средств в размере 19,31 миллиона долларов.

    Согласно данным мониторинга Trader T, вчера из американского спотового биткоин-ETF был зафиксирован чистый отток средств в размере 19,31 миллиона долларов.

  • Вчера из американского спотового Ethereum ETF был зафиксирован чистый отток средств в размере 9,63 миллиона долларов.

    Согласно данным мониторинга Trader T, вчера из американского спотового Ethereum ETF был зафиксирован чистый отток средств в размере 9,63 миллиона долларов.

  • Волатильность казначейских облигаций США может продемонстрировать самое большое годовое снижение с 2009 года.

    Под влиянием снижения процентных ставок Федеральной резервной системой, фактически уменьшившего риск экономической рецессии, индикатор, измеряющий волатильность рынка облигаций США, демонстрирует тенденцию к самому значительному годовому снижению со времен финансового кризиса. Индекс ICE BofA MOVE, измеряющий ожидаемую волатильность на рынке облигаций, в прошлую пятницу упал примерно до 59, достигнув самого низкого уровня с октября 2024 года. Индекс неуклонно снижается с уровня около 99 в конце 2024 года и движется к одному из самых резких годовых спадов с момента начала ведения статистики в 1988 году, уступая только обвалу 2009 года.

  • Вероятность того, что Федеральная резервная система сохранит процентные ставки без изменений в январе, составляет 83,9%.

    Согласно данным аналитического центра CME "FedWatch", вероятность того, что Федеральная резервная система снизит процентные ставки на 25 базисных пунктов в январе следующего года, составляет 16,1%, вероятность сохранения процентных ставок без изменений — 83,9%, вероятность совокупного снижения ставок на 25 базисных пунктов к марту следующего года — 45,4%, вероятность сохранения процентных ставок без изменений — 47,7%, а вероятность совокупного снижения ставок на 50 базисных пунктов — 6,9%.

  • «Детектив по цепочкам» ZachXBT: Канадский хакер выдавал себя за сотрудника службы поддержки Coinbase и за год украл более 2 миллионов долларов.

    По данным эксперта по блокчейну Зака ​​XBT, канадский хакер по имени Хаби (Хавард) за последний год украл криптовалюту на сумму более 2 миллионов долларов, выдавая себя за сотрудников службы поддержки Coinbase и используя методы социальной инженерии для совершения мошенничества. Полученные средства хакер растратил на редкие имена пользователей в социальных сетях, походы в ночные клубы и азартные игры.

  • Цена BTC упала ниже 87 000 долларов.

    Рыночные данные показывают, что курс BTC упал ниже 87 000 долларов и в настоящее время составляет 86 982,86 долларов, снижение за 24 часа составило 0,96%. Волатильность рынка высока; пожалуйста, управляйте своими рисками соответствующим образом.

  • Цена BTC упала ниже 88 000 долларов.

    Рыночные данные показывают, что курс BTC упал ниже 88 000 долларов и в настоящее время торгуется на уровне 87 987,2 долларов, увеличившись за 24 часа на 0,24%. Рынок демонстрирует значительную волатильность, поэтому, пожалуйста, соответствующим образом управляйте своими рисками.

  • Цена ETH упала ниже 3000 долларов.

    Рыночные данные показывают, что курс ETH упал ниже 3000 долларов и в настоящее время составляет 2998,48 долларов, увеличившись за 24 часа на 1,89%. Рынок демонстрирует значительную волатильность, поэтому, пожалуйста, соответствующим образом контролируйте свои риски.

  • Цена BTC упала ниже 89 000 долларов.

    Рыночные данные показывают, что курс BTC упал ниже 89 000 долларов и в настоящее время торгуется на уровне 88 972,51 доллара, что на 1,25% выше, чем за предыдущие 24 часа. Волатильность рынка высока; пожалуйста, соответствующим образом управляйте своими рисками.