Author

Topic: Transaction fees (Read 588 times)

newbie
Activity: 15
Merit: 0
September 26, 2012, 01:44:03 PM
#6
Thanks
donator
Activity: 1218
Merit: 1079
Gerald Davis
September 26, 2012, 08:30:44 AM
#5
Thanks for your quick reply. I have a follow up question as well:

How is determined how many transactions will be included in a block? Do nodes use all transactions that were broadcast to them, or do they choose a selection from amongst them? If so, why don't they just use all transactions that were known by them at the moment they started working on a new block?
Each node can choose which tx to include in the block they are working on.

As for why a node might not include all tx.  Larger blocks take longer to propogate so miners risk increased chance their block will be orphaned.  So miners may choose to limit the # of tx or not include free tx when block is over a certain size.

Still there is no hard rule other than a 512K soft limit and 1024K hard limit. An individual miner/pool can choose to include all tx or none in the next block.
legendary
Activity: 1106
Merit: 1004
September 26, 2012, 08:28:02 AM
#4
How is determined how many transactions will be included in a block? Do nodes use all transactions that were broadcast to them, or do they choose a selection from amongst them? If so, why don't they just use all transactions that were known by them at the moment they started working on a new block?

There's a protocol hard-coded limit of 1MB per block which no miner can violate (the block would be rejected by the network). There are also softer limits most miners implement, I think. But roughly, despite this 1MB limit, it's the miner's choice how to fill his block. (obviously, the block must be valid, i.e., respect fundamental protocol rules like not to include a double-spend, not to spend somebody's money without authorization etc)
newbie
Activity: 4
Merit: 0
September 26, 2012, 08:14:15 AM
#3
Thanks for your quick reply. I have a follow up question as well:

How is determined how many transactions will be included in a block? Do nodes use all transactions that were broadcast to them, or do they choose a selection from amongst them? If so, why don't they just use all transactions that were known by them at the moment they started working on a new block?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
September 26, 2012, 07:50:45 AM
#2
Transactions are prioritized according to a few criteria:

1) Their size.

2) The age of their inputs.

3) Any fees you have included.

If the size and age are no problem then fees are currently not necessary at all (although they may not be prioritized as highly as those that include fees).

If the size is large then a small fee per kb is required and if not too big but the inputs are too recent then a minimum fee (of 0.005 I think) is required to be processed quickly (small tx's without fees that have inputs that are too young will just end up having to wait until they become old enough to process).

Currently a tx will only end up as "dead" (never to be processed) if it is above the minimum size and no fee has been provided (most clients will not let you easily create such a tx).

If you elect to pay more fees than necessary then it is up to miners to decide whether to prefer your tx (I assume in general they would - and especially since the introduction of Satoshi Dice).

In recent times I have noticed that tx's that do not include any fees (but don't need to) can be delayed quite a bit (say several hours) vs those that do.
newbie
Activity: 4
Merit: 0
September 26, 2012, 07:39:26 AM
#1
Hi all,

Another quick question:

Does the inclusion of a transaction fee make it more likely that a transaction will be processed swiftly? If so, how?

Thanks!
Jump to: