So I know there have been plenty of threads about this subject before, but I didn't ever read posts about this small of a transaction requiring a "tax".

I went to make a 0.01 BTC donation to an app developer, when the Bitcoin client told me that the transaction was "too big" and required a 0.01 BTC fee to make it work. Is this correct? Why am I being charged 100% of my transaction as a fee? Could somebody help me out please?

Also, if you the coins you're trying to transfer are too fresh on your wallet there is a tax imposed regardless of the amount (they don't want people spending money that haven't been confirmed they own yet)

(I dont always get new reply notifications, pls send a pm when you think it has happened)

Wanna gimme some BTC for any or no reason? 1FmvtS66LFh6ycrXDwKRQTexGJw4UWiqDX

The more you believe in Bitcoin, and the more you show you do to other people, the faster the real value will soar!

Also, if you the coins you're trying to transfer are too fresh on your wallet there is a tax imposed regardless of the amount (they don't want people spending money that haven't been confirmed they own yet)

It's not really about "spending money that haven't been confirmed they own yet" it's that people trying to DOS attack bitcoin produce transactions which look exactly like that: They take some large amount of bitcoin and rapidly ping pong it between a series of addresses, or they take tiny amounts of bitcoin and mass broadcast it two and from many addressses, or something in between.

The 0.0005 (currently about a half cent USD in value) fee is required in cases when the system can't automatically distinguish your transaction from a DOS attack and so it wouldn't forward it. You can avoid it by simply letting the inputs in your wallet age, also, when you can— try to get payments in bigger chunks rather than lots of little tiny ones. (like avoiding pennies).

Are you 'gathering' a large number of very small transactions together? That tends to cause excessive fees. It costs about .001 BTC per source to gather coins into a transaction. So if you have a large number of transactions each around .001 BTC, it can be impossible to gather them effectively.

The solution is not to make large numbers of small transactions. It may help to let the coins sit still for a few hours.

I am an employee of Ripple. Follow me on Twitter @JoelKatz1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN

Are you 'gathering' a large number of very small transactions together? That tends to cause excessive fees. It costs about .001 BTC per source to gather coins into a transaction. So if you have a large number of transactions each around .001 BTC, it can be impossible to gather them effectively.

The solution is not to make large numbers of small transactions. It may help to let the coins sit still for a few hours.

Is there some threshold number of confirmations or amount where there isn't a compulsory transaction fee? My earliest incoming was about 1.1 BTC with a few hundred confirmations from 10 days, yet when I sent a 0.02 BTC transaction, it still demanded the transaction fee.

Or does the sit still means that my wallet/address must not have any transaction for at least X hours before sending?

Is there some threshold number of confirmations or amount where there isn't a compulsory transaction fee? My earliest incoming was about 1.1 BTC with a few hundred confirmations from 10 days, yet when I sent a 0.02 BTC transaction, it still demanded the transaction fee.

Or does the sit still means that my wallet/address must not have any transaction for at least X hours before sending?

It means the specific coins you use must have been in your wallet (have not moved) for a few hours. The client's logic in selecting which coins to use is a bit mysterious, and it won't always find the best combination of coins to use. It is not so much the client's fault -- it's also an issue that which coins are best depends upon what you plan to do in the future, which of course the client cannot know.

If you have a lot of small incoming transactions, you may need to do one "clean up" transaction. You can manually connect to a bitcoin client known to accept transactions with no fee, do a single "clean up" transaction, sending all your bitcoins to one address with a small fee, and then be very patient and hope the transaction gets to the client and then a miner picks up that transaction. It can take a day or so, but you should only need to do it once. Then just stop doing whatever created the mess in the first place.

Try this:1) Create a new bitcoin address.2) Backup your wallet.3) Set your transaction fee very, very low (say, .005).4) Start your bitcoin client with this on the command line:-addnode=173.242.112.53 This connects a no-fee client run by Luke Dash Jr.5) Create a transaction to transfer all your bitcoins to the new address you created in step 1. You may need to subtract .005 or so for the fee.6) Go away for a few hours. If you're lucky, the transaction got into a block and all your bitcoins are now in one place. Let them sit there a few more hours and your problems should be solved.

If the transaction doesn't go through, you can revert to the saved wallet.dat file to undo the transaction.

I am an employee of Ripple. Follow me on Twitter @JoelKatz1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN

1) Create a new bitcoin address.2) Backup your wallet.3) Set your transaction fee very, very low (say, .005).4) Start your bitcoin client with this on the command line:-addnode=173.242.112.53 This connects a no-fee client run by Luke Dash Jr.5) Create a transaction to transfer all your bitcoins to the new address you created in step 1. You may need to subtract .005 or so for the fee.6) Go away for a few hours. If you're lucky, the transaction got into a block and all your bitcoins are now in one place. Let them sit there a few more hours and your problems should be solved.

If the transaction doesn't go through, you can revert to the saved wallet.dat file to undo the transaction.

If I'm not too bothered by a single transaction fee before making a lot of small payments, it seems that I can consolidate simply by sending all my bitcoins to my new address normally. Or am I badly mistaken and each "piece" of bitcoin cost a transaction fee to be consolidated into one transaction?

If I'm not too bothered by a single transaction fee before making a lot of small payments, it seems that I can consolidate simply by sending all my bitcoins to my new address normally. Or am I badly mistaken and each "piece" of bitcoin cost a transaction fee to be consolidated into one transaction?

It depends how you got those bitcoins. If you received them as a lot of small transactions, the consolidation transaction will have to gather them all which may make it large enough to require a transaction fee.

I am an employee of Ripple. Follow me on Twitter @JoelKatz1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN

If I'm not too bothered by a single transaction fee before making a lot of small payments, it seems that I can consolidate simply by sending all my bitcoins to my new address normally. Or am I badly mistaken and each "piece" of bitcoin cost a transaction fee to be consolidated into one transaction?

It depends how you got those bitcoins. If you received them as a lot of small transactions, the consolidation transaction will have to gather them all which may make it large enough to require a transaction fee.

I'm getting a bit confused because something doesn't add up after some experimenting.

According to what's said so far, due to the need to consolidate coins from different address/transaction, so a transaction fee is needed.

This seems to imply a large transaction will cost more. e.g. To send 3.5 BTC, I need to gather 0.5 from address A, 1.2 from address B, 1.8 from address C.

However, when I test out using the official client, I don't need to pay a fee on 1 BTC yet need to pay a fee on 0.01 BTC. Since none of my incoming are less than 0.1, there shouldn't be any need for a coin gathering transaction fee.

So something else seems to be missing here. Searching around, it seems that it's the smaller transaction that get "taxed", in order to avoid spam/coindust? If this is the case, then it makes sending small BTC gifts, anything less than 0.1, a big waste since the processing node can take as much as 50% of what's sent.

It also make it pointless for bitcoin to support up to 8 decimal places since it would be senseless to send anything less than the minimum transaction fee of 0.0005.

It also make it pointless for bitcoin to support up to 8 decimal places since it would be senseless to send anything less than the minimum transaction fee of 0.0005.

The minimum transaction fee was 0.01 until the most recent version of the client when it was reduced to 0.0005. It will eventually be reduced further. Part of the deflationary nature of bitcoin is that, as bitcoins are eventually worth more and more, people will be transacting in smaller and smaller units. The supply of bitcoins is finite, and on top of that bitcoins are occasionally lost/irretrievable (lost wallets etc), further exacerbating the deflation.

8 decimal places is not pointless; in fact it is VITAL to the long-term viability of bitcoins. In fact, eventually even 8 decimal places will be insufficient -- fortunately the bitcoin network and client can be modified to transact in even smaller units if it is ultimately necessary (which it will be).

It also make it pointless for bitcoin to support up to 8 decimal places since it would be senseless to send anything less than the minimum transaction fee of 0.0005.

The minimum transaction fee was 0.01 until the most recent version of the client when it was reduced to 0.0005. It will eventually be reduced further. Part of the deflationary nature of bitcoin is that, as bitcoins are eventually worth more and more, people will be transacting in smaller and smaller units. The supply of bitcoins is finite, and on top of that bitcoins are occasionally lost/irretrievable (lost wallets etc), further exacerbating the deflation.

8 decimal places is not pointless; in fact it is VITAL to the long-term viability of bitcoins. In fact, eventually even 8 decimal places will be insufficient -- fortunately the bitcoin network and client can be modified to transact in even smaller units if it is ultimately necessary (which it will be).

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

You risk losing money that way. If a transaction looks like spam but doesn't have the required fee on it, not only will it not be included in blocks by the standard client, but it will also not be relayed through the P2P network by the standard clients.

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

Yes, you can.

Quote

You risk losing money that way.

That is false. If a proposed transaction is not accepted by the network (i.e. included in a block), then the transaction just fails. But the money isn't lost, it is still yours, and you can resubmit the transaction with a fee or even without a fee again if you want to try again.

Note: Due to certain issues with the client, it is possible that your client may not show the btc as being yours in a failed transaction (available for sending), but trust me the bitcoins ARE yours, you can do a rescan with the client to get access to the coins again if they get caught in limbo. Hopefully this issue with the client will be fixed soon as it has happened to a lot of people.

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

Yes, you can.

Quote

You risk losing money that way.

That is false. If a proposed transaction is not accepted by the network (i.e. included in a block), then the transaction just fails. But the money isn't lost, it is still yours, and you can resubmit the transaction with a fee or even without a fee again if you want to try again.

Note: Due to certain issues with the client, it is possible that your client may not show the btc as being yours in a failed transaction (available for sending), but trust me the bitcoins ARE yours, you can do a rescan with the client to get access to the coins again if they get caught in limbo. Hopefully this issue with the client will be fixed soon as it has happened to a lot of people.

It also make it pointless for bitcoin to support up to 8 decimal places since it would be senseless to send anything less than the minimum transaction fee of 0.0005.

The minimum transaction fee was 0.01 until the most recent version of the client when it was reduced to 0.0005. It will eventually be reduced further. Part of the deflationary nature of bitcoin is that, as bitcoins are eventually worth more and more, people will be transacting in smaller and smaller units. The supply of bitcoins is finite, and on top of that bitcoins are occasionally lost/irretrievable (lost wallets etc), further exacerbating the deflation.

8 decimal places is not pointless; in fact it is VITAL to the long-term viability of bitcoins. In fact, eventually even 8 decimal places will be insufficient -- fortunately the bitcoin network and client can be modified to transact in even smaller units if it is ultimately necessary (which it will be).

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

I'm glad to see that I'm not alone with my concern on transaction fees. I think bitcoin would be an excellent tool to seamlessly scale any business model to any volume between tiny and huge. But the tiny side is currently almost useless because at some point you pay more transaction fees than the actual transaction value. On the other hand, we don't want to carry around a block chain full of spam transactions. My current idea to solve this is to decentralize the spam prevention logic. Currently, it is (despite of the seemingly decentralized network) a central decisions of one or more programmers deciding about the limits to put into the official client. Now, if mining pools start to implement their own transaction selection policies in their client, it might be easier to find a node that will process a transaction with a zero or very small fee. Extending from that, if spammy transactions become a problem, it might be feasible for pool operators to include low-fee transactions only from trusted clients (for example from their miners). If someone starts to spam, he can just be blacklisted. For some more thought about this, please see my http://bitcointalk.org/index.php?topic=28309.0 thread.

If you are also concerned about transaction fees, maybe you want to join forces...

Since this appears to be set by the client, can we compile our own to allow smaller or even zero transaction fee on small transfers? I know it might mean the transfers take longer since the transaction fee is an incentive for transactions to be processed but with the current transaction volume, I don't think it would be a major concern.

You risk losing money that way. If a transaction looks like spam but doesn't have the required fee on it, not only will it not be included in blocks by the standard client, but it will also not be relayed through the P2P network by the standard clients.

Yes, this is an important problem in the current implementation (considering that the intended network behaviour is to slow down low-fee transaction rather than having them get stuck in the client). A better implementation would be to throttle low-fee transactions at relaying time, rather than doing an all-or-nothing decision.

Until this gets fixed, the risk can be reduced by increasing the number of bitcoin protocol connections your client creates.

I'm glad to see that I'm not alone with my concern on transaction fees. I think bitcoin would be an excellent tool to seamlessly scale any business model to any volume between tiny and huge. But the tiny side is currently almost useless because at some point you pay more transaction fees than the actual transaction value. On the other hand, we don't want to carry around a block chain full of spam transactions. My current idea to solve this is to decentralize the spam prevention logic. Currently, it is (despite of the seemingly decentralized network) a central decisions of one or more programmers deciding about the limits to put into the official client. Now, if mining pools start to implement their own transaction selection policies in their client, it might be easier to find a node that will process a transaction with a zero or very small fee. Extending from that, if spammy transactions become a problem, it might be feasible for pool operators to include low-fee transactions only from trusted clients (for example from their miners). If someone starts to spam, he can just be blacklisted. For some more thought about this, please see my http://bitcointalk.org/index.php?topic=28309.0 thread.

If you are also concerned about transaction fees, maybe you want to join forces...

While it's not much, I'll switch my miners to whichever reasonably sized pool (no point if the transaction sit for 2 weeks on a small pool before getting accepted) that will accept zero-free small transaction. I have a legit use for those but until I can find a reliable way to have those transactions processed within hours, it would not be feasible to develop my idea further.