Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: martok on March 27, 2011, 02:03:09 AM



Title: Transaction Fees
Post by: martok on March 27, 2011, 02:03:09 AM
Hello all,

Recently I sent a btc 1.00 transaction as a tip to a helpful forum member. However, I was charged a 0.01 transaction fee on the send even though I have paytxfee=0.00 in bitcoin.conf. I was using "bitcoind sendtoaddress" so didn't have an opportunity to see what the fee was or confirm it.

From the wiki:
Transaction fees are voluntary on the part of the person making the bitcoin transaction, as the person attempting to make a transaction can include any fee or none at all in the transaction. On the other hand, nobody mining new bitcoins necessarily needs to accept the transactions and include them in the new block being created. The transaction fee is therefore an incentive on the part of the bitcoin user to make sure that a particular transaction will get included into the next block which is generated.

If they are optional, how do I opt out? I get that I may need to add a fee if I am sending something time sensitive. But this was just a tip. He'll get it when he gets it.


Title: Re: Transaction Fees
Post by: theymos on March 27, 2011, 02:48:48 AM
Your balance must have been made up only of several small payments, which caused the transaction to be large (byte-wise). When transactions are above a certain size, a fee is always required; the transaction will never be included in a block if you don't include this fee.

The GUI version would have asked you whether you still wanted to send the payment.

Out of curiosity, what's the hash or address of this transaction? I can't think of why Bitcoin would send only 0.01 on a transaction with a required fee.


Title: Re: Transaction Fees
Post by: MoonShadow on March 27, 2011, 03:59:17 AM
The .01 BTC transaction fee is probably because this is what the system requires to send if the amount sent is less than .01 BTC.  This fee exists to make transaction spammers pay for the act of cramming a block.  Are you certain you didn't enter the amount too small?

I wonder if the daemon translates the user entry into the raw bitcoin number by default, if it takes the input without 'moving' the decimal point.


Title: Re: Transaction Fees
Post by: martok on March 27, 2011, 04:25:05 AM
It was definitely a 1.00 BTC transaction.
{
"account" : "",
"address" : "1DgrUXF6CAzzjkTN83pSfF4a4JLmBLEFkn",
"category" : "send",
"amount" : -1.00000000,
"fee" : -0.01000000,
"confirmations" : 79,
"txid" : "2e21e3583b990b93722cc2fd402034d86477620c2d1fd59a0ee99556dc89c3a0",
"time" : 1301162745
},

So a fee gets assessed based on the transaction size. Can I override this and say 0 fee as I am using the mytxfree patch which includes my own transactions in blocks which I mine.

I can see a case where a pool would send out 0 fee transactions which may or may not be large but the pool has enough hashing power to generate confirmations on its own transactions to support the network load that the tx imposed.

Anyways, is there any way I can tell beforehand from the CLI what fee if any will be assessed?


Title: Re: Transaction Fees
Post by: theymos on March 27, 2011, 04:39:58 AM
Anyways, is there any way I can tell beforehand from the CLI what fee if any will be assessed?

No. The coins are chosen with some randomness, so it can't be known in advance.

You can ignore fees if you generate blocks.

That transaction was small, and it wasn't a micro-payment. I don't think a fee should have been charged. Are you sure you didn't have paytxfee set? If you ever set it in the past, the setting would have been stored in your wallet.dat.

What version of Bitcoin are you using?


Title: Re: Transaction Fees
Post by: martok on March 27, 2011, 04:53:28 AM
I am using the latest GIT snapshot so that may have something to do with it. paytxfee has never been set though I just tried another 1.00 btc transaction and it went through at 0 fee. Strange indeed.


Title: Re: Transaction Fees
Post by: Syke on March 27, 2011, 05:39:55 AM
Is this the tx?

http://blockexplorer.com/t/2kPyoU2jj8

I see no reason there would be a fee required on that tx.


Title: Re: Transaction Fees
Post by: Jim Hyslop on March 27, 2011, 06:16:14 AM
It was definitely a 1.00 BTC transaction.
{
"account" : "",
"address" : "1DgrUXF6CAzzjkTN83pSfF4a4JLmBLEFkn",
"category" : "send",
"amount" : -1.00000000,
"fee" : -0.01000000,
"confirmations" : 79,
"txid" : "2e21e3583b990b93722cc2fd402034d86477620c2d1fd59a0ee99556dc89c3a0",
"time" : 1301162745
},

So a fee gets assessed based on the transaction size. Can I override this and say 0 fee as I am using the mytxfree patch which includes my own transactions in blocks which I mine.
Please do not use that patch. It was withdrawn because no other client will accept the block that you generate using that patch. Basically, other nodes will look at the block, determine that should have a particular value, but because of the patch the actual value will be less. The other nodes will then reject the block as invalid.

In any case, the patch isn't necessary because if you generate the block that contains your own transaction, then the transaction fees go back to you.



Title: Re: Transaction Fees
Post by: Hal on March 27, 2011, 08:55:21 PM
Why did you put paytxfee=0.00 in your bitcoin.conf? Is it possible you had another value in the past?


Title: Re: Transaction Fees
Post by: Gavin Andresen on March 27, 2011, 10:28:09 PM
Why did you put paytxfee=0.00 in your bitcoin.conf? Is it possible you had another value in the past?

... and also remember that command-line switches override values set in the bitcoin.conf file, so if you'd modified your Windows shortcut to -paytxfee that would stick.


Title: Re: Transaction Fees
Post by: martok on March 28, 2011, 06:23:09 AM
I am using Linux so calling $ bitcoind -server -daemon (no shortcuts, no registry)


Title: Re: Transaction Fees
Post by: nog_lorp on May 31, 2011, 12:20:18 AM
Wait, WHAT? So all that stuff about "bitcoins are divisible to the 8th decimal point, so deflation is handled by using smaller fractions of a coin" is all bullshit? How the FUCK are we supposed to use fractions of a coin if the fee is going to be many times the amount being actually sent?

Wow... I guess as bitcoin rises in value this problem will become more visible. Time to bail on the whole thing then.


Title: Re: Transaction Fees
Post by: grue on May 31, 2011, 12:35:35 AM
Wait, WHAT? So all that stuff about "bitcoins are divisible to the 8th decimal point, so deflation is handled by using smaller fractions of a coin" is all bullshit? How the FUCK are we supposed to use fractions of a coin if the fee is going to be many times the amount being actually sent?

Wow... I guess as bitcoin rises in value this problem will become more visible. Time to bail on the whole thing then.
it's going to be patched next version


Title: Re: Transaction Fees
Post by: Garrett Burgwardt on May 31, 2011, 12:58:13 AM
Wait, WHAT? So all that stuff about "bitcoins are divisible to the 8th decimal point, so deflation is handled by using smaller fractions of a coin" is all bullshit? How the FUCK are we supposed to use fractions of a coin if the fee is going to be many times the amount being actually sent?

Wow... I guess as bitcoin rises in value this problem will become more visible. Time to bail on the whole thing then.

Don't try and troll so hard.

The default client has a required fee, a custom client would not need to send one.


Title: Re: Transaction Fees
Post by: nog_lorp on May 31, 2011, 01:01:17 AM
it's going to be patched next version

Okay... so maintainers will manually determine a reasonable "small transaction" line, based on exchange rates, to allow small transactions but not spammy ones? Interesting.


Title: Re: Transaction Fees
Post by: nog_lorp on May 31, 2011, 01:02:07 AM
Don't try and troll so hard.

The default client has a required fee, a custom client would not need to send one.

I'm not trolling at all. How the hell does this stop spam then?


Title: Re: Transaction Fees
Post by: Garrett Burgwardt on May 31, 2011, 01:11:15 AM
Don't try and troll so hard.

The default client has a required fee, a custom client would not need to send one.

I'm not trolling at all. How the hell does this stop spam then?

It's a nonissue.

Think of the bitcoin client that we now have as a reference implementation. As a way to be friendlier to people who are assumed to not really know what they're doing, it forces a fee on a tx that would take a very long time to confirm. That was arbitrarily set, and is being adjusted down in two versions.

In the next version, 0.3.22, you can force a tx to be sent with as little a fee as you'd want. This allows spam.

The anti spam measures come from miners, who can implement custom policies of their own as to what transactions go in to a block and what don't.

The reason they can do that, is because as long as the block doesn't just pull coins from nowhere, it can have any makeup of transactions (all free, all fee, mix, etc).


Title: Re: Transaction Fees
Post by: mint on June 08, 2011, 11:04:41 PM
I'm in 3.22 and can't send payments without fee.


Title: Re: Transaction Fees
Post by: niccyb on June 10, 2011, 07:44:07 AM
Likewise, I'm on 0.3.22-beta and have come across the 'You must pay a transaction fee' message for the first time.

Whilst I have no objection to paying an appropriate transaction fee, at the current exchange rate, BTC0.01 is USD0.30 which seems an excessive amount in absolute terms (even as 0.5% of the amount I was sending it seems like a large amount anyway).

I appreciate that the current software is a reference client, however, it does confuse the matter by the wording it uses...

"Optional transaction fee per KB ... Most transactions are 1KB ... 0.01 recommended."

Should, perhaps, better be worded:

"Mandatory transaction fee per KB for some transactions ... There's no way of telling in advance which transactions require the fee and we're not going to tell you how big your transaction is ... At least 0.01 required"

In addition, the error dialogue box shows the message:

"Error: This transaction requires a transaction fee of at least 0.01 because of its amount, complexity or use of recently received funds."

Well, which is it?

If it's the recently received funds, how long should I wait? Is it really too difficult to have three messages which either say:

"Error: This transaction requires a transaction fee of at least 0.01 because of its amount.",
"Error: This transaction requires a transaction fee of at least 0.01 because of its complexity.", or
"Error: This transaction requires a transaction fee of at least 0.01 because of its use of recently received funds. Please wait X hours or until Y confirmations have been received."

Note that none of those error conditions tell you the size of the transaction in KB.

Like I said, if a transaction fee is due, then so be it. I'd just like the client to make things clearer to me.

Niccy


Title: Re: Transaction Fees
Post by: Nesetalis on June 10, 2011, 08:16:54 AM
aye, the 0.01 is excessive for a manditory fee. I was also under the impression that the manditory fee was being lowered, so i set mine down to 0.005, and it was still sending at 0.01 every single transaction.

in example: http://blockexplorer.com/tx/55eb7ea2c876a5aa634f057a7803974213a402d6639b58a1f6a2ddff87cf2e2a

it was small, but was just sending to my room mate when he first got his bitcoind running, to show him.

so whats the deal?