Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: eurekafag on February 12, 2012, 09:27:43 AM



Title: Free transaction relay policy, I don't get it
Post by: eurekafag on February 12, 2012, 09:27:43 AM
I don't understand how exactly the client forces the fee. I set paytxfee=0.00 in the config. Then I have launched bitcoind without args, sent a little amount to myself and saw 0.0005 BTC fee though I explicitly set 0.00 (or should I add zeroes and make it 0.0000?). Then I've restarted the daemon with the option -addnode=173.242.112.53 And my next tx has gone without the fee. Is the client somehow negotiate to its peers about the fee and forces 0.0005 if no one accepts free tx? Isn't it wrong? If I want not to pay the fee the client should notify me that no peers accept the free tx instead of silently wasting my money (yes, it's less than 1 cent but anyway it's money).
As I see on the block explorer most of txs are done without fees so either the free transaction policy is very popular or there's a way to set really zero fee in the client and I'm doing something wrong. Please explain this.


Title: Re: Free transaction relay policy, I don't get it
Post by: Pieter Wuille on February 12, 2012, 02:26:58 PM
As an anti-spam solution, many nodes in the network have rules that will limit or deny relaying free transactions under certain (rare) conditions. In particular very small amounts that were receive recently are likely to trigger this anti-spam mechanism.

When the client believes your transaction will cause this mechanism, it automatically includes a minimum fee (0.0005). If you use the GUI, it will ask you for confirmation first.


Title: Re: Free transaction relay policy, I don't get it
Post by: eurekafag on February 12, 2012, 02:30:43 PM
Thanks, I know how this should work and why it was introduced. My question is about why it doesn't respect the explicit setting in the bitcoin.conf and how it decides whether to pay the fee or not if I'm connected to that 173.242.112.53 or not. Does the client negotiate the fee with connected clients?


Title: Re: Free transaction relay policy, I don't get it
Post by: theymos on February 12, 2012, 05:39:05 PM
Does the client negotiate the fee with connected clients?

No. It always uses its own rules to decide whether a fee will be necessary.


Title: Re: Free transaction relay policy, I don't get it
Post by: eurekafag on February 12, 2012, 05:40:47 PM
Then why it doesn't respect the paytxfee setting if I'm not connected to that "magic" IP and respects otherwise? Is it hardcoded or what?


Title: Re: Free transaction relay policy, I don't get it
Post by: Pieter Wuille on February 12, 2012, 05:43:34 PM
It has nothing to do with that IP. There is no negotiation over this. All depends on how old and how large the coins you're using are.


Title: Re: Free transaction relay policy, I don't get it
Post by: theymos on February 12, 2012, 05:52:07 PM
Then why it doesn't respect the paytxfee setting if I'm not connected to that "magic" IP and respects otherwise? Is it hardcoded or what?

That had nothing to do with it. Fees depend on the result of SelectCoins, and SelectCoins uses randomization, so whether you'll have to pay a fee is somewhat random.


Title: Re: Free transaction relay policy, I don't get it
Post by: eurekafag on February 12, 2012, 05:53:09 PM
Ok. Then what exactly and in which cases will I get by doing this: https://en.bitcoin.it/wiki/Free_transaction_relay_policy ? As I understand it doesn't affect the fee, right? Then what is the advantage of using this node? What transactions are unacceptable and how can they occur?


Title: Re: Free transaction relay policy, I don't get it
Post by: finway on February 12, 2012, 06:17:13 PM
That had nothing to do with it. Fees depend on the result of SelectCoins, and SelectCoins uses randomization, so whether you'll have to pay a fee is somewhat random.

Oh man , the fee part is broken...