Тайна повторяющихся транзакций биткоина: редкие уязвимости и будущие вызовы

robot
Генерация тезисов в процессе

Биткойн交易 повторение явления: интересный, но малорисковый уязвимость

Обзор

Биткойн-транзакции обычно используют неиспользуемые выходы, ссылаясь на ID предыдущей транзакции. Эти выходы могут быть использованы только один раз, иначе это приведет к проблеме двойной траты. Тем не менее, в истории Биткойна действительно существует две группы полностью идентичных транзакций. Это произошло, потому что coinbase-транзакции не имеют входов, а создают новые токены. Поэтому две разные coinbase-транзакции могут быть построены совершенно одинаково, что делает их транзакционные ID также идентичными. Кроме того, повторяющиеся транзакционные ID могут возникнуть только в случае коллизии хешей, но это практически невозможно в криптографически безопасных хеш-функциях.

Эти две группы повторяющихся транзакций произошли между 14 и 15 ноября 2010 года, с интервалом около 16 часов. Хотя d5d2....8599 появился на блокчейне позже e3bf....b468, мы все же относим его к первой повторяющейся транзакции.

! Дубликаты транзакций биткоина: интересная ошибка с минимальным риском

Детали повторной сделки

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

В четырех затронутых блоках только один блок содержит другие транзакции, объединив 1 Биткойн и 19 Биткойн в один вывод на 20 токен.

! Дубликаты транзакций биткоина: интересная ошибка с минимальным риском

Повторная выводимость и возможность расходования

Каждая повторная транзакция имеет стоимость 50 Бит, всего задействовано 200 Бит или 100 токен, в зависимости от способа понимания. На данный момент эти Биткойны не были потрачены. Теоретически, человек, имеющий соответствующий приватный ключ, может потратить эти Биткойны, но только 100 токен фактически могут быть возвращены, так как повторные 50 Бит не могут быть потрачены. Что касается того, из какого блока будут потрачены эти токены, это может быть неопределенным.

! Дубликаты транзакций биткоина: интересная ошибка с минимальным риском

Проблема повторных сделок

Повторные транзакции могут привести к путанице в кошельках и блокчейн-браузерах, а также могут вызвать потенциальные риски атак. Например, это может привести к повторной оплате или атакам на биржи.

Меры по устранению

Чтобы решить проблему повторных транзакций, сообщество Биткойн приняло следующие меры:

  1. BIP30: Введен и реализован в 2012 году, запрещает использование повторяющихся TXID для транзакций, если предыдущий TXID не был потрачен.

  2. BIP34: активация в 2013 году, требует, чтобы транзакция coinbase содержала высоту блока, что делает все транзакции уникальными.

  3. Остановка проверки BIP30: В 2015 году, из-за внедрения BIP34, узлы прекратили дорогостоящую проверку BIP30.

! Дубликаты транзакций биткоина: интересная ошибка с минимальным риском

Потенциальные риски

Несмотря на то, что BIP34 решает большинство проблем, в некоторых блоках до активации BIP34 scriptSigs coinbase-транзакций могут соответствовать будущей высоте блока, что создает потенциальный риск дублирования. Следующий блок, в котором могут возникнуть повторные транзакции, - это 1,983,702, который, как ожидается, будет создан около января 2046 года.

! Дубликаты транзакций биткоина: интересная ошибка с небольшим риском

Заключение

Учитывая сложность копирования сделок, затраты и редкость возможностей, этот уязвимость не представляет собой главную угрозу безопасности Биткойна. Тем не менее, из-за своей уникальности и долгосрочного влияния, это все еще интересная проблема, которую стоит обсудить. В будущем может потребоваться полностью исправить эту проблему с помощью мягкого форка и других методов.

! Дубликаты транзакций биткоина: интересный баг с минимальным риском

BTC0.97%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 6
  • Поделиться
комментарий
0/400
SillyWhalevip
· 23ч назад
Уязвимость довольно интересна.
Посмотреть ОригиналОтветить0
FlashLoanPrincevip
· 23ч назад
Ранний код действительно был произвольным
Посмотреть ОригиналОтветить0
retroactive_airdropvip
· 23ч назад
Блокчейн не так прост
Посмотреть ОригиналОтветить0
WalletAnxietyPatientvip
· 23ч назад
хеш значение испорчено, не переживай
Посмотреть ОригиналОтветить0
ForumLurkervip
· 08-06 08:43
Те детали в то время действительно пугают.
Посмотреть ОригиналОтветить0
BtcDailyResearchervip
· 08-06 08:31
Скрытая ошибка была обнаружена.
Посмотреть ОригиналОтветить0
  • Закрепить