Author

Topic: Who pays Bitcoin miners? (Read 666 times)

donator
Activity: 1218
Merit: 1015
December 21, 2013, 01:52:33 PM
#6
Perfect.... so presumably there is some "agreed-to" fee structure and base amount that is incorporated into the wallet software.  As I "forward" the transaction as an intermediary, somehow I register myself as entitled to a "share" in that fee.  The actual amount I get will depend on the number of individuals who so "register," which I suppose may differ from miner to miner depending upon how their "block" was constructed for them to mine......

So.....

Since there are blocks that are identical in the transactions they contain, they do differ in other ways, one of which is some kind of allocation table that reflects the identities of the pass-through cleints that forwarded the transaction to the community.

Were I to override the transaction fee and make it 0, some may choose to simply not forward the information?  And if so - does this leave 'orphan transactions' that may never enter the block chain?

Sorry about the depth of the query..... and know your responses have been incredibly helpful.....


bob
Yeah - and on the first paragraph's points: there are supposedly solutions in the works which will allow orphaned transactions to go through or at least be suspended in the network. Right now, you could "attack" a person or company accepting bitcoins if they accept 0-confirmation transactions and don't thoroughly check their validity by simply not including a fee when required. What happens right now is the network will eventually orphan that transaction, dropping it from the queue (I don't recall the exact amount of time this usually happens in -- 1-2 weeks, I think). One of the proposed solutions involve the receiver being able to attach a fee to the transaction after it's been broadcast. The other "solution" is basically just an attempt to disincentive the activity by permitting clients to keep certain no-fee transactions alive in the network indefinitely.

So - say you send 100BTC to BitInstant, you require fees for it to be mined, but you attached none. We'll say BitInstant was testing a program of allowing 0-confirmation transactions without checking whether or not they'll go through. BitInstant would credit your account, say, $60K, but they'd never receive the bitcoins because it required a fee. Currently, that transaction would be totally orphaned by the network in 1-2 weeks. Through proposed solutions, BitInstant could either attach a fee on the transaction to ensure it's mined or force the transaction to stay in the network by broadcasting some type of "keep alive" argument on the transaction so at least the "attacker" never gets his coins back. The "attacker" does take on some risks if he's not careful. First, there may be a mining pool out there which includes his block at no fee. Second, the transaction may eventually not require a fee because the inputs have aged, increasing the transaction's priority and potentially removing the requirement for a fee by default rules.

This is just the mining fee side of things. If a minimum relay fee is required and not included, the transaction won't really be orphaned, it'll simply be blocked by peers (the vast majority of which operate on default rules) and never reach miners. All of this sounds really complicated, and it is, which is why it's so awesome that transactions manage to propagate across the majority of the network in a matter of seconds.
newbie
Activity: 44
Merit: 0
December 21, 2013, 01:36:50 PM
#5
Perfect.... so presumably there is some "agreed-to" fee structure and base amount that is incorporated into the wallet software.  As I "forward" the transaction as an intermediary, somehow I register myself as entitled to a "share" in that fee.  The actual amount I get will depend on the number of individuals who so "register," which I suppose may differ from miner to miner depending upon how their "block" was constructed for them to mine......

So.....

Since there are blocks that are identical in the transactions they contain, they do differ in other ways, one of which is some kind of allocation table that reflects the identities of the pass-through cleints that forwarded the transaction to the community.

Were I to override the transaction fee and make it 0, some may choose to simply not forward the information?  And if so - does this leave 'orphan transactions' that may never enter the block chain?

Sorry about the depth of the query..... and know your responses have been incredibly helpful.....


bob
donator
Activity: 1218
Merit: 1015
December 21, 2013, 01:45:34 AM
#4
Thanks.... very helpful....

Is there a formula for the transaction fees that need to be stated in the transaction or are they automatic.  Also, if you have control over them, is there any incentive to peg them at a certain level?

bob
The formula recently changed, it's quite complex, and I honestly have no idea what it currently is. Just a few months ago, the usual fee to include (if necessary) was .0005BTC. It's now generally .0001BTC. You may choose to increase your fee to increase the transaction's "priority" (its position in the network transaction queue). If blocks were frequently filled, only the transactions which have high-enough priority would be included. Some transactions (usually small in kilobyte size and with old "inputs") do not require a fee. This is only the "mining" fee, and it is based on default settings. It is technically possible for miners and Bitcoin users to change the fee they want to include, whether this is because they want a higher-priority transaction (not currently an issue) or because they don't want to include a fee and hope a miner out there is willing to include fee-free transactions.

There is also a minimum relay fee. I believe this one is also configurable, though in practice (like the mining fee), it generally isn't. With certain transactions (unsure of formula again), peers (other Bitcoin clients you're connected to) will demand a certain fee to relay your transaction to other nodes (and eventually, miners). This is very small, IIRC.

Users don't have to know much about fees because ideal fees to include are automatically calculated by all major Bitcoin clients and online wallet services. As the software develops and blocks become full (again), clients will automatically determine the ideal fee (in this case, they're more like bids) for inclusion of the user's transaction into the next block.
newbie
Activity: 44
Merit: 0
December 21, 2013, 01:07:52 AM
#3
Thanks.... very helpful....

Is there a formula for the transaction fees that need to be stated in the transaction or are they automatic.  Also, if you have control over them, is there any incentive to peg them at a certain level?

bob
donator
Activity: 1218
Merit: 1015
December 21, 2013, 12:56:56 AM
#2
Both ways.

Transaction fees are rewarded to miners (unless the pool they're mining on pockets tx fees), and block subsidies are also included. Block subsidies are, to some extent, paid for by all holders of bitcoin through inflation. Since this inflation rate is fairly accurately known, though, it's hard to say whether or not it has a significant effect.

Block subsidies decrease with time in what's known as a "halving." The Bitcoin block subsidy halved last year, I think it was, from 50 coins per block mined to 25 coins. The next one is scheduled for 2016. In earlier years, mining had a substantial impact on price (it created a relatively high amount of selling pressure when a miner decided to dump), but this impact seems to be fairly trivial anymore, which makes sense since the reward is not only decreasing nominally at halvings, but also decreasing as a % of bitcoins in the wild (it used to be that daily block subsidies would make up maybe 2% of the total day's trading volume on exchanges, but this is now some e-x number).

Transaction fees are supposed to make up a substantial portion of mining rewards, but this currently isn't the case. In fact, transaction fees are currently insignificant. This will hopefully change with time. Right now, the devs are decreasing fees and increasing block sizes (increasing the number of transactions which can be fit into a block). If block sizes were not increased, transaction fees would increase based on how much the sender values them going through and operate on free market principles instead of whatever the devs decide people should pay.
^I'm not trying to state an opinion on this matter (outside of transaction fees eventually needing to amount to something significant). It's deserving of its own thread (and has quite a few if you google for it). There's a careful balancing act going on.
newbie
Activity: 44
Merit: 0
December 21, 2013, 12:51:11 AM
#1
The KahnAcademy video series (https://www.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/bitcoin/v/bitcoin-what-is-it) example on the mechanics of bitcoins and mining suggests the coins allocated to the miners comes from the transactions fees of the transactions batched in the block.  I have always thought that, at least as long as we are not at the upper limit of coins in the space as defined from the start, the coins allocated to successful miners were generated as a part of the block and released to the miners when added to the chain - independent of any transaction that is a part of the transactions contained in the block.....

May make a big difference for taxes this year...... any thoughts?
Jump to: