Author

Topic: Transaction with low fee, unconfirmed for almost a month. Flaw of bitcoin? (Read 1678 times)

Bru
newbie
Activity: 46
Merit: 0
Wow thanks for the info Smiley I'll have to read it a few time to completely understand it. I only changed the fee, wanted to see how long will it take with a very small fee. Don't know what's with that tiny output.

Somehow it got through today after ~1 month. I learnt my lesson  Grin gonna pay the recommended fee from now on.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Don't really know who is broadcasting exactly, but it's doing so daily. And I don't know how can I stop a transaction. I wanted to send btc from my blockchain wallet to btce , so who should I ask to stop the broadcasting?

That is the strange part.  AFAIK Blockchain has no method for manually killing a tx but they normally do stop broadcasting it after a few days if it doesn't confirm.  

The other strange thing is how/why Blockchain allowed you to create that tx outside of some expert raw transaction mode as it had almost no chance of being confirmed in any timely manner.  Low priority, fee below the requirement to relay, and dust output.  You hit the trifecta of "probably not going to make it into the next block".  A good wallet should prevent users from making these types of questionable tx (unless they explicitly request it).  The Bitcoin core client for example would never have made this tx.

You had 7.91776 mBTC (0.00791776 BTC) in inputs.
The tx created sent 7.9 mBTC, which left 0.01776 mBTC remaining.  
It paid 0.01 mBTC as a fee (which was pointless at the time, v0.9 will change that).
That left 0.00776 mBTC which is below the dust threshold of 0.05430 mBTC.

No possible way to make that tx have a worse chance of confirming.  It isn't your fault (unless you used some manual mode) blockchain.info should never have created that.  Do you remember exactly how you made this tx in blockchain.info?

Instead the QT client would have showed you that you have the same 7.91776 mBTC in the wallet (I will assume there are no other outputs available).  It knows the tx will be low priority so it will force a fee on 0.1 mBTC (to avoid this scenario).  Thus it wouldn't let you send more than 7.81776 mBTC.  That tx would have been confirmed within a few blocks max.   If you wanted to send slightly less (say 7.8 mBTC) that would have left 0.01776 after the fee as your change output which would violate the dust rule so the wallet would instead not create that output and increase the fee to the miner to avoid making the dust (i.e 0.11776 mBTC to miner instead of default 0.1 mBTC).

If blockchain.info had paid insufficient fee but not created dust it probably would be confirmed by now (at least one miner must be running v0.9).  What I mean by that is instead of your outputs being:
7.90000 mBTC - what you were trying to spend/transfer
0.00776 mBTC - the change
0.01000 mBTC - the fee to miner

it would instead be
7.90000 mBTC - what you were trying to spend/transfer
0.01776 mBTC - the fee to miner
and no change output

that tx would have violated the relay rules (and min miner fee rules) for v0.8x but those are being reduced to 0.01 mBTC in v0.9 so you would have "lucked out" due to the rule change.   However in your case that dust output is the killer.  It makes the tx non-standard and unless a miner uses some custom logic to pick non-standard txs it will never be part of the next block.  You may want to try submitting the tx to eligus pool directly.  They support non-standard txs but I am not sure they will take it with that fee.

The tx is low priority so it should have included the min fee of 0.1 mBTC that would leave 0.00781776 BTC


Bru
newbie
Activity: 46
Merit: 0
Don't really know who is broadcasting exactly, but it's doing so daily. And I don't know how can I stop a transaction. I wanted to send btc from my blockchain wallet to btce , so who should I ask to stop the broadcasting?
legendary
Activity: 3514
Merit: 4895
I sent a transaction with a low fee ( 0.01$ / 0.00001 BTC ) almost a month ago (don't know exactly), through blockchain.info where i got my wallet. The amount is 4.54$ . Prior to this I tried with a fee of 0.00005, and it was confirmed in a couple of hours.. so i tried a lower fee and it's unconfirmed today.
It's been relayed many times since by different IPs (automatically i guess ). I don't think 4.5$ is 'dust' , why would it take so long? The cheapest coffee i can buy here cost 0.15$, and I bet you can find in Africa coffee at 0.05$. So if we pay with bitcoin we either spend double , or a lot more than the coffee, or the coffee seller should wait 999 years for his money. Something isn't wright here.

This is it : https://blockchain.info/tx/474269457f21b28f9c8644551f4bf6af7a81646ae1f83f03cc75617520c6c691

Anyways, is there a way I can recover my 4.5$ ? Maybe to change the fee to the recommended amount/ cancel the transaction ? Or is it lost in the annals of the block chain.. Sad

Most solo miners and mining pools currently treat any transaction that has a fee that is less than 0.0001 BTC (0.1 mBTC) exactly the same way as they treat any transaction that has no fee at all.  Therefore, your fee of 0.00001 BTC (0.01 mBTC) is essentially meaningless as far as getting your transaction confirmed.

Your transaction has an output that is only 0.00000776 BTC (7.76 µBTC).  Most solo miners and mining pools currently treat any output less than 54.30 µBTC as a "dust output", and will refuse to relay or confirm the transaction.

Miners (and mining pools) sort the transaction in priority order to determine which transactions to include in the blocks that they are solving.  Miners (and mining pools) limit the amount of space that they will use in the block for transactions that are handled as if they have not paid a fee.  Due to the very small inputs into the transaction, the priority on this transaction is only 3,077,784.  A typical priority for a free transaction is 57,600,000.  Therefore, most other free transactions will make it into the block instead of your transaction.  Over time, the transaction will earn additional priority.  In the case of your transaction, it should earn about 260,906 priority per day.  Therefore, if they receive the transaction from someone that re-broadcasts it, the transaction should gain enough priority in about 209 more days.  If you are fortunate, a charitable miner may receive the transaction and decide to confirm it for you out of the kindness of their heart sooner than that, but it is unlikely.

Did you say that this transaction was created and broadcast with a blockchain.info wallet?  That seems odd.  In the past blockchain.info has usually stopped broadcasting the transactions that they send if the transaction hasn't confirmed within a week.  Perhaps the recipient of the transaction is broadcasting it?  If so, you may want to contact them and ask them to stop doing so.  Then you could create a new transaction that pays a proper fee after a few days.
Bru
newbie
Activity: 46
Merit: 0
I sent a transaction with a low fee ( 0.01$ / 0.00001 BTC ) almost a month ago (don't know exactly), through blockchain.info where i got my wallet. The amount is 4.54$ . Prior to this I tried with a fee of 0.00005, and it was confirmed in a couple of hours.. so i tried a lower fee and it's unconfirmed today.
It's been relayed many times since by different IPs (automatically i guess ). I don't think 4.5$ is 'dust' , why would it take so long? The cheapest coffee i can buy here cost 0.15$, and I bet you can find in Africa coffee at 0.05$. So if we pay with bitcoin we either spend double , or a lot more than the coffee, or the coffee seller should wait 999 years for his money. Something isn't wright here.

This is it : https://blockchain.info/tx/474269457f21b28f9c8644551f4bf6af7a81646ae1f83f03cc75617520c6c691

Anyways, is there a way I can recover my 4.5$ ? Maybe to change the fee to the recommended amount/ cancel the transaction ? Or is it lost in the annals of the block chain.. Sad
Jump to: