Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: CryptoCoinUser on July 16, 2014, 06:45:34 PM



Title: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: CryptoCoinUser on July 16, 2014, 06:45:34 PM
I've heard of zero-fee transactions having to wait for hours before being included in a block.
I've head of a handful of blocks mined without any transactions in them (they were mined in a matter of seconds, while no transactions happened).
I've head that it's totally up to the individual miner which transactions to leave out of a block.
Although blocks that attempt to double-spend (contain even a single spent input) will not be propagated by the network, how does the network prevent "orphaned" transactions, that aren't included into any block for a long time?
What's the incentive for miners to include *any* transactions in a block, if they can get their 25 BTC reward anyway, even with an empty block?
Thanks


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: DannyHamilton on July 16, 2014, 06:49:19 PM
I've heard of zero-fee transactions having to wait for hours before being included in a block.
I've head of blocks mined without any transactions in them.
I've head that it's totally up to the individual miner which transactions to leave out of a block.
Although blocks that attempt to double-spend (contain even a single spent input) will not be propagated by the network, how does the network prevent "orphaned" transactions, that aren't included into any block for a long time?

Incentive and competition.

What's the incentive for miners to include *any* transactions in a block, if they can get their 25 BTC reward anyway, even with an empty block?
Thanks

Transaction fees.

A miner that chooses not to include transactions in the block that they mine loses out on all the transaction fees they could have received.  Other miners (and other pools) that do include transactions in their blocks will get those transaction fees that the miner missed out on.  This means that the miner that didn't include the transactions will be less profitable.  In time, this reduced profitability will reduce their ability to compete with other miners and pools for blocks (less revenue to use to update equipment, smaller rewards for the miners in the pool).  As such, they will mine less blocks and have less of an effect on the system as a whole.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: cr1776 on July 16, 2014, 07:44:28 PM
I've heard of zero-fee transactions having to wait for hours before being included in a block.
I've head of a handful of blocks mined without any transactions in them (they were mined in a matter of seconds, while no transactions happened).
I've head that it's totally up to the individual miner which transactions to leave out of a block.
Although blocks that attempt to double-spend (contain even a single spent input) will not be propagated by the network, how does the network prevent "orphaned" transactions, that aren't included into any block for a long time?
What's the incentive for miners to include *any* transactions in a block, if they can get their 25 BTC reward anyway, even with an empty block?
Thanks


And, responding to the subject, miners can leave all transactions (except the coinbase transaction) out of a block.  

As Danny said, the incentive is the fees, but it (may) come at a cost in terms of propagation.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: azeteki on July 16, 2014, 07:58:00 PM
An honest miner also has the incentive of ensuring that the blockchain achieves its' purposes.

Excluding all transactions is a selfish move. It reduces the utility of the chain.
The financial gain in the honest scenario is limited only to the small reduction in orphan rate.

It can be considered an economic incentive if the miner is at all interested in present and/or future value of the BTC they receive.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: cypherblock on July 19, 2014, 11:41:47 AM
There's really not much of a financial incentive for individual miners to include a lot or even any transactions, since at this time the transaction fees are so small. However, a mining pool would have greater incentive. Some of the large pools might be getting 30% of all the blocks found in one day. Current charts show that total transaction fees per day, summed across all blocks for that day, are around 10BTC. So 30% of that is 3BTC or a little over $1800/day at todays exchange, or a nice $675,000 per year at these levels.

Of course if that pool is splitting those fees up amongst a ton of miners who participated in solving those blocks, then it still amounts to very little per miner. But maybe they keep it for themselves??



 


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: azeteki on July 22, 2014, 05:53:25 PM
There's really not much of a financial incentive for individual miners to include a lot or even any transactions, since at this time the transaction fees are so small

Watching the latest blocks fly in, 0.25-0.5% of the total block reward appears to be coming from fees recently. That's what miners are including; it may not be all the fees out there (there could be some huge transactions sitting around in mempool that just aren't deemed worth it).

In absolute terms, that's about 0.1BTC per block.

I consider that a large amount of revenue, because mining profit is marginal - analogy, a store increasing the price of its' widgets by 1%, assuming sales stay the same, will likely increase profits by far more than 1%.

The question is whether or not that inclusion influences block orphan rate enough for it to remain positive EV to include transactions. I believe it does (I don't think mining pools are generally benevolent).


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: cypherblock on July 24, 2014, 12:24:10 PM
>I consider that a large amount of revenue, because mining profit is marginal

How can $60 be considered a lot of revenue compared to like $15,000 for solving a block? It does add up if you are a mining pool but it is still very minimal compared to the block reward. So overall, I would say right now, transaction fees are largely meaningless and it is weird that we are even paying them at all.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: azeteki on July 24, 2014, 12:41:53 PM
How can $60 be considered a lot of revenue compared to like $15,000 for solving a block?

Perhaps I was unclear.

Quote from: azeteki
a store increasing the price of its' widgets by 1%, assuming sales stay the same, will likely increase profits by far more than 1%.

Mining revenue is comprised of the block reward (25 BTC + fees).
Mining profit is what is left over after all costs are paid for.

Costs are significant. Hardware amortised, electricity costs of powering and cooling the hardware, to name two examples.

Another analogy to try to illustrate the point (simplified dramatically, of course).

Imagine that it costs MegaPhoneCorp $500 to produce, distribute, etc their latest handset.
They could sell it at $550. Then they make $50 profit per handset.
At $560 they'd make $60 profit per handset.

A small difference in sale price (~2%) leads to a large difference in profit (20%).

In the mining case, I can't tell you how large the 'multiplier' would be, but it's certainly true that looking at the straight percentage of block reward made up by fees is nonsense.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: TimS on July 24, 2014, 07:18:07 PM
So overall, I would say right now, transaction fees are largely meaningless and it is weird that we are even paying them at all.
Even if transaction fees weren't collected (say, they were all destroyed instead of being redistributed to miners), there's an important reason why we have them, and have them set up the way we do: preventing DDoS attacks on the network. If we had no fees right now, someone could announce endless free transactions, and the whole network would try to relay those transactions around. As it is, only paid transactions, and "worthy" (https://en.bitcoin.it/wiki/Transaction_fees) free transactions are relayed by standard clients. You could still try a DDoS (choking one node), but the standard clients won't accidentally join you in your attempts (thus choking the whole network).


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: justusranvier on July 25, 2014, 03:10:54 AM
We should just require as a protocol rule that miners include all transactions that have been broadcast since the last block into the on they mine. Simple.

FLP impossiwhat?


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: bitbaby on July 25, 2014, 05:48:10 AM
We should just require as a protocol rule that miners include all transactions that have been broadcast since the last block into the on they mine. Simple.

FLP impossiwhat?

If that becomes the case I think most people will start doing transactions with 0 miner fees, since they'll know that it will be included no matter what.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: onchain.io on July 25, 2014, 12:11:53 PM
We should just require as a protocol rule that miners include all transactions that have been broadcast since the last block into the on they mine. Simple.

FLP impossiwhat?

The fees are there to stop the blockchain filling up with spam.


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: whtchocla7e on July 25, 2014, 01:35:26 PM

And, responding to the subject, miners can leave all transactions (except the coinbase transaction) out of a block.  

Why? What makes a coinbase transaction special? Is there some unfair manipulation going on?


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: DannyHamilton on July 25, 2014, 02:06:03 PM

And, responding to the subject, miners can leave all transactions (except the coinbase transaction) out of a block.  

Why? What makes a coinbase transaction special?

The protocol requires a valid block to have a coinbase transaction.

Is there some unfair manipulation going on?

Not as far as I know.  What sort of unfair manipulation do you think would be going on?


Title: Re: If miners can leave out *some* unconfirmed txns from a block, why not all?
Post by: Qoheleth on July 25, 2014, 09:34:54 PM
Why? What makes a coinbase transaction special? Is there some unfair manipulation going on?
FYI: "Coinbase" here means "the transaction describing where rewards should go", not "that one company that does Bitcoin point-of-sale".