Author

Topic: How to lower my transaction fee? (Read 2166 times)

legendary
Activity: 1428
Merit: 1093
Core Armory Developer
May 07, 2012, 10:29:30 PM
#13
So we don’t need to worry about this kind of spam having an effect on fees quite yet but eventually it will.

Yup.  But keep in mind that 250KB (where it starts to matter, 500KB hard limit) is an arbitrary limit that technically can be increased (as a revision to the protocol, i.e., not just new software but a whole process).

Jesus are you serious! I can see that being hit in a year or so if the popularity of this type of gambling continues to grow at the present rate. I thought I read somewhere that the hard limit was 1000. As I understand it (and I could be wrong), transactions are hashed in a merkle tree and old blocks can be pruned off to reclaim disk space, right? Wouldn’t these micro transactions also speed up the need to prune the old blocks unnecessarily? I know with the low cost of drives that won’t be soon but why should we want it to be faster than necessary just for micro gambling instead of real commerce? 

There's lots of proposals for pruning.  None of them look like they're going to make it into the protocol/client any time soon.  The devs are more concerned that CPU and internet bandwidth are going to cap out before user start needing multiple hard-drives to store that data.  On the other hand, while the current client is full-blockchain only, the first-time  blockchain download is going to become a serious hurdle for bitcoin adoption.
donator
Activity: 1218
Merit: 1079
Gerald Davis
May 07, 2012, 10:29:00 PM
#12
There is a solution.  Pools/miners can simply demand higher fees.  My p2pool node excludes tx w/ fee less than 1 bitcent.

We will never "run out of space".  As tx volume goes higher miners can put a damper on that by requiring higher fees.  Higher fees will make users less likely to make <10 bitcent tx.  Lower volume = lower fees.

If you think tx spam is a problem then put your money where your mouth is and require higher fees.  Ever miner has that power directly.  Pool miners are subject to the whims of their pool operator but they can make their voice/opinion heard.
legendary
Activity: 2506
Merit: 1010
May 07, 2012, 09:41:31 PM
#11
So we don’t need to worry about this kind of spam having an effect on fees quite yet but eventually it will.

Yup.  But keep in mind that 250KB (where it starts to matter), and 500KB (hard limit) are arbitrary limits that technically can be increased (as a revision to the protocol, i.e., not just new software but a whole process).
legendary
Activity: 2506
Merit: 1010
May 07, 2012, 08:46:22 PM
#10
I watched this site http://satoshidice.com/ for a while yesterday and there were 10+ small transactions a minute happening. What effect would this have on fees?

On fees that you would pay for one of your transactions?  No effect today.

If blocks are getting full, you will pay more to get yours included.  I have ignored those here, because I don't believe that transaction volume is high enough on the network to induce those.  Worst case, your tx might be delayed a block or two until there is room for your standard-fee tx.

Looking at block sizes:
 - http://blockexplorer.com/

The 250KB per block is the threshold where it starts to matter.  Though we are a few multiples from reaching that.
 - http://en.bitcoin.it/wiki/Transaction_fees
 - http://bitcoin.stackexchange.com/questions/3400
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
May 07, 2012, 08:02:23 PM
#9
Transaction fees come about from any one of three conditions, two of which you don't always have control over. 

(1) Priority of the transaction inputs:  age * size   (age is in block numbers, size is in BTC).  If there's not enough priority on the inputs, you pay a fee
(2) Total transaction size:  each input is about 170 bytes, each output is about 40 bytes.
(3) Dust outputs:  if any output is less than 0.01 BTC, you have to pay 0.0005 fee.


If you're talking microtransactions, you are probably hitting (3) every time.  But that would only cause a 0.0005 fee.  The priority issue is probably also an issue, but again only causes a fee of 0.0005 BTC.  Number (2) is what causes large fees.   If (1) and (3) are satisfactory, the transaction can be free if it's less than 3-4 kB. 

However, above 3-4 kB, you're going to be paying 0.0005 per kB.  As seen above, inputs are 4x the size of outputs:  if you can bundle up lots of your transactions into a single transaction with lots of outputs, you might be getting those extra outputs for "free".  i.e. if you're going to use 5 kB and return 90% of it as change to yourself anyway, you might as well try to batch all the transactions together.   You're already using 5kB of inputs, your fee probably wouldnt' even go up for 20 outputs.

Btw, I'm pretty sure that even the forced-zero-tx-fee branch of the Bitcoin client still requires a fee for dust outputs.  It's the only thing preventing nodes from spamming the hell out of the network and bloating the blockchain with dust.  However, many nodes will accept low-priority, large-kB transactions without any fee.

-Eto


P.S. -- There's more conditions that may result in fees that have to do with transaction volume on the network.  If blocks are getting full, you will pay more to get yours included.  I have ignored those here, because I don't believe that transaction volume is high enough on the network to induce those.  Worst case, your tx might be delayed a block or two until there is room for your standard-fee tx.
donator
Activity: 1218
Merit: 1079
Gerald Davis
May 07, 2012, 04:38:08 PM
#8
Stephen is right.

The larger question to ask yourself is why do you have thousands of these tiny outputs?  Are you doing something silly like having a mining pool pay you ever bitcent?  You could cut down on the spam and make your wallet have fewer higher value outputs by simply increasing the pay threshold.  Have pool pay you when you are >1 BTC instead of 0.01 BTC. 
legendary
Activity: 2506
Merit: 1010
May 07, 2012, 04:35:57 PM
#7
ok for the send all btc to myself method, do I have to generate a new receiving address? or can I use one of my old address that already had transactions?

Consolidating your coins won't reduce your fees though, it will only make it so you pay a big amount during the consolidation step and not a little amount during each spend transaction.

Bitcoin was not built to be a microtransaction system.  0.002 BTC is an amount worth a U.S. penny.  The costs for doing that transaction (transferred and stored at thousands of nodes) are currently being subsidized by the amount of currency that is issued (50 BTC per block, about 7,200 BTC per day, or about $36K USD per day) to the miners.

At some point a lower the miners will start forcing these larger sized transactions to cough up a higher amount for the transaction fee.

So, while the transactions are cheap today, feel free to take advantage of it while it lasts (maybe months, maybe years?).  Just know, this probably won't be the situation forever.
hero member
Activity: 630
Merit: 500
May 07, 2012, 11:27:09 AM
#6
If you make many small amount transactions but your money doesn't come from small transactions, then your best shot is to use send-many (multiple outputs, using the same inputs).

Now if your money is distributed in many addresses with tiny amounts each, then yeah, you've got to try to group them together. But if you keep receiving tiny transactions in different address like this the problem will not go away.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
May 07, 2012, 11:20:48 AM
#5
Recently the official client is often forcing me to pay a transaction fee of 0.002 btc per transaction, which adds up pretty quickly since I do hundreds of micro transactions daily.
Is there a way to lower transaction fee? I have heard I need to gather my btc in a new address? how would I do that?
A few options:

Send all your BTC to yourself once, this will collect it into one address.
Use a modified client that doesn't pay the fee, and potentially wait longer for confirmations.
Wait longer for the coins to mature before using them (144 confirmations, usually, might be more for smaller amounts).
Or, find out how you can stop doing so many microtransactions, since they fill up the blockchain faster.

Any one of those 4 should work.

ok for the send all btc to myself method, do I have to generate a new receiving address? or can I use one of my old address that already had transactions?

Want to tell more about your the size and frequency of your normal receives and sends? If they are too small and too fast there might not be much to be done.

Sending all coin to one address might not be optimal because then all of your coin will become 'new coin' very often and that causes fees, because that's what a tx spammer would do, send the same coin over and over.

Someone else probably has a better idea than me, but sending to yourself something like 2BTC chunks might be good.

If you plan to increase volume even more and speed is not of the essence you should look into finding or having made a SendMany script. That will let you make a bunch of tx at once for a fee that is only slightly larger than a normal fee.
legendary
Activity: 1806
Merit: 1003
May 07, 2012, 11:12:35 AM
#4
Recently the official client is often forcing me to pay a transaction fee of 0.002 btc per transaction, which adds up pretty quickly since I do hundreds of micro transactions daily.
Is there a way to lower transaction fee? I have heard I need to gather my btc in a new address? how would I do that?
A few options:

Send all your BTC to yourself once, this will collect it into one address.
Use a modified client that doesn't pay the fee, and potentially wait longer for confirmations.
Wait longer for the coins to mature before using them (144 confirmations, usually, might be more for smaller amounts).
Or, find out how you can stop doing so many microtransactions, since they fill up the blockchain faster.

Any one of those 4 should work.

ok for the send all btc to myself method, do I have to generate a new receiving address? or can I use one of my old address that already had transactions?
legendary
Activity: 1246
Merit: 1016
Strength in numbers
May 07, 2012, 11:08:43 AM
#3
Recently the official client is often forcing me to pay a transaction fee of 0.002 btc per transaction, which adds up pretty quickly since I do hundreds of micro transactions daily.
Is there a way to lower transaction fee? I have heard I need to gather my btc in a new address? how would I do that?
A few options:

Send all your BTC to yourself once, this will collect it into one address.
Use a modified client that doesn't pay the fee, and potentially wait longer for confirmations.
Wait longer for the coins to mature before using them (144 confirmations, usually, might be more for smaller amounts).
Or, find out how you can stop doing so many microtransactions, since they fill up the blockchain faster.

Any one of those 4 should work.

Those are good. If you can wait till they pile up another option might be SendMany.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
May 07, 2012, 11:03:30 AM
#2
Recently the official client is often forcing me to pay a transaction fee of 0.002 btc per transaction, which adds up pretty quickly since I do hundreds of micro transactions daily.
Is there a way to lower transaction fee? I have heard I need to gather my btc in a new address? how would I do that?
A few options:

Send all your BTC to yourself once, this will collect it into one address.
Use a modified client that doesn't pay the fee, and potentially wait longer for confirmations.
Wait longer for the coins to mature before using them (144 confirmations, usually, might be more for smaller amounts).
Or, find out how you can stop doing so many microtransactions, since they fill up the blockchain faster.

Any one of those 4 should work.
legendary
Activity: 1806
Merit: 1003
May 07, 2012, 10:52:13 AM
#1
Recently the official client is often forcing me to pay a transaction fee of 0.002 btc per transaction, which adds up pretty quickly since I do hundreds of micro transactions daily.
Is there a way to lower transaction fee? I have heard I need to gather my btc in a new address? how would I do that?
Jump to: