Биткойн повторные транзакционные уязвимости: исторические проблемы и будущие вызовы

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

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

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

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

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

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

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

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

Чтобы решить эту проблему, разработчики предложили несколько улучшений:

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

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

  3. В ноябре 2015 года разработчики удалили проверку BIP30, потому что BIP34 уже решил эту проблему.

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

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

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

Тем не менее, стоимость и сложность использования этой уязвимости очень высоки. В качестве примера, для блока 1,983,702 майнеру необходимо потратить более 170 Бит на атаку, что по текущей цене составляет около 15 миллионов долларов, и при этом практически нет реальной выгоды.

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
SmartContractPlumbervip
· 15ч назад
Интересный 0day, но немного похож на тестовый случай.
Посмотреть ОригиналОтветить0
GateUser-a5fa8bd0vip
· 07-14 21:40
Старый баг. Почему тогда не воспользовались им?
Посмотреть ОригиналОтветить0
consensus_whisperervip
· 07-14 21:39
Снова старая уязвимость Сатоши Накамото.
Посмотреть ОригиналОтветить0
SchrodingerWalletvip
· 07-14 21:34
Боль в печени. Эта ошибка проявилась на ранней стадии.
Посмотреть ОригиналОтветить0
gas_fee_therapyvip
· 07-14 21:12
Аха, оказывается, это txid налетает.
Посмотреть ОригиналОтветить0
  • Закрепить