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 полностью решена, но вряд ли она вызовет какие-либо серьезные волнения.

Комментарий

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

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

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

    Рыночные данные показывают, что курс BTC упал ниже 68 000 долларов и в настоящее время составляет 67 992,68 долларов, что на 3,77% меньше, чем за предыдущие 24 часа. Волатильность рынка высока; пожалуйста, управляйте своими рисками соответствующим образом.

  • Южная Корея может запретить компаниям инвестировать в стейблкоины.

    В проекте «Руководства по торговле корпоративными виртуальными валютами» Комиссии по финансовым услугам Южной Кореи могут быть исключены стейблкоины из сферы разрешенных инвестиций. В руководстве будут изложены стандарты для компаний, котирующихся на бирже, и зарегистрированных профессиональных инвестиционных фирм, торгующих цифровыми активами в инвестиционных или финансовых целях. Чтобы предотвратить необдуманные инвестиции на ранних этапах рынка, регулятор решил исключить долларовые стейблкоины (такие как Tether (USDT) и USD Coin (USDC)) при определении сферы разрешенных инвестиций.

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

    Согласно данным, отслеживаемым Farside Investors, вчера из американского спотового биткоин-ETF был зафиксирован чистый отток средств в размере 348,9 млн долларов.

  • В Персидском заливе осталось всего девять пустых супертанкеров; емкость нефтехранилищ на Ближнем Востоке приближается к пределу.

    Данные отслеживания судов показывают, что количество нефтяных танкеров из основных нефтедобывающих стран Ближнего Востока, доступных для хранения в регионе Персидского залива, быстро сокращается: осталось всего девять пустых сверхбольших танкеров для перевозки сырой нефти (VLCC). Как только эти танкеры заполнятся, наземные резервуары для хранения быстро переполнятся, что приведет к закрытию еще большего количества нефтяных месторождений. Каждый VLCC может перевозить приблизительно 2 миллиона баррелей сырой нефти, что эквивалентно всего лишь пяти часам общей добычи Саудовской Аравии. Иран уже выполнил свои угрозы, атаковав несколько судов в Ормузском проливе с помощью беспилотников и ракет. Саудовская Аравия и ОАЭ — единственные две региональные нефтедобывающие страны, которые могут перенаправлять сырую нефть по трубопроводам, минуя Ормузский пролив. Обе страны увеличивают экспорт через терминалы за пределами региона, но ни одна из них не смогла полностью избежать использования пропускной способности этого водного пути.

  • Израильские военные заявляют, что в ходе ударов по Ирану они сбросили более 6500 боеприпасов.

    Израильские военные утверждают, что с начала войны ВВС Израиля сбросили более 6500 боеприпасов в ходе ударов по Ирану. Армия обороны Израиля (ЦАХАЛ) заявила, что ее истребители совершили в общей сложности 2500 боевых вылетов и нанесли 150 волн самостоятельных ударов. Военные заявляют, что с переходом войны в новую фазу они усиливают удары по целям иранского режима в Тегеране и наращивают атаки на объекты по производству оружия по всему Ирану, включая те, которые используются для производства ракет и пусковых установок. Военные чиновники заявили, что ЦАХАЛ планирует продолжить операции на территории Ирана в ближайшие недели, и, если потребуется, операции будут продолжаться в течение длительного периода.

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

    Рыночные данные показывают, что курс BTC упал ниже 68 000 долларов и в настоящее время торгуется на уровне 67 797,17 долларов, что на 4,35% ниже, чем за последние 24 часа. Рынок демонстрирует значительную волатильность; пожалуйста, соответствующим образом управляйте своими рисками.

  • Американские фондовые рынки открылись резким падением, индекс S&P 500 снизился на 1,22%.

    Американские фондовые рынки открылись снижением: индекс Доу-Джонса упал на 1,28%, S&P 500 — на 1,22%, а Nasdaq Composite — на 1,45%. Акции ведущих технологических компаний в целом снизились: ASML (ASML.O) упала более чем на 5%, TSMC (TSM.N) — почти на 3%, а Amazon (AMZN.O), Nvidia (NVDA.O) и AMD (AMD.O) — примерно на 2%.

  • Цена на нефть марки WTI внутридневной торгов подскочила на 12,00%, в настоящее время она торгуется на уровне 88,42 доллара за баррель.

    Цена на нефть марки WTI внутридневной торгов подскочила на 12,00%, в настоящее время она торгуется на уровне 88,42 доллара за баррель.

  • Общая рыночная капитализация криптовалют составляет 2,44 триллиона долларов, что на 4,50% меньше, чем за последние 24 часа.

    Текущая общая рыночная капитализация криптовалют составляет 2,44 триллиона долларов, что на 115,063 миллиарда долларов меньше, чем за последние 24 часа, или на 4,50%. На долю биткоина приходится 56,33% рыночной капитализации, а на долю эфириума — 10,05%.

  • Президент США Трамп: Никакого соглашения с Ираном, кроме безоговорочной капитуляции.

    Президент США Трамп: Никакой сделки с Ираном не будет, кроме безоговорочной капитуляции! После этого будет избран великий и достойный лидер.