Pages:
Author

Topic: Transaction fees?! [Fixed] (Read 4425 times)

newbie
Activity: 45
Merit: 0
June 24, 2011, 08:15:46 AM
#34
Very good info. Thanks from a rookie.
newbie
Activity: 23
Merit: 0
June 24, 2011, 01:12:53 AM
#33
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.  Smiley
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.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
June 21, 2011, 02:27:36 AM
#32
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.
newbie
Activity: 42
Merit: 0
June 21, 2011, 12:43:37 AM
#31
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.
member
Activity: 84
Merit: 10
I need an new box...
June 20, 2011, 05:58:25 PM
#30
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.  Smiley
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?
newbie
Activity: 55
Merit: 0
June 20, 2011, 05:44:24 PM
#29
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 Cheesy

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.
newbie
Activity: 28
Merit: 0
June 20, 2011, 05:28:21 PM
#28
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.
newbie
Activity: 28
Merit: 0
June 20, 2011, 05:08:30 PM
#27
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.  Smiley
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.
member
Activity: 84
Merit: 10
I need an new box...
June 20, 2011, 04:10:34 PM
#26
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.  Smiley
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.
newbie
Activity: 42
Merit: 0
June 20, 2011, 02:31:00 PM
#25
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.  Smiley
Google has this on the first page for "bitcoin transaction fees":
https://en.bitcoin.it/wiki/Transaction_fee
newbie
Activity: 28
Merit: 0
June 20, 2011, 10:06:34 AM
#24
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.
newbie
Activity: 55
Merit: 0
June 20, 2011, 09:34:13 AM
#23
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%!!!  Embarrassed

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?!
newbie
Activity: 55
Merit: 0
June 19, 2011, 10:59:46 AM
#22
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 Grin

I wonder why they changed this behavior?
newbie
Activity: 55
Merit: 0
June 18, 2011, 06:15:38 PM
#21
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?
sr. member
Activity: 294
Merit: 250
June 18, 2011, 05:51:39 PM
#20
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.  Smiley
full member
Activity: 154
Merit: 100
June 18, 2011, 05:48:03 PM
#19
The day I upgrade from 0.3.20 will be the day we stop seeing threads like this... never?
sr. member
Activity: 294
Merit: 250
June 18, 2011, 05:43:31 PM
#18
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.
sr. member
Activity: 294
Merit: 250
June 18, 2011, 05:39:30 PM
#17
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.
hero member
Activity: 767
Merit: 500
June 18, 2011, 05:36:43 PM
#16
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
sr. member
Activity: 294
Merit: 250
June 18, 2011, 05:27:39 PM
#15
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.
Pages:
Jump to: