Bitcoin Forum
November 06, 2024, 04:20:31 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Transaction fees?! [Fixed]  (Read 4417 times)
vulgata (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
June 18, 2011, 11:15:38 PM
Last edit: June 19, 2011, 03:58:22 PM by vulgata
 #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?
vulgata (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
June 19, 2011, 03:59:46 PM
 #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?
vulgata (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
June 20, 2011, 02:34:13 PM
 #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?!
luxgladius
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
June 20, 2011, 03:06:34 PM
 #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.
figvam
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
June 20, 2011, 07: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
Yatta99
Member
**
Offline Offline

Activity: 84
Merit: 10


I need an new box...


View Profile
June 20, 2011, 09: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.

Tips for new box to: 16s14wcsNo5TcdsGLttL7B1XWiCv8E4L6A
luxgladius
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
June 20, 2011, 10: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.
luxgladius
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile
June 20, 2011, 10: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.
vulgata (OP)
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
June 20, 2011, 10: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.
Yatta99
Member
**
Offline Offline

Activity: 84
Merit: 10


I need an new box...


View Profile
June 20, 2011, 10: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?

Tips for new box to: 16s14wcsNo5TcdsGLttL7B1XWiCv8E4L6A
figvam
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
June 21, 2011, 05: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.
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
June 21, 2011, 07: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.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
ZareliMan
Newbie
*
Offline Offline

Activity: 23
Merit: 0



View Profile
June 24, 2011, 06: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.
Alphonso Bedoya
Newbie
*
Offline Offline

Activity: 45
Merit: 0



View Profile
June 24, 2011, 01:15:46 PM
 #34

Very good info. Thanks from a rookie.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!