Author

Topic: Small transactions without transaction fee (Read 2043 times)

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 21, 2011, 04:06:54 PM
#14
Anyway, as far as I know in the moment all nodes run the same software, because except of bitconj there is only one implementation. So why should some of peers relay the transaction while others do not when they are all running the same software and following the same rules?
People are free to choose their own rules for relaying and including transactions and do in fact do so.
legendary
Activity: 1708
Merit: 1010
I was barred from sending a transaction of .06 BTC, which shouldn't have required a fee in any case.  There is something else wrong, really.  I was testing out Bitcoin Android.
sr. member
Activity: 258
Merit: 250
I was barred from giving a 0.1BTC donation yesterday without paying a fee. It made me wonder what exactly we're mining for again.
newbie
Activity: 26
Merit: 0
So far it sounds like a bug in the Android client's handling of very small ("spammy") transactions, which do require a fee to be safe.  Note that the rules are complex, and include not just how many bitcoins were transferred, but how old those bitcoins are, since spammers will presumably find it easier to spam with new coins.

Very-low-priority transactions will get dropped by peers, because they look like "spam" transactions and network bandwidth is not free.

I don't know if the current rules are written down anywhere besides the source code; improving the fee-handling and spam-detecting code in bitcoin is high on my bitcoin improvement wish-list, so if they were written down they'd be likely to change fairly soon...


Some detail is given in the wiki:
Transaction fees - Bitcoin

I'm not sure if it is all on the right track, and it is clearly a bit out-of-date.
newbie
Activity: 27
Merit: 0
Very-low-priority transactions will get dropped by peers, because they look like "spam" transactions and network bandwidth is not free.

+1

This is a problem I hope they find a solution to, very annoying.

Just to be clear though, this does not mean that the transaction will not ever get processed.  

Though some peers may not relay a very-low-priority transaction the client will continue trying to resend that transaction to its peers.  

If the problem is the transaction isn't getting relayed, the client can even be directed to connect to a specific node that relays regardless:
 - http://en.bitcoin.it/wiki/Free_transaction_relay_policy
  (though I don't know if that will cause the transaction to be included in a block any sooner.)


In my case the transaction was created by the Andriod app "Bitcoin Wallet". I have no way of pointing it to specific peers.

Anyway, as far as I know in the moment all nodes run the same software, because except of bitconj there is only one implementation. So why should some of peers relay the transaction while others do not when they are all running the same software and following the same rules?
legendary
Activity: 2506
Merit: 1010
Very-low-priority transactions will get dropped by peers, because they look like "spam" transactions and network bandwidth is not free.

+1

This is a problem I hope they find a solution to, very annoying.

Just to be clear though, this does not mean that the transaction will not ever get processed.  

Though some peers may not relay a very-low-priority transaction the client will continue trying to resend that transaction to its peers.  

If the problem is the transaction isn't getting relayed, the client can even be directed to connect to a specific node that relays regardless:
 - http://en.bitcoin.it/wiki/Free_transaction_relay_policy
  (though I don't know if that will cause the transaction to be included in a block any sooner.)
newbie
Activity: 14
Merit: 0
Very-low-priority transactions will get dropped by peers, because they look like "spam" transactions and network bandwidth is not free.

I don't know if the current rules are written down anywhere besides the source code; improving the fee-handling and spam-detecting code in bitcoin is high on my bitcoin improvement wish-list, so if they were written down they'd be likely to change fairly soon...


+1

This is a problem I hope they find a solution to, very annoying.
newbie
Activity: 27
Merit: 0
Thanks, that can explain the problem. Seems like only very few people are aware of details like this. I think for a project that is as big as bitcoin starts to become, basic features like this one should be documented somewhere together with a change list for new releases. Don't want to blame anybody, thanks to everyone working on the software!
legendary
Activity: 1652
Merit: 2311
Chief Scientist
Very-low-priority transactions will get dropped by peers, because they look like "spam" transactions and network bandwidth is not free.

I don't know if the current rules are written down anywhere besides the source code; improving the fee-handling and spam-detecting code in bitcoin is high on my bitcoin improvement wish-list, so if they were written down they'd be likely to change fairly soon...
legendary
Activity: 1937
Merit: 1001
Just wondering, which client are you using? I'm unaware of one that shows connections.

[edit]
Nevermind, just found it Smiley
Tried 0.01 myself with 0.0005 fee, worked perfectly.
newbie
Activity: 27
Merit: 0
The 0.001 BTC should go to this address: 1NCTneo6yy8b1bok7F2U7RP4VgciHY2sik. It was sent yesterday (16h ago) and it is not in blockexplorer and not in the unconfirmed transactions on bitcoincharts. My client (on Android) is still running and is connected to 7 peers. So if the net does not drop such small transactions without fee, I assume the client does not work properly.
legendary
Activity: 2506
Merit: 1010
the backward payment without fees did not arrive even after a day. I searched the unconfirmed transactions on
http://bitcoincharts.com/bitcoin/
but cannot find it. It also does not show up in my PC-client.

Is it possible that such small transactions without fee are dropped completely by the network?

When a transaction is made the bitcoin client announces the transaction to all the nodes it has peered with.  Each node in turn announces it to its peers, and so on until eventually even the miner nodes know about it.

If for some reason the transaction didn't get announced properly, the client will re-send the transaction after some time has elapsed.  

For best results, the sender should leave the Bitcoin client running until the transaction gets resent and makes it into a block. This could be many many hours if there are many "low priority" transactions queued, but at the current time there are few.

legendary
Activity: 938
Merit: 1000
Try to search here

http://blockexplorer.com/

insert the address from which you make payment and see if the transaction shows up.
Maybe you've type a wrong address to receive the payment
newbie
Activity: 27
Merit: 0
While trying the Bitcoin Wallet for Android I have tried to send 0.001 BTC to the phone (in this case with 0.0005 fee) and back (this time without fee, because the app does not implement fees in the moment).

The transaction with fees went through nicely, but the backward payment without fees did not arrive even after a day. I searched the unconfirmed transactions on
http://bitcoincharts.com/bitcoin/
but cannot find it. It also does not show up in my PC-client. Is it possible that such small transactions without fee are dropped completely by the network? Are there any documents I should read?
Jump to: