Застрявшая дублирующая транзакция в BitcoinQT

Я получил два платежа со следующей транзакцией:

https://blockchain.info/tx/12e487de6fd8d920446cd8663dc11977d185ceaa25b7c6f36921fb76e58875f0

По этой транзакции

Выход 1HT1vrdy2fegnVKaTE1rqsFzfPVDpiWYjf получает 0,1341765 BTC, а выход 19tj6SNnJqZqmDvMuhrjwPudX8qVcT392a — 0,27240743.

У меня есть эта транзакция в моем клиенте BitcoinQT. Он показывает подтверждено, и все в порядке. Проблема в том, что у меня есть другая транзакция, которая имеет те же входы и выходы с указанными выше, но с другим TxID.

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

У меня есть около 10 других транзакций в моем кошельке. Что это? Почему это происходит?

gettransaction 98ea1e0d4169af104fe36535a4615ab82086750323ce4e539b7d9c82707955f6
{
"amount" : 0.40658393,
"confirmations" : 0,
"txid" : "98ea1e0d4169af104fe36535a4615ab82086750323ce4e539b7d9c82707955f6",
"time" : 1392119952,
"timereceived" : 1392119952,
"details" : [
{
"account" : "520c7bb149ede83218f46c96",
"address" : "1HT1vrdy2fegnVKaTE1rqsFzfPVDpiWYjf",
"category" : "receive",
"amount" : 0.13417650
},
{
"account" : "520c7bb149ede83218f46c96",
"address" : "19tj6SNnJqZqmDvMuhrjwPudX8qVcT392a",
"category" : "receive",
"amount" : 0.27240743
}
]
}

gettransaction 12e487de6fd8d920446cd8663dc11977d185ceaa25b7c6f36921fb76e58875f0
{
"amount" : 0.40658393,
"confirmations" : 2490,
"blockhash" : "00000000000000007465867d49096a642c424ae015691c0b0f6280c3bc6de401",
"blockindex" : 78,
"blocktime" : 1392120874,
"txid" : "12e487de6fd8d920446cd8663dc11977d185ceaa25b7c6f36921fb76e58875f0",
"time" : 1392120874,
"timereceived" : 1392120896,
"details" : [
{
"account" : "520c7bb149ede83218f46c96",
"address" : "1HT1vrdy2fegnVKaTE1rqsFzfPVDpiWYjf",
"category" : "receive",
"amount" : 0.13417650
},
{
"account" : "520c7bb149ede83218f46c96",
"address" : "19tj6SNnJqZqmDvMuhrjwPudX8qVcT392a",
"category" : "receive",
"amount" : 0.27240743
}
]
}
@ Джори Да, я сделал. Но есть разница между отправкой транзакции, которая не была подтверждена, и дубликатом подтвержденной транзакции с другим идентификатором, застрявшим в вашем кошельке. Я хочу узнать, как это произошло.
@AntonAnsgar, можете ли вы указать нам на другие ваши транзакции, которые отличаются только TXID?
Привет! На самом деле это решено в версии 0.9 биткойн-ядра. Эти транзакции были результатом гибкости, и теперь они отображаются как конфликтующие в Bitcoin Core. Вы, вероятно, не сможете наблюдать за ними из другой копии блокчейна.

Ответы (3)

Bitcoin Core (bitcoind и новое название Bitcoin-Qt) v0.9 будет намного лучше справляться с этими конфликтующими транзакциями в одном кошельке.

Он будет продолжать показывать оба, но неподтвержденный будет помечен как «конфликтующий» с подтверждением -1, не будет ретранслироваться и не будет считаться имеющим расходуемые выходы.

Хорошие новости! Благодарю вас! Насколько я понимаю, эти конфликты произошли из-за податливости, не могли бы вы подтвердить? А где можно посмотреть планируемую дату выхода v0.9? Я искал везде и не могу найти его.
Это действительно похоже на результат податливости. Релизные данные для 0.9: "когда будет готово". Однако у нас уже есть релиз-кандидат 2. Возможно, потребуется еще 1 или 2 кандидата.
Спасибо еще раз. Я удивлен, что этот эффект пластичности в Bitcoin Core больше нигде не упоминается. За исключением сообщения в блоге Гэвина Андресена, в котором кратко упоминается, что некоторые монеты могут застрять.

Попробуйте getrawtransaction txidввести txid транзакции-нарушителя. Затем sendrawtransaction stringвыдайте строку, выведенную первой командой. Возможно, вы можете опубликовать эту строку там или попробовать использовать ее в другом программном обеспечении кошелька, это может дать вам некоторую информацию об этом TX и, возможно, наконец, транслировать его.

Если вы хотите избавиться от этого TX, вы можете сделать резервную копию своего кошелька, удалить все файлы из вашего каталога ~/.bitcoin или его эквивалента (каталога, содержащего блокчейн), повторно загрузить блокчейн (возможно, используя bootstrap.dat) и импортировать ваши резервные копии ключей обратно.

Оба уже пробовал. Пытался транслировать Tx как через мой кошелек, так и через blockchain.info. BC не будет транслировать сообщения о том, что средства уже потрачены. Что является правдой. И ничего не происходит, когда я делаю то же самое из моего биткойн-клиента. Кошелек скопирован и блокчейн перезакачан, транзакции остались. Я думаю, что средства застряли до тех пор, пока основные разработчики не выпустят исправление. В сообщениях Гэвина о податливости в блоге фонда говорится, что некоторые транзакции могут зависнуть и что им необходимо обновить программное обеспечение, чтобы исправить это.

Вы пробовали следующее?

  1. Сбросьте все ваши закрытые ключи ( dumpprivkey). Обязательно получите все свои адреса приема и смены. Сделайте резервную копию wallet.dat на случай, если что-то случится.
  2. Удалите файл wallet.dat.
  3. Снова откройте биткойн-qt. Он должен создать новый wallet.dat. Теперь войдите в консоль и запустите importprivkeyкаждый из этих закрытых ключей.
В основном я пытаюсь выяснить, как и почему это произошло, чтобы я мог предотвратить это снова.