Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: syuhide on May 30, 2015, 10:12:55 AM



Title: [technical discussion] Miner Fee
Post by: syuhide on May 30, 2015, 10:12:55 AM
Hi people !!

just wann aknow who gets the miner fee..
more correctly and lengthly my question is when we transact a nominal bitcoin fee is reduced and paid to miners who process the Transactions.
how our transactions are processed and there are lot of miners are there who simplyfy out that this block 'A' will be solved by this miner 'X'.

i have seen a lot of people adding a significant amount of miner fee to make their transaction quicker..is that possible.

please reply in technical terms..
any noobs please dont spoil the thread... :'(





Title: Re: [technical discussion] Miner Fee
Post by: shorena on May 30, 2015, 10:48:27 AM
Hi people !!

just wann aknow who gets the miner fee..

The miner that finds the block which includes the transaction issuing the fee.

more correctly and lengthly my question is when we transact a nominal bitcoin fee is reduced and paid to miners who process the Transactions.

A transaction consists of inputs and outputs. Inputs refer to transactions you have received in the past and can spend. Outputs cab be used as inputs at a later date, either by someone else or by yourself (e.g when there is change). The fee is what is left if you take the sum of the inputs and substract the sum of the outputs. Thus it is not reduced from the amount you send, it is the leftover you do not send to pay the miner. E.g. 2 inputs with 1 BTC each and you send 1.9 somewhere the rest 0.1 is considered the fee. Most wallets do not handle it this way though, but rather let you decide how much fee you want to pay and create a change output for the rest.

how our transactions are processed and there are lot of miners are there who simplyfy out that this block 'A' will be solved by this miner 'X'.

The transaction is send from your node (or the node your service (like bc.i) provides) to all other nodes it is connected to. These nodes spread the transaction further throughout the network until every node knows about it. Some of these nodes are mining. They build blocks out of the transactions and try to find a hash matching the target value (essentially "find a hash that as a number is smaller than this number", e.g. 13<14 just very larger numbers) in order to receive the block reward and the fees attached to the transactions they include.

There is no way to know in advance which miner will include your transaction.

i have seen a lot of people adding a significant amount of miner fee to make their transaction quicker..is that possible.

In a sense yes and no. No matter how much fee you pay you can not make the miners find a block faster. You can however give them and incentive to include your transaction in the next block they find. They order the transactions in a certain way and the size of the block is limited and thus the number of transaction in each block.

This picture shows the number of transactions my node knew about last night that had not been confirmed at the time. The white lines are just bad performance ignore them.

https://i.imgur.com/axh2PQD.png

As you can easily see in the picture certain transactions do not get confirmed when a new block is found even though they pay a fee. They might be low though, e.g. 1 satoshi. A miner would commonly prioritize a TX with 2 satoshi fee over one with 1, some miners do not consider anything below e.g. 500 satoshi a fee at all. Currently the rule of thumb is that you need to pay 10k satoshi per 1000 byte of transaction size in order to get your transaction confirmed within the next few blocks. The size depends on the number of inputs and outputs used.

please reply in technical terms..
any noobs please dont spoil the thread... :'(

Sorry for trying to avoid technical terms. I dont think complex or fancy words make the understand easier. When I say miner I mean everyone that is potentially creating a block, be that mining pools, solo miners or p2pools.


Title: Re: [technical discussion] Miner Fee
Post by: syuhide on May 30, 2015, 10:53:55 AM
Hi people !!

just wann aknow who gets the miner fee..

The miner that finds the block which includes the transaction issuing the fee.

more correctly and lengthly my question is when we transact a nominal bitcoin fee is reduced and paid to miners who process the Transactions.

A transaction consists of inputs and outputs. Inputs refer to transactions you have received in the past and can spend. Outputs cab be used as inputs at a later date, either by someone else or by yourself (e.g when there is change). The fee is what is left if you take the sum of the inputs and substract the sum of the outputs. Thus it is not reduced from the amount you send, it is the leftover you do not send to pay the miner. E.g. 2 inputs with 1 BTC each and you send 1.9 somewhere the rest 0.1 is considered the fee. Most wallets do not handle it this way though, but rather let you decide how much fee you want to pay and create a change output for the rest.

how our transactions are processed and there are lot of miners are there who simplyfy out that this block 'A' will be solved by this miner 'X'.

The transaction is send from your node (or the node your service (like bc.i) provides) to all other nodes it is connected to. These nodes spread the transaction further throughout the network until every node knows about it. Some of these nodes are mining. They build blocks out of the transactions and try to find a hash matching the target value (essentially "find a hash that as a number is smaller than this number", e.g. 13<14 just very larger numbers) in order to receive the block reward and the fees attached to the transactions they include.

There is no way to know in advance which miner will include your transaction.

i have seen a lot of people adding a significant amount of miner fee to make their transaction quicker..is that possible.

In a sense yes and no. No matter how much fee you pay you can not make the miners find a block faster. You can however give them and incentive to include your transaction in the next block they find. They order the transactions in a certain way and the size of the block is limited and thus the number of transaction in each block.

This picture shows the number of transactions my node knew about last night that had not been confirmed at the time. The white lines are just bad performance ignore them.

https://i.imgur.com/axh2PQD.png

As you can easily see in the picture certain transactions do not get confirmed when a new block is found even though they pay a fee. They might be low though, e.g. 1 satoshi. A miner would commonly prioritize a TX with 2 satoshi fee over one with 1, some miners do not consider anything below e.g. 500 satoshi a fee at all. Currently the rule of thumb is that you need to pay 10k satoshi per 1000 byte of transaction size in order to get your transaction confirmed within the next few blocks. The size depends on the number of inputs and outputs used.

please reply in technical terms..
any noobs please dont spoil the thread... :'(

Sorry for trying to avoid technical terms. I dont think complex or fancy words make the understand easier. When I say miner I mean everyone that is potentially creating a block, be that mining pools, solo miners or p2pools.

thanks man you explaned it very well..got clear my points about transactions..