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

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

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

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

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

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

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

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

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

Чтобы решить проблему дублирования транзакций, в марте 2012 года был реализован мягкий форк, запрещающий использование дублирующих идентификаторов транзакций, если только предыдущий идентификатор транзакции не был использован. В сентябре 2012 года это правило было изменено, чтобы применяться ко всем блокам, кроме двух ранее упомянутых дублирующих транзакций.

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

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

Тем не менее, в некоторых блоках до активации BIP34 первый байт scriptSig некоторых coinbase-транзакций совпадал с будущей действительной высотой блока. Поэтому, хотя BIP34 исправил эту проблему в подавляющем большинстве случаев, он не является на 100% идеальным.

Повторные транзакции Биткойн: интересный баг с минимальным риском

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

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

Тем не менее, разработчики на протяжении многих лет потратили много времени на эту проблему. Дата 2046 года может быть окончательным сроком для некоторых разработчиков по исправлению этой проблемы. Существует множество способов исправить эту ошибку, возможно, потребуется мягкий форк. Один из возможных способов исправления — это принудительное выполнение обязательств SegWit.

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

BTC0.71%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Поделиться
комментарий
0/400
LiquidityHuntervip
· 07-25 04:03
Поздно ночью снова обнаружены аномальные торговые данные... риск точки рост
Посмотреть ОригиналОтветить0
digital_archaeologistvip
· 07-23 20:32
В общем, это будет нашим делом в 2046 году.
Посмотреть ОригиналОтветить0
PanicSeller69vip
· 07-22 22:15
В 2046 году это стало уж слишком абсурдным.
Посмотреть ОригиналОтветить0
SelfCustodyIssuesvip
· 07-22 22:07
2046 немного далеко, кто еще помнит?
Посмотреть ОригиналОтветить0
PerpetualLongervip
· 07-22 21:56
Полная позиция покупайте падения Все бычий это указания небес.
Посмотреть ОригиналОтветить0
MEV_Whisperervip
· 07-22 21:49
Повторные сделки стали историей.
Посмотреть ОригиналОтветить0
degenwhisperervip
· 07-22 21:49
Поговорим об этом в 2046 году.
Посмотреть ОригиналОтветить0
  • Закрепить