Bitcoin Forum

Other => Beginners & Help => Topic started by: vulgata on June 18, 2011, 06:24:44 PM



Title: Transaction fees?! [Fixed]
Post by: vulgata on June 18, 2011, 06:24:44 PM
So I just got started with Bitcoins the other day, and after mining for a bit with my ancient Nvidia card I tried moving around a little bit of money to see how it all worked.  I am using bitcoind on Linux, and have my bitcoin.conf set to paytxfee=0.00, but when I moved 0.01 BTC I was charged a 0.0005 BTC transaction fee! That's 5%!  Can some explain this to me and/or how to avoid this?  It was my understanding that we could choose to pay no fee if desired and wait longer for confirmation.

Edit: Here is the record http://blockexplorer.com/tx/79783b30743aa95de351c3c43e41feae74f0fa7e196a3cab069ab58aa4e51d74

Edit 2: Downgrading to 0.3.20 fixes the problem.

Link: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.20/

Please donate if I saved you some ฿ in transaction fees!

14uGQh9g5LsLRwjzwuaJaGem3ukjfkehJf


Title: Re: Transaction fees?!
Post by: iamzill on June 18, 2011, 06:36:21 PM
So I just got started with Bitcoins the other day, and after mining for a bit with my ancient Nvidia card I tried moving around a little bit of money to see how it all worked.  I am using bitcoind on Linux, and have my bitcoin.conf set to paytxfee=0.00, but when I moved 0.01 BTC I was charged a 0.0005 BTC transaction fee! That's 5%!  Can some explain this to me and/or how to avoid this?  It was my understanding that we could choose to pay no fee if desired and wait longer for confirmation.

Edit: Here is the record http://blockexplorer.com/tx/79783b30743aa95de351c3c43e41feae74f0fa7e196a3cab069ab58aa4e51d74

Just wait a while after receiving those coins. "Fresh" transactions are considered "unsafe" and thus command a premium.

For me personally the transaction fee is waived after about an hour. This is just my personal experience. The "time to be trusted" is dependent on several factors, namely your internet connectivity, the current global hashrate, and the hash rates of nodes closely connected to you.


Title: Re: Transaction fees?!
Post by: willphase on June 18, 2011, 06:43:08 PM
If you're upset with the transaction fees you can always roll your own client and pay 0 but you will see a noticeable delay in your transaction being included in a solved block.

Will


Title: Re: Transaction fees?!
Post by: Maged on June 18, 2011, 06:45:55 PM
The "time to be trusted" is dependent on several factors, namely your internet connectivity, the current global hashrate, and the hash rates of nodes closely connected to you.
The "time to be trusted (as not being spam)" is dependent on the number of confirmations the coins have, and their amounts.


Title: Re: Transaction fees?!
Post by: vulgata on June 18, 2011, 06:59:48 PM
Just wait a while after receiving those coins. "Fresh" transactions are considered "unsafe" and thus command a premium.

For me personally the transaction fee is waived after about an hour. This is just my personal experience. The "time to be trusted" is dependent on several factors, namely your internet connectivity, the current global hashrate, and the hash rates of nodes closely connected to you.

So does this mean I will get my .0005 back after everything is confirmed (however long that takes)?

If you're upset with the transaction fees you can always roll your own client and pay 0 but you will see a noticeable delay in your transaction being included in a solved block.

Will

I just think 5% is a little much... and was I wrong in thinking that the original client allows you to choose 0 transaction fee?  What is the point of setting paytxfee=0.00?


Title: Re: Transaction fees?!
Post by: drknark on June 18, 2011, 07:04:24 PM
I could be wrong here.. but I have read that transactions below a certain amount are forced to pay a fee, to prevent transaction spamming of the network.


Title: Re: Transaction fees?!
Post by: tysat on June 18, 2011, 07:04:47 PM
It's not 5% transaction fee, but the transaction fee is .0005 which just happened to be 5% of what you moved.


Title: Re: Transaction fees?!
Post by: torusJKL on June 18, 2011, 07:25:13 PM

So does this mean I will get my .0005 back after everything is confirmed (however long that takes)?


No. Bitcoin transaction are final.
But if you had waited longer you would have been able to do the transaction without fees.


Title: Re: Transaction fees?!
Post by: vulgata on June 18, 2011, 07:32:54 PM
No. Bitcoin transaction are final.
But if you had waited longer you would have been able to do the transaction without fees.

What do you mean by waiting longer?  Like waiting from the time I got it to when I sent it?  I already waited 18 hours...

http://blockexplorer.com/address/14uGQh9g5LsLRwjzwuaJaGem3ukjfkehJf


Title: Re: Transaction fees?!
Post by: vulgata on June 18, 2011, 09:23:20 PM
I guess another way of asking the question is, how many confirmations do I need before I don't have to pay a transaction fee on a coin?


Title: Re: Transaction fees?!
Post by: geek-trader on June 18, 2011, 09:34:07 PM
I guess another way of asking the question is, how many confirmations do I need before I don't have to pay a transaction fee on a coin?

This is the first I've heard of transaction fees on bitcoin.  Major bummer.  I would also like to know the answer to this question.


Title: Re: Transaction fees?!
Post by: bitcola on June 18, 2011, 09:55:29 PM
If there is a fee then who makes money out of all this?

Jeez this reminds me of Paypal and their exorbitant fees.  :-\ :-\


Title: Re: Transaction fees?!
Post by: JA37 on June 18, 2011, 10:00:20 PM
Just look at it as a tax that will help bitcoin function.  ;D
Without it necessary services that is required will not work, so we all have to pay a bit to help out. 


Title: Re: Transaction fees?!
Post by: bitcola on June 18, 2011, 10:06:47 PM
Just look at it as a tax that will help bitcoin function.  ;D
Without it necessary services that is required will not work, so we all have to pay a bit to help out. 

A currency with a built-in tax? Great!


Title: Re: Transaction fees?!
Post by: geek-trader on June 18, 2011, 10:27:39 PM
I'm aware of the voluntary fee.  I see documentation about it.  But what we are talking about here is a hidden, undocumented fee.

Suddenly Bitcoin seems a lot less attractive.


Title: Re: Transaction fees?!
Post by: willphase on June 18, 2011, 10:36:43 PM
It's not hidden and it's fully documented. The transaction fees are paid to the person who solves a block as an encouragement to mine. If the transaction fees were not there then when the reward for generating a block, currently at 50 btc but due to half every four years, would not be enough incentive for people to spend electricity and time solving blocks later in the lifetime of bitcoin (mid 2020s).

Will


Title: Re: Transaction fees?!
Post by: geek-trader on June 18, 2011, 10:39:30 PM
It's not hidden and it's fully documented. The transaction fees are paid to the person who solves a block as an encouragement to mine. If the transaction fees were not there then when the reward for generating a block, currently at 50 btc but due to half every four years, would not be enough incentive for people to spend electricity and time solving blocks later in the lifetime of bitcoin (mid 2020s).

Will

I see wiki pages that say that.  What I don't see is information about how much the fee is and when it is charged.  The devil is in the details.


Title: Re: Transaction fees?!
Post by: geek-trader on June 18, 2011, 10:43:31 PM
Looking around, I see several variation of this:

"There is a voluntary transaction fee that can be paid in every transfer of bitcoins, the amount of which is chosen, and paid, by the person who sends the money. This amount is given to the person who generates the "proof-of-work" block in which the transaction appears, which is necessary for the transaction to be accepted."

That's fine.  But the fee this thread is about was NOT voluntary.

If there are involuntary fees involved in sending bitcoin payments, we need to know about them.


Title: Re: Transaction fees?!
Post by: Alex Beckenham on June 18, 2011, 10:48:03 PM
The day I upgrade from 0.3.20 will be the day we stop seeing threads like this... never?


Title: Re: Transaction fees?!
Post by: geek-trader on June 18, 2011, 10:51:39 PM
The day I upgrade from 0.3.20 will be the day we stop seeing threads like this... never?


The day we stop seeing threads like this is the day the hidden fees are explained in the wiki on bitcoin.org, just like the voluntary fees are.

Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)


Title: Re: Transaction fees?!
Post by: vulgata on June 18, 2011, 11:15:38 PM
The day I upgrade from 0.3.20 will be the day we stop seeing threads like this... never?


OP here: I am using 0.3.23.  Does this affect anything?

Can someone answer my other questions?

was I wrong in thinking that the original client allows you to choose 0 transaction fee?  What is the point of setting paytxfee=0.00?

how many confirmations do I need before I don't have to pay a transaction fee on a coin?


Title: Re: Transaction fees?!
Post by: vulgata on June 19, 2011, 03:59:46 PM
The day I upgrade from 0.3.20 will be the day we stop seeing threads like this... never?


Thanks! This solved my problem perfectly ;D

I wonder why they changed this behavior?


Title: Re: Transaction fees?! [Fixed]
Post by: vulgata on June 20, 2011, 02:34:13 PM
Soo, actually it only fixes the behavior on the Windows GUI client (0.3.20.2), not bitcoind on Linux...

Example using bitcoind 0.3.20.2 on Linux:

http://blockexplorer.com/tx/9ac78be5fc3cf8dabc1c50da0331f0bb42739a30ea02fe95c889b0d2ba9bfe0c

0.00293667/0.1 = 2.9%!!!  :-[

Better than the 5% on .01 from before but still pretty bad...  How do I get this magical "alternative client" that doesn't charge transaction fees everyone keeps referring to?!


Title: Re: Transaction fees?! [Fixed... kinda]
Post by: luxgladius on June 20, 2011, 03:06:34 PM
The fees are voluntary. Clients can offer no fee, but miners aren't likely to pick up a transaction for inclusion in the network without sufficient fee. You can avoid fees by using old transactions as funding or by using large bitcoin amounts, preferably both. These go toward transaction priority. If your priority is high enough, most miners will accept your transaction without a fee.

If you want to pay no fees, just recompile the client with MIN_TX_FEE and MIN_RELAY_TX_FEE set to 0. But if your transactions aren't accepted, don't say we didn't warn you.


Title: Re: Transaction fees?! [Fixed]
Post by: figvam on June 20, 2011, 07:31:00 PM
Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee


Title: Re: Transaction fees?! [Fixed]
Post by: Yatta99 on June 20, 2011, 09:10:34 PM
Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee

The trouble with that wiki article is that in the third paragraph it states "Transaction fees are voluntary on the part of the person making the bitcoin transaction..." (emphasis added). This implies that if you set the transaction fee option to 0.00 BTC that there will be no fee incurred.

What is being discussed here is an involuntary transaction fee that is being automatically added by the client even with the transaction fee option being set to 0.00 BTC.

What is being asked is: How many confirmations are required to avoid this involuntary transaction fee? The wiki link above is silent on this issue.


Title: Re: Transaction fees?! [Fixed]
Post by: luxgladius on June 20, 2011, 10:08:30 PM
Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee

The trouble with that wiki article is that in the third paragraph it states "Transaction fees are voluntary on the part of the person making the bitcoin transaction..." (emphasis added). This implies that if you set the transaction fee option to 0.00 BTC that there will be no fee incurred.

What is being discussed here is an involuntary transaction fee that is being automatically added by the client even with the transaction fee option being set to 0.00 BTC.

What is being asked is: How many confirmations are required to avoid this involuntary transaction fee? The wiki link above is silent on this issue.


It's not an easy question. I'll try to break it down. When creating a transaction, it looks through your wallet and tries to select the coins that come closest to equal to your target value. The coins it selects are evaluated on their size (in BTC) and age. That whole amount is then divided by the total transaction size. A typical transaction is about 250 bytes. (One input transaction, two output transactions). So if your input transaction is worth 1 Bitcoin and has an age of 144 blocks (about a day), then they are allowed for free processing. If it is worth 0.5 Bitcoins, then two days, if .25, then 4 days, etc. If it's not eligible for free processing, the transaction fee is set to 0.01 BTC. If any of your outputs is less than 0.01 BTC, the transaction fee is also set to 0.01 BTC. If you have change due from your transaction that is less than 0.01, it will include it as a fee instead.

So all in all, it depends on the coins you have in your wallet, which ones the algorithm selects, how big those coins are, how many confirmations they have, and the size of your outputs.

Now as far as miners are concerned, they'll accept a 0.0005 fee rather than 0.01 fee for some reason, but they otherwise seem to use the same logic as to which blocks they will accept for free processing. However, if a block is submitted for acceptance, all this fee logic is not checked and it will accept any block so long as the inputs of the transaction are equal to or greater than the output. So if somebody were to program a rogue miner that accepted transactions no matter what, whenever it generated a block, it would be no problem for the network, but the default miners will not accept your transaction unless it has the correct fee attached.

Hope that helps.


Title: Re: Transaction fees?! [Fixed]
Post by: luxgladius on June 20, 2011, 10:28:21 PM
A fee of 0.1 BTC seems kind of steep at the current exchange rate. I seriously hope they will lower it. Imagine in a few years when that 0.1 BTC will be worth like 20$. If you want to buy a 20$ DVD with Bitcoin you'll have to pay double.

0.01, not 0.1. About 17 cents at current exchange rates I think.


Title: Re: Transaction fees?! [Fixed... kinda]
Post by: vulgata on June 20, 2011, 10:44:24 PM
The fees are voluntary. Clients can offer no fee, but miners aren't likely to pick up a transaction for inclusion in the network without sufficient fee. You can avoid fees by using old transactions as funding or by using large bitcoin amounts, preferably both. These go toward transaction priority. If your priority is high enough, most miners will accept your transaction without a fee.

If you want to pay no fees, just recompile the client with MIN_TX_FEE and MIN_RELAY_TX_FEE set to 0. But if your transactions aren't accepted, don't say we didn't warn you.

Did exactly that, thanks.  It takes maybe up to an hour for the first confirmation, usually less, not too big a deal.  I have done many test runs and they all seem to go through fine :D

Question: Later, when there are more transactions and more complicated transactions with parts of blocks etc., and miners are working mostly for transaction fees instead of block awards, what happens when I send a no-fee transaction and it's not accepted by anyone?  Do those coins just disappear?  Are they lost in limbo forever?  Will they someday eventually get picked up in a new block?  Can the recipient pay a fee to get the transaction confirmed if he gets tired of waiting?

I would like to see finer control over our transactions, kinda like when you pay for different shipping methods while shopping online: there would be a list of fast, medium, slow transaction speeds (with ETAs) and an approximate transaction cost for each.  I understand that it is impossible to predict transaction costs since a given payment may incorporate many different blocks, but I think it would make people feel better if the client digested the various formulae for calculating transaction fees and their results for them.


Title: Re: Transaction fees?! [Fixed]
Post by: Yatta99 on June 20, 2011, 10:58:25 PM
Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee

The trouble with that wiki article is that in the third paragraph it states "Transaction fees are voluntary on the part of the person making the bitcoin transaction..." (emphasis added). This implies that if you set the transaction fee option to 0.00 BTC that there will be no fee incurred.

What is being discussed here is an involuntary transaction fee that is being automatically added by the client even with the transaction fee option being set to 0.00 BTC.

What is being asked is: How many confirmations are required to avoid this involuntary transaction fee? The wiki link above is silent on this issue.


It's not an easy question. I'll try to break it down. When creating a transaction, it looks through your wallet and tries to select the coins that come closest to equal to your target value. The coins it selects are evaluated on their size (in BTC) and age. That whole amount is then divided by the total transaction size. A typical transaction is about 250 bytes. (One input transaction, two output transactions). So if your input transaction is worth 1 Bitcoin and has an age of 144 blocks (about a day), then they are allowed for free processing. If it is worth 0.5 Bitcoins, then two days, if .25, then 4 days, etc. If it's not eligible for free processing, the transaction fee is set to 0.01 BTC. If any of your outputs is less than 0.01 BTC, the transaction fee is also set to 0.01 BTC. If you have change due from your transaction that is less than 0.01, it will include it as a fee instead.

So all in all, it depends on the coins you have in your wallet, which ones the algorithm selects, how big those coins are, how many confirmations they have, and the size of your outputs.

Now as far as miners are concerned, they'll accept a 0.0005 fee rather than 0.01 fee for some reason, but they otherwise seem to use the same logic as to which blocks they will accept for free processing. However, if a block is submitted for acceptance, all this fee logic is not checked and it will accept any block so long as the inputs of the transaction are equal to or greater than the output. So if somebody were to program a rogue miner that accepted transactions no matter what, whenever it generated a block, it would be no problem for the network, but the default miners will not accept your transaction unless it has the correct fee attached.

Hope that helps.

Thanks, that's a bit clearer now. Perhaps someone should change the wiki to emphasize that setting the transaction fee to 0.00 BTC does not guarantee a 0.00 BTC transaction fee in all cases.

On a tangent to this, is there a point where a transaction stops getting confirmations? I took a payment from mining a few days ago and it's at almost 650 confirmations. Does it ever just become 'confirmed' or does it continue to gather confirmations until spent?


Title: Re: Transaction fees?! [Fixed]
Post by: figvam on June 21, 2011, 05:43:37 AM
Question: Later, when there are more transactions and more complicated transactions with parts of blocks etc., and miners are working mostly for transaction fees instead of block awards, what happens when I send a no-fee transaction and it's not accepted by anyone?  Do those coins just disappear?  Are they lost in limbo forever?  Will they someday eventually get picked up in a new block?  Can the recipient pay a fee to get the transaction confirmed if he gets tired of waiting?
See this discussion on this matter: http://forum.bitcoin.org/?topic=3411.0
There's no definitive answer in it though. Some say the transaction will be in limbo and you'd have to restore a wallet from a backup to get the coins back. Others say the coins are still available until the transaction is confirmed. So the discussion is far from over.


Title: Re: Transaction fees?! [Fixed]
Post by: JoelKatz on June 21, 2011, 07:27:36 AM
On a tangent to this, is there a point where a transaction stops getting confirmations? I took a payment from mining a few days ago and it's at almost 650 confirmations. Does it ever just become 'confirmed' or does it continue to gather confirmations until spent?
I believe that every block after the first block that includes the transaction is a further confirmation. To invalidate the transaction, someone would have to present a longer chain that does not include the transaction. That gets harder and harder to do.


Title: Re: Transaction fees?! [Fixed]
Post by: ZareliMan on June 24, 2011, 06:12:53 AM
Why is it so hard to just point to the documentation on these hidden fees?  It's because it doesn't exist.  Or at least Google doesn't know about it, which is the same thing.  :)
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee

The trouble with that wiki article is that in the third paragraph it states "Transaction fees are voluntary on the part of the person making the bitcoin transaction..." (emphasis added). This implies that if you set the transaction fee option to 0.00 BTC that there will be no fee incurred.

What is being discussed here is an involuntary transaction fee that is being automatically added by the client even with the transaction fee option being set to 0.00 BTC.

What is being asked is: How many confirmations are required to avoid this involuntary transaction fee? The wiki link above is silent on this issue.


It's not an easy question. I'll try to break it down. When creating a transaction, it looks through your wallet and tries to select the coins that come closest to equal to your target value. The coins it selects are evaluated on their size (in BTC) and age. That whole amount is then divided by the total transaction size. A typical transaction is about 250 bytes. (One input transaction, two output transactions). So if your input transaction is worth 1 Bitcoin and has an age of 144 blocks (about a day), then they are allowed for free processing. If it is worth 0.5 Bitcoins, then two days, if .25, then 4 days, etc. If it's not eligible for free processing, the transaction fee is set to 0.01 BTC. If any of your outputs is less than 0.01 BTC, the transaction fee is also set to 0.01 BTC. If you have change due from your transaction that is less than 0.01, it will include it as a fee instead.

So all in all, it depends on the coins you have in your wallet, which ones the algorithm selects, how big those coins are, how many confirmations they have, and the size of your outputs.

Now as far as miners are concerned, they'll accept a 0.0005 fee rather than 0.01 fee for some reason, but they otherwise seem to use the same logic as to which blocks they will accept for free processing. However, if a block is submitted for acceptance, all this fee logic is not checked and it will accept any block so long as the inputs of the transaction are equal to or greater than the output. So if somebody were to program a rogue miner that accepted transactions no matter what, whenever it generated a block, it would be no problem for the network, but the default miners will not accept your transaction unless it has the correct fee attached.

Hope that helps.
That means It's not recommended to make or recieve payments with too much decimals, like 3.50045 bitcois (for example) because that would activate the 0.01 fee.

BTW, I've noticed the use of client 0.3.20 doesn't disable the hidden fees, they just doesn't show due to the lower number of decimals.


Title: Re: Transaction fees?! [Fixed]
Post by: Alphonso Bedoya on June 24, 2011, 01:15:46 PM
Very good info. Thanks from a rookie.