Author

Topic: Transaction was previously accepted but has been pruned from our database. (Read 2029 times)

hero member
Activity: 672
Merit: 502
-snip-
Can someone please explain to me what the f**k is going on?

Its called "malleability" and its an attack currently run on the network. Reset the blockchain[1], your TX has probably changed which might have resulted in issues with the site you gambled with.

How can transactions which are confirmed disappear like that? They were very small bets so it doesn't affects me that much but what if they were bigger bets and this thing happens, what if someone buys bitcoins and pays the other person after seeing the confirmations and the transactions vanish later??

They do not disappear they just changed their ID, it confuses wallets and services.

[1] electrum has a function for in under tool IIRC.

I see, so it's another attack, I had to google it to understand what it is and apparently attackers can mess with the transactions, this was in the news 2 days back but I missed it:

Quote
The attackers change the transactions without any knowledge of the private keys involved.

The change does not affect the source, destination, or amounts of the funds, so it isn’t obvious when it happens.
source: Bitcoin Under Attack: Coinkite Reports Malleability Attack & Urges Caution


But one of my transaction did disappear, I made 2 txs last night, one got it's ID changed and was later broadcasted with different ID but the event was over by then and the 2nd one it was broadcasted and confirmed when I went to bed and now there's no trace of it in my wallet or on any block explorer, as if I didn't made that tx, which is really weird and if that hadn't happened, I would have won a little something.

I am guessing here, but its might be possible that your 2nd TX used the change from your first. Not sure if you are familiar with change, but your bitcoin balance consist of inputs you can use. These are transactions you have received in the past. Similar to bills you have to use them entirely. E.g. if you received 1 BTC in a single transaction in the past and want to spend 0.4 BTC now. You (or your wallet) would create a TX that uses the 1 BTC as input and create two outputs. One output for 0.4 to the address you selected as recipient and one output for 0.6 to an address that belongs to your wallet. Electrum even shows a list of change addresses IIRC. It is possible for you to use the 0.6 send back to yourself in another transaction before the 1st TX is confirmed. If however the 1st TX gets modified and is confirmed with a different ID the 2nd TX links to an input that does no longer exist. This is because the inputs are identified by the transaction id. Usually TX IDs do not change so its not an issue. While the attacker is modifing random transactions this is a problem and would result in what you describe. The 2nd TX essentially vanished from the network as it became invalid the second the modified 1st transaction was confirmed.


I will see if I can reset the blockchain in Electrum, I haven't ever done that before. But is there a way to prevent this from happening?? Or after how many confirmations the attackers can't do this?

There is a possible solution, at least for bitcoin core, but I dont know how good it is or if its even ready. I will need to read up on that myself. Its called BIP62[1]. This attack can only be done on unconfirmed transactions as long as you wait for a single confirmation on any transactions you receive or send and do not require the transaction ID to be exact you should be fine.

So I'll put in my bets much earlier and give them time to get confirmed.

You should definitly check with the betting service, you are probably not the only person that had this problem. They should require 1 confirmation for now. These chains can also happen with withdrawals from services, but way longer. E.g. they take a big BTC input and issue a payout with it, use the change for another and repeat that once every few seconds. This could result in a long change of transaction that suddently become invalid once the 1st modified TX gets confirmed.

Thanks shorena for clearing my doubts, you're always so helpful.  Smiley

You are welcome Smiley

[1] https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki

Yes, I do understand the change and I think you're bang on right, that's exactly what happened, I made the 2nd transaction right after the first one and it did had a warning on blockchain.info that "This transaction spends an input which is unconfirmed." and I have had that warning before but it ususally goes away as soon as the previous transaction gets confirmed but this time since the attackers manipulated the Tx, the first transaction didn't confirm with the same ID and that's why the 2nd one was removed and was not broadcasted at all. It makes perfect sense now.

I did checked the DB page and others are reporting somewhat similar problems of transactions missing and/or not confirmed.

I think I have a solution for now, make the bets a much before the event is suppose to start and try to use the confirmed funds so even if the attackers mess with the IDs the transaction will get ultimately broadcasted and confirmed before the event starts.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
Can someone please explain to me what the f**k is going on?

Its called "malleability" and its an attack currently run on the network. Reset the blockchain[1], your TX has probably changed which might have resulted in issues with the site you gambled with.

How can transactions which are confirmed disappear like that? They were very small bets so it doesn't affects me that much but what if they were bigger bets and this thing happens, what if someone buys bitcoins and pays the other person after seeing the confirmations and the transactions vanish later??

They do not disappear they just changed their ID, it confuses wallets and services.

[1] electrum has a function for in under tool IIRC.

I see, so it's another attack, I had to google it to understand what it is and apparently attackers can mess with the transactions, this was in the news 2 days back but I missed it:

Quote
The attackers change the transactions without any knowledge of the private keys involved.

The change does not affect the source, destination, or amounts of the funds, so it isn’t obvious when it happens.
source: Bitcoin Under Attack: Coinkite Reports Malleability Attack & Urges Caution


But one of my transaction did disappear, I made 2 txs last night, one got it's ID changed and was later broadcasted with different ID but the event was over by then and the 2nd one it was broadcasted and confirmed when I went to bed and now there's no trace of it in my wallet or on any block explorer, as if I didn't made that tx, which is really weird and if that hadn't happened, I would have won a little something.

I am guessing here, but its might be possible that your 2nd TX used the change from your first. Not sure if you are familiar with change, but your bitcoin balance consist of inputs you can use. These are transactions you have received in the past. Similar to bills you have to use them entirely. E.g. if you received 1 BTC in a single transaction in the past and want to spend 0.4 BTC now. You (or your wallet) would create a TX that uses the 1 BTC as input and create two outputs. One output for 0.4 to the address you selected as recipient and one output for 0.6 to an address that belongs to your wallet. Electrum even shows a list of change addresses IIRC. It is possible for you to use the 0.6 send back to yourself in another transaction before the 1st TX is confirmed. If however the 1st TX gets modified and is confirmed with a different ID the 2nd TX links to an input that does no longer exist. This is because the inputs are identified by the transaction id. Usually TX IDs do not change so its not an issue. While the attacker is modifing random transactions this is a problem and would result in what you describe. The 2nd TX essentially vanished from the network as it became invalid the second the modified 1st transaction was confirmed.


I will see if I can reset the blockchain in Electrum, I haven't ever done that before. But is there a way to prevent this from happening?? Or after how many confirmations the attackers can't do this?

There is a possible solution, at least for bitcoin core, but I dont know how good it is or if its even ready. I will need to read up on that myself. Its called BIP62[1]. This attack can only be done on unconfirmed transactions as long as you wait for a single confirmation on any transactions you receive or send and do not require the transaction ID to be exact you should be fine.

So I'll put in my bets much earlier and give them time to get confirmed.

You should definitly check with the betting service, you are probably not the only person that had this problem. They should require 1 confirmation for now. These chains can also happen with withdrawals from services, but way longer. E.g. they take a big BTC input and issue a payout with it, use the change for another and repeat that once every few seconds. This could result in a long change of transaction that suddently become invalid once the 1st modified TX gets confirmed.

Thanks shorena for clearing my doubts, you're always so helpful.  Smiley

You are welcome Smiley

[1] https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki
hero member
Activity: 672
Merit: 502
-snip-
Can someone please explain to me what the f**k is going on?

Its called "malleability" and its an attack currently run on the network. Reset the blockchain[1], your TX has probably changed which might have resulted in issues with the site you gambled with.

How can transactions which are confirmed disappear like that? They were very small bets so it doesn't affects me that much but what if they were bigger bets and this thing happens, what if someone buys bitcoins and pays the other person after seeing the confirmations and the transactions vanish later??

They do not disappear they just changed their ID, it confuses wallets and services.

[1] electrum has a function for in under tool IIRC.

I see, so it's another attack, I had to google it to understand what it is and apparently attackers can mess with the transactions, this was in the news 2 days back but I missed it:

Quote
The attackers change the transactions without any knowledge of the private keys involved.

The change does not affect the source, destination, or amounts of the funds, so it isn’t obvious when it happens.
source: Bitcoin Under Attack: Coinkite Reports Malleability Attack & Urges Caution


But one of my transaction did disappear, I made 2 txs last night, one got it's ID changed and was later broadcasted with different ID but the event was over by then and the 2nd one it was broadcasted and confirmed when I went to bed and now there's no trace of it in my wallet or on any block explorer, as if I didn't made that tx, which is really weird and if that hadn't happened, I would have won a little something.

I will see if I can reset the blockchain in Electrum, I haven't ever done that before. But is there a way to prevent this from happening?? Or after how many confirmations the attackers can't do this? So I'll put in my bets much earlier and give them time to get confirmed.

Thanks shorena for clearing my doubts, you're always so helpful.  Smiley

Edit: Can't find anyway to reset the blockchain, I guess when you turn on the Electrum and it syncs, it redownloads the whole thing from the node it gets connected to.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
Can someone please explain to me what the f**k is going on?

Its called "malleability" and its an attack currently run on the network. Reset the blockchain[1], your TX has probably changed which might have resulted in issues with the site you gambled with.

How can transactions which are confirmed disappear like that? They were very small bets so it doesn't affects me that much but what if they were bigger bets and this thing happens, what if someone buys bitcoins and pays the other person after seeing the confirmations and the transactions vanish later??

They do not disappear they just changed their ID, it confuses wallets and services.

[1] electrum has a function for in under tool IIRC.
hero member
Activity: 518
Merit: 501
Error 404: there seems to be nothing here.
hero member
Activity: 672
Merit: 502
I think someone broke the Bitcoin last night, I made 2 bets and they were confirmed and one match got over and I lost that one and the other match was later.. early morning, so I went to bed and woke up and started watching the Match and I won the bet and I turned on my Electrum waiting for the payment to arrive but it shows the balance I had last night, I emptied it all last night on those 2 bets and the weird part is the second match transaction has disappeared, there are no traces of it and the previous bet transaction shows this on blockchain.info: Transaction rejected by our node. Reason: Transaction was previously accepted but has been pruned from our database. which is something I have never seen before and the transaction did went through later but with different transaction ID and by that time the first match was over so they were rejected but the second match which I have won, that bet was never made, although it was confirmed and now I don't even remember the Bet ID of it but it must have gotten pruned as well and it didn't went through.

Can someone please explain to me what the f**k is going on?

How can transactions which are confirmed disappear like that? They were very small bets so it doesn't affects me that much but what if they were bigger bets and this thing happens, what if someone buys bitcoins and pays the other person after seeing the confirmations and the transactions vanish later??
Jump to: