Биткойн повторные транзакции: интересная, но менее рискованная уязвимость
Биткойн-транзакции обычно используют неиспользуемые выходы, ссылаясь на ID предыдущей транзакции. Эти выходы могут быть потрачены только один раз, иначе это приведет к двойным расходам, что сделает Биткойн менее ценным. Однако в истории Биткойна действительно были случаи двух полностью идентичных транзакций. Это могло произойти, потому что coinbase-транзакции не имеют входов и напрямую создают новые токены. Таким образом, две разные coinbase-транзакции могут отправить одинаковое количество токенов на один и тот же адрес, полностью совпадая по структуре, что приведет к образованию одинакового ID транзакции.
Эти две группы повторяющихся транзакций произошли между 14 и 15 ноября 2010 года, продолжаясь примерно 16 часов. Первая группа повторяющихся транзакций (d5d2....8599) находится между второй группой (e3bf....b468). Интересно, что d5d2....8599, хотя и стала повторяющейся транзакцией первой, на блокчейне появилась позже, чем e3bf....b468.
Эти повторяющиеся транзакции стоят по 50 Биткойн каждая, всего задействовано 200 Биткойн или 100 токенов в зависимости от способа понимания (. На данный момент эти токены не были потрачены. Теоретически, владелец приватного ключа может потратить эти Биткойн, но только 100 Биткойн действительно могут быть возвращены. Что касается того, из какого блока происходят эти токены, возможно, это невозможно определить.
Повторные транзакции могут вызвать путаницу в кошельках и блокчейн-обозревателях, а также могут быть использованы для атак. Например, злоумышленник может отправить две повторные транзакции на биржу, чтобы заплатить дважды, а затем быстро вывести средства, пытаясь обанкротить биржу.
![Повторные транзакции Биткойна: интересный баг с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-9e956bcc28b2786c805e8c59bc4aee37.webp(
Чтобы решить эту проблему, в марте 2012 года был реализован мягкий форк BIP30, запрещающий использование повторяющихся TXID для транзакций. В сентябре 2012 года это правило было дополнительно изменено, применимо ко всем блокам ), кроме двух вышеупомянутых групп повторяющихся транзакций (. BIP34, активированный в марте 2013 года, требует, чтобы coinbase-транзакции содержали высоту блока, что, похоже, кардинально решает проблему повторяющихся транзакций.
! [Дубликаты транзакций биткоина: интересная ошибка с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-e19f04bf763b8df0cd361e2927ccaaba.webp(
Однако, в некоторых coinbase-транзакциях scriptSig перед активацией BIP34 первый байт точно совпадает с будущей действительной высотой блока. Это означает, что на определенных высотах блока все еще возможны повторные транзакции. Следующий блок, в котором могут возникнуть повторные транзакции, — это 1,983,702, который ожидается в январе 2046 года.
! [Дубликаты транзакций биткоина: интересная ошибка с небольшим риском])https://img-cdn.gateio.im/webp-social/moments-0076e239e15e09665bdc3aaa08391cef.webp(
Тем не менее, стоимость и сложность использования этой уязвимости очень высоки. Майнерам не только нужно быть достаточно удачливыми, чтобы добыть определенный блок, но и сжигать значительные суммы. По текущей цене Биткойна такая атака может потребовать более 15 миллионов долларов, и практически не имеет реальной пользы.
Учитывая сложность копирования сделок, затраты и редкость возможностей, эта уязвимость не представляет собой основную угрозу безопасности Биткойна. Тем не менее, учитывая временные рамки и уникальность повторяющихся сделок, этот вопрос по-прежнему вызывает размышления. Разработчики Биткойна потратили много времени на эту проблему на протяжении многих лет, и 2046 год может стать последним сроком для окончательного исправления этой уязвимости. Метод исправления может потребовать мягкого форка, одним из возможных решений является обязательное выполнение соглашения SegWit.
! [Дубликаты транзакций биткоина: интересный баг с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-fb0734843d00c4922acda3f85fd02126.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании 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 Биткойн каждая, всего задействовано 200 Биткойн или 100 токенов в зависимости от способа понимания (. На данный момент эти токены не были потрачены. Теоретически, владелец приватного ключа может потратить эти Биткойн, но только 100 Биткойн действительно могут быть возвращены. Что касается того, из какого блока происходят эти токены, возможно, это невозможно определить.
Повторные транзакции могут вызвать путаницу в кошельках и блокчейн-обозревателях, а также могут быть использованы для атак. Например, злоумышленник может отправить две повторные транзакции на биржу, чтобы заплатить дважды, а затем быстро вывести средства, пытаясь обанкротить биржу.
![Повторные транзакции Биткойна: интересный баг с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-9e956bcc28b2786c805e8c59bc4aee37.webp(
Чтобы решить эту проблему, в марте 2012 года был реализован мягкий форк BIP30, запрещающий использование повторяющихся TXID для транзакций. В сентябре 2012 года это правило было дополнительно изменено, применимо ко всем блокам ), кроме двух вышеупомянутых групп повторяющихся транзакций (. BIP34, активированный в марте 2013 года, требует, чтобы coinbase-транзакции содержали высоту блока, что, похоже, кардинально решает проблему повторяющихся транзакций.
! [Дубликаты транзакций биткоина: интересная ошибка с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-e19f04bf763b8df0cd361e2927ccaaba.webp(
Однако, в некоторых coinbase-транзакциях scriptSig перед активацией BIP34 первый байт точно совпадает с будущей действительной высотой блока. Это означает, что на определенных высотах блока все еще возможны повторные транзакции. Следующий блок, в котором могут возникнуть повторные транзакции, — это 1,983,702, который ожидается в январе 2046 года.
! [Дубликаты транзакций биткоина: интересная ошибка с небольшим риском])https://img-cdn.gateio.im/webp-social/moments-0076e239e15e09665bdc3aaa08391cef.webp(
Тем не менее, стоимость и сложность использования этой уязвимости очень высоки. Майнерам не только нужно быть достаточно удачливыми, чтобы добыть определенный блок, но и сжигать значительные суммы. По текущей цене Биткойна такая атака может потребовать более 15 миллионов долларов, и практически не имеет реальной пользы.
Учитывая сложность копирования сделок, затраты и редкость возможностей, эта уязвимость не представляет собой основную угрозу безопасности Биткойна. Тем не менее, учитывая временные рамки и уникальность повторяющихся сделок, этот вопрос по-прежнему вызывает размышления. Разработчики Биткойна потратили много времени на эту проблему на протяжении многих лет, и 2046 год может стать последним сроком для окончательного исправления этой уязвимости. Метод исправления может потребовать мягкого форка, одним из возможных решений является обязательное выполнение соглашения SegWit.
! [Дубликаты транзакций биткоина: интересный баг с минимальным риском])https://img-cdn.gateio.im/webp-social/moments-fb0734843d00c4922acda3f85fd02126.webp(