Title: Transaction fees Post by: michaschimmel on September 26, 2012, 12:39:26 PM 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! Title: Re: Transaction fees Post by: CIYAM on September 26, 2012, 12:50:45 PM 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. Title: Re: Transaction fees Post by: michaschimmel on September 26, 2012, 01:14:15 PM 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? Title: Re: Transaction fees Post by: caveden on September 26, 2012, 01:28:02 PM 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) Title: Re: Transaction fees Post by: DeathAndTaxes on September 26, 2012, 01:30:44 PM Thanks for your quick reply. I have a follow up question as well: Each node can choose which tx to include in the block they are working on.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? 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. Title: Re: Transaction fees Post by: jork on September 26, 2012, 06:44:03 PM Thanks
|