Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: willmcgugan on March 01, 2011, 10:08:46 AM



Title: Transaction fee
Post by: willmcgugan on March 01, 2011, 10:08:46 AM
Hi,

Who gets the transaction fee that specified in the software? And does it really speed up transactions?

Will


Title: Re: Transaction fee
Post by: SmokeTooMuch on March 01, 2011, 10:15:00 AM
You (the sender) pay(s) it (and decide(s) how much), and the one who generates the block, which your transaction is in, gets the fee.

Afaik it won't really speed it up in the current situation, but as soon as bitcoin becomes more popular it will help proceeding transactions faster.


Title: Re: Transaction fee
Post by: theGECK on March 01, 2011, 03:06:54 PM
Thank you very much, I've been thinking about reading up on it since I've been seeing people talk about it as the next reason to mine after the reward goes from 50 to 25 BTC.


Title: Re: Transaction fee
Post by: Gavin Andresen on March 01, 2011, 03:12:25 PM
Afaik it won't really speed it up in the current situation, but as soon as bitcoin becomes more popular it will help proceeding transactions faster.
Actually, I'm considering turning on transaction fees for the Bitcoin Faucet because small transactions with "new" coins are given very low priority, and recently new users are noticing that their Faucet coins are not arriving promptly.


Title: Re: Transaction fee
Post by: Mike Hearn on March 01, 2011, 04:38:46 PM
That'd just be a temporary workaround though, right? We're not anywhere near any of the actual bottlenecks in the software itself yet.


Title: Re: Transaction fee
Post by: theGECK on March 01, 2011, 04:48:42 PM
When people use transaction fees right now, are they awarded to the person who finds the block? Or is it just the 50 BTC reward.


Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 04:52:54 PM
Afaik it won't really speed it up in the current situation, but as soon as bitcoin becomes more popular it will help proceeding transactions faster.
Actually, I'm considering turning on transaction fees for the Bitcoin Faucet because small transactions with "new" coins are given very low priority, and recently new users are noticing that their Faucet coins are not arriving promptly.


Ouch, gotta worry about word getting out that "Bitcoin charges 20% on microtransactions".

But of course slow transactions look bad too.


Title: Re: Transaction fee
Post by: barbarousrelic on March 01, 2011, 04:54:12 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?


Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 04:56:15 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?

Some miners are not putting transactions in if there is no fee. I presume this is to incentivise fees.


Title: Re: Transaction fee
Post by: jgarzik on March 01, 2011, 05:32:15 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?

Some miners are not putting transactions in if there is no fee. I presume this is to incentivise fees.

Evidence?

I see plenty of blocks with zero fees.



Title: Re: Transaction fee
Post by: caveden on March 01, 2011, 05:46:08 PM
There's a "default fee policy" implemented in the default client that says that the space for free transactions is only 4KB, although the block may be bigger.
Most miners seem to implement this policy. So it's already happening that many free transactions are not managing to enter any block.

This is being discussed on other topics right now. :)


Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 05:51:21 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?

Some miners are not putting transactions in if there is no fee. I presume this is to incentivise fees.

Evidence?

I see plenty of blocks with zero fees.

Oh, I didn't mean most, just that there must be some. I've had transactions not get in the next block. And when that happens it usually takes a few blocks to get. Now that I'm thinking about it, maybe I'm wrong. The delayed transactions may only have happened when I sent ~10 and usually all but one would get in which means there aren't miners who only take fees. Maybe miners that usually take zero fee, but delay with some probability? Seems unlikely. I also thought I'd seen others having the same issue, but I didn't look carefully.

This was over a month ago, but I assumed it still happened and I just wasn't seeing it because I'm sending less often now.

I'm probably totally wrong.


Title: Re: Transaction fee
Post by: theymos on March 01, 2011, 06:39:21 PM
There's a "default fee policy" implemented in the default client that says that the space for free transactions is only 4KB, although the block may be bigger.
Most miners seem to implement this policy. So it's already happening that many free transactions are not managing to enter any block.

There's 27kB for free transactions, though only 4kB for low-priority free transactions.


Title: Re: Transaction fee
Post by: jgarzik on March 01, 2011, 07:24:02 PM
Oh, I didn't mean most, just that there must be some. I've had transactions not get in the next block. And when that happens it usually takes a few blocks to get. Now that I'm thinking about it, maybe I'm wrong. The delayed transactions may only have happened when I sent ~10 and usually all but one would get in which means there aren't miners who only take fees. Maybe miners that usually take zero fee, but delay with some probability? Seems unlikely. I also thought I'd seen others having the same issue, but I didn't look carefully.

This was over a month ago, but I assumed it still happened and I just wasn't seeing it because I'm sending less often now.

At present, fees are nothing compared to the block reward.  It makes no economic sense for a miner to avoid fee-free blocks.



Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 07:42:33 PM
Oh, I didn't mean most, just that there must be some. I've had transactions not get in the next block. And when that happens it usually takes a few blocks to get. Now that I'm thinking about it, maybe I'm wrong. The delayed transactions may only have happened when I sent ~10 and usually all but one would get in which means there aren't miners who only take fees. Maybe miners that usually take zero fee, but delay with some probability? Seems unlikely. I also thought I'd seen others having the same issue, but I didn't look carefully.

This was over a month ago, but I assumed it still happened and I just wasn't seeing it because I'm sending less often now.

At present, fees are nothing compared to the block reward.  It makes no economic sense for a miner to avoid fee-free blocks.


Yeah, I wouldn't do it. But I could see people thinking "I'm going to be doing this for a long time and the sooner people get in the habit of paying fees the better for me". Like I said though I'm probably wrong. It was probably just low priority payments not fitting in that part because I was doing a bunch and they were small and probably new since I had been receiving lots of small amounts around that time.


Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 07:43:52 PM
Afaik it won't really speed it up in the current situation, but as soon as bitcoin becomes more popular it will help proceeding transactions faster.
Actually, I'm considering turning on transaction fees for the Bitcoin Faucet because small transactions with "new" coins are given very low priority, and recently new users are noticing that their Faucet coins are not arriving promptly.


Would it help if you restructured that way payments were sent so that it wouldn't always be new coins from the change of the last transaction? Like maybe break your stash into a bunch of .05 addresses and let them age and then you can send them out with no change?


Title: Re: Transaction fee
Post by: Gavin Andresen on March 01, 2011, 07:51:01 PM
Would it help if you restructured that way payments were sent so that it wouldn't always be new coins from the change of the last transaction? Like maybe break your stash into a bunch of .05 addresses and let them age and then you can send them out with no change?

No.  The only way to "break your stash" is to create transactions that are broadcast; splitting your wallet into lots of small transactions makes the problem worse for you and everybody else (it is more 'expensive' to handle fistfulls of nickels and pennies, even in the bitcoin world).


Title: Re: Transaction fee
Post by: FreeMoney on March 01, 2011, 08:00:20 PM
Would it help if you restructured that way payments were sent so that it wouldn't always be new coins from the change of the last transaction? Like maybe break your stash into a bunch of .05 addresses and let them age and then you can send them out with no change?

No.  The only way to "break your stash" is to create transactions that are broadcast; splitting your wallet into lots of small transactions makes the problem worse for you and everybody else (it is more 'expensive' to handle fistfulls of nickels and pennies, even in the bitcoin world).


Okay, I was thinking that since the splitting was going to be done anyway you could just do it early to give the coins age and therefore priority.

But if that's no good would it at least help a little to not put donations all in one address so that the entire faucet balance doesn't get sent as change every time?

Maybe I'm confused or maybe that isn't even happening anymore, thanks for humoring me.


Title: Re: Transaction fee
Post by: theGECK on March 01, 2011, 09:48:43 PM
I don't think it's the coin's age as it is the transaction's. So splitting your wallet wouldn't do anything but give you lots of small wallets.


Title: Re: Transaction fee
Post by: barbarousrelic on March 01, 2011, 10:01:16 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?

Some miners are not putting transactions in if there is no fee. I presume this is to incentivise fees.
How does this work exactly? Say I send a transaction without a fee, and the next ten blocks are all generated by miners who require fees. Will my transaction remain with zero confirmations for the next ten blocks?


Title: Re: Transaction fee
Post by: StevenC on March 01, 2011, 10:03:07 PM
Will my transaction remain with zero confirmations for the next ten blocks?

I think it would be at least 10 blocks;  your transaction may get stuck in a backlog of free transactions that can't all fit into the next block.  Which seems to be happening for real right now...


Title: Re: Transaction fee
Post by: barbarousrelic on March 01, 2011, 10:07:37 PM
Will my transaction remain with zero confirmations for the next ten blocks?

I think it would be at least 10 blocks;  your transaction may get stuck in a backlog of free transactions that can't all fit into the next block.  Which seems to be happening for real right now...

If this is the case, I don't see why any miners would have any incentive to process no-fee transactions. If they get the new-block 50BTC regardless, they lose nothing by requiring fees and can potentially gain.


Title: Re: Transaction fee
Post by: jgarzik on March 01, 2011, 10:16:17 PM
How does this work exactly? Say I send a transaction without a fee, and the next ten blocks are all generated by miners who require fees. Will my transaction remain with zero confirmations for the next ten blocks?

That is correct.



Title: Re: Transaction fee
Post by: barbarousrelic on March 02, 2011, 06:05:41 PM
How does this work exactly? Say I send a transaction without a fee, and the next ten blocks are all generated by miners who require fees. Will my transaction remain with zero confirmations for the next ten blocks?

That is correct.


So why does any miner accept transactions without a fee? They gain nothing by accepting these transactions and lose nothing by requiring a transaction fee.


Title: Re: Transaction fee
Post by: mndrix on March 02, 2011, 06:33:20 PM
So why does any miner accept transactions without a fee? They gain nothing by accepting these transactions and lose nothing by requiring a transaction fee.

Miners gain broader Bitcoin usage by accepting free transactions into their blocks.  Broad usage should translate into higher Bitcoin prices and higher mining profits.


Title: Re: Transaction fee
Post by: Cusipzzz on March 02, 2011, 06:36:26 PM
also, miners send transactions too. Call it professional courtesy from whomever gets the next block :)


Title: Re: Transaction fee
Post by: Groc on March 04, 2011, 11:08:52 PM
Is there any incentive at all to pay transaction fees if the block size is less than its maximum size? If the block is less than the maximum size, won't all transactions be included in the block regardless of fees paid?

Some miners are not putting transactions in if there is no fee. I presume this is to incentivise fees.
Say I send a transaction without a fee, and the next ten blocks are all generated by miners who require fees.

Is there different software for miners?


Title: Re: Transaction fee
Post by: freeman on March 05, 2011, 05:09:07 PM

Is there different software for miners?


Most people use the standard version but not all do.  I'm pretty ArtForz has his own version and others do too.


Title: Re: Transaction fee
Post by: Only-One Bit Coiner on March 05, 2011, 06:39:20 PM
pools

One can create an alternative pool without fees, pools are uncontrollable.


Title: Re: Transaction fee
Post by: LMGTFY on March 05, 2011, 07:37:36 PM
One can create an alternative pool without fees, pools are uncontrollable.
Sure. But would you want to join such a pool, if it was competing with pools that did levy transaction fees? Given a choice between a share of 50 BTC or a share of 50 + 0.5 (say) BTC, I'd prefer to go with the pool that levied fees.


Title: Re: Transaction fee
Post by: FreeMoney on March 05, 2011, 07:45:44 PM
One can create an alternative pool without fees, pools are uncontrollable.
Sure. But would you want to join such a pool, if it was competing with pools that did levy transaction fees? Given a choice between a share of 50 BTC or a share of 50 + 0.5 (say) BTC, I'd prefer to go with the pool that levied fees.

You can't 'levy' fees. A fee is either attached or it is not. Rejecting no-fee transactions does not make you more in fees. A pool that includes some free tx does not give up any fees that are attached to other tx.


Title: Re: Transaction fee
Post by: LMGTFY on March 05, 2011, 08:02:25 PM
One can create an alternative pool without fees, pools are uncontrollable.
Sure. But would you want to join such a pool, if it was competing with pools that did levy transaction fees? Given a choice between a share of 50 BTC or a share of 50 + 0.5 (say) BTC, I'd prefer to go with the pool that levied fees.

You can't 'levy' fees. A fee is either attached or it is not. Rejecting no-fee transactions does not make you more in fees. A pool that includes some free tx does not give up any fees that are attached to other tx.
Poor choice of words on my part. I'm not sure I get the second part, however. If one pool ("free pool") doesn't reject any transactions, it will get some transaction fees. However, if another pool ("non-free pool") does reject fee-less transactions, it'll (a) ensure that it gets a fee from every transaction it handles, and (b) it'll leave fee-free transactions for "free pool" to handle. Put another way, we know that every block generated by "non-free pool" is going to have transaction fees in addition to the 50 BTC. We don't that that's the case for "free pool": sometimes there will be transaction fees, sometimes not. Or am I missing something?


Title: Re: Transaction fee
Post by: FreeMoney on March 05, 2011, 08:11:02 PM
One can create an alternative pool without fees, pools are uncontrollable.
Sure. But would you want to join such a pool, if it was competing with pools that did levy transaction fees? Given a choice between a share of 50 BTC or a share of 50 + 0.5 (say) BTC, I'd prefer to go with the pool that levied fees.

You can't 'levy' fees. A fee is either attached or it is not. Rejecting no-fee transactions does not make you more in fees. A pool that includes some free tx does not give up any fees that are attached to other tx.
Poor choice of words on my part. I'm not sure I get the second part, however. If one pool ("free pool") doesn't reject any transactions, it will get some transaction fees. However, if another pool ("non-free pool") does reject fee-less transactions, it'll (a) ensure that it gets a fee from every transaction it handles, and (b) it'll leave fee-free transactions for "free pool" to handle. Put another way, we know that every block generated by "non-free pool" is going to have transaction fees in addition to the 50 BTC. We don't that that's the case for "free pool": sometimes there will be transaction fees, sometimes not. Or am I missing something?

I don't think any miner will ever put free tx in before fee tx. So say 1000 tx fit in a block and there are 2000tx waiting that have fees both miners will include the exact same set of tx. But if there are only 600 tx with fees then one will include only those 600 and the other will include those 600 plus 400 free tx. Both miners will receive the exact same amount of fees.

I suppose things change a little in 120 years when there is no per block reward. Some miners might wait to search for a block until there was a fee tx and some might start "for charity" as soon as there was any tx at all.


Title: Re: Transaction fee
Post by: LMGTFY on March 06, 2011, 12:57:14 PM
I don't think any miner will ever put free tx in before fee tx. So say 1000 tx fit in a block and there are 2000tx waiting that have fees both miners will include the exact same set of tx. But if there are only 600 tx with fees then one will include only those 600 and the other will include those 600 plus 400 free tx. Both miners will receive the exact same amount of fees.

I suppose things change a little in 120 years when there is no per block reward. Some miners might wait to search for a block until there was a fee tx and some might start "for charity" as soon as there was any tx at all.
Got it (I think!) Rather than increasing the coins available to the "non-free pool" at the expense of "free pool", the effect of non-free pool's rejection of fee-free transactions will be to increase the waiting time for fee-free txs before they're confirmed. (Which should lead to more tx fees, which in turn will benefit all miners/pools). Thanks for your patience!


Title: Re: Transaction fee
Post by: FreeMoney on March 06, 2011, 05:34:19 PM
I don't think any miner will ever put free tx in before fee tx. So say 1000 tx fit in a block and there are 2000tx waiting that have fees both miners will include the exact same set of tx. But if there are only 600 tx with fees then one will include only those 600 and the other will include those 600 plus 400 free tx. Both miners will receive the exact same amount of fees.

I suppose things change a little in 120 years when there is no per block reward. Some miners might wait to search for a block until there was a fee tx and some might start "for charity" as soon as there was any tx at all.
Got it (I think!) Rather than increasing the coins available to the "non-free pool" at the expense of "free pool", the effect of non-free pool's rejection of fee-free transactions will be to increase the waiting time for fee-free txs before they're confirmed. (Which should lead to more tx fees, which in turn will benefit all miners/pools). Thanks for your patience!

No problem, glad you got it.


Title: Re: Transaction fee
Post by: Groc on March 07, 2011, 03:42:49 PM

I don't think any miner will ever put free tx in before fee tx. ...
How do miners have a choice to process fee transactions first?
When I set my client to generate coins (/ blocks as I understand it) there is no option for me to work only on fee transactions/blocks. 


Title: Re: Transaction fee
Post by: LMGTFY on March 07, 2011, 03:47:14 PM

I don't think any miner will ever put free tx in before fee tx. ...
How do miners have a choice to process fee transactions first?
When I set my client to generate coins (/ blocks as I understand it) there is no option for me to work only on fee transactions/blocks. 
The person writing the code for a miner would write it so that their miner preferred fee-bearing transactions.

As far as I know, none of the publicly available miners have this as an option yet.