Bitcoin Forum

Bitcoin => Mining => Topic started by: asherp on March 13, 2013, 09:16:29 PM



Title: How long should miners wait to start hashing?
Post by: asherp on March 13, 2013, 09:16:29 PM
I haven't been able to find information on this yet, so below I'm assuming miners don't do this.

Say the most recent block is solved and miner Bob finds out about it at t=0. Bob already has a pool of transactions to start hashing on. However, Bob could wait for transactions with higher tx fees to show up. If he does this, his probability of finding a block will be lower (having less time to mine), but wouldn't his potential payout be higher? If so, wouldn't there be an optimal time that Bob should wait to maximize his overall revenue? What strategy should Bob use to determine his optimal wait time?

Say Bob and Bill have similar hash rates, but Bob uses this strategy and Bill doesn't. Bob ends up using less electricity than Bill, so not only is Bob's revenue higher, Bob's profit margin should also be higher, no?

Taking this train of thought further, say Jill has twice Bob and Bill's hashing power. Will Jill's optimal wait time be longer than Bob's? In other words, if Jill can afford to wait even longer than Bob can, her payout will be even higher than Bob's. That's good news for her, especially since her electricity costs are also higher.

If every miner adopts Bob's waiting strategy, what effect would this have on confirmation times? For example, Jill will end up with transactions in her block that wouldn't be there if she didn't wait. Therefore, if Jill manages to solve her block, it will contain higher valued transactions that confirmed in a time significantly less than 10 minutes. If Bob solves his block, his set of transactions should be older than Jill's, but the tx fees in them will also be lower. Would this lead to tx fees becoming strongly correlated with confirmation times?


Title: Re: How long should miners wait to start hashing?
Post by: KWH on March 13, 2013, 09:22:43 PM
Quote
Re: How long should miners wait to start hashing?

About 2 years ago.


Title: Re: How long should miners wait to start hashing?
Post by: DeathAndTaxes on March 13, 2013, 09:32:25 PM
0 seconds.  Anything else is idiotic.

There is currently a block subsidy of 25 BTC.  Ever second you aren't hashing for that is a significant reduction in gross revenue.  Now maybe someday when the block subsidy is much much lower and fees are much much higher (say in 32 years = 8 block subsidy halvings) it may make sense for some miners to go offline but today the math is simple ... you wait 0 seconds.


Title: Re: How long should miners wait to start hashing?
Post by: asherp on March 13, 2013, 09:39:25 PM
0 seconds.  Anything else is idiotic.

There is currently a block subsidy of 25 BTC.  Ever second you aren't hashing for that is a significant reduction in gross revenue.  Now maybe someday when the block subsidy is much much lower and fees are much much higher (say in 32 years = 8 block subsidy halvings) it may make sense for some miners to go offline but today the math is simple ... you wait 0 seconds.

So what you're saying is, miners should disregard any increase in potential payout? At what point exactly does the increase in payout become relevant, and can you prove it is irrelevant now?


Title: Re: How long should miners wait to start hashing?
Post by: DeathAndTaxes on March 13, 2013, 09:44:28 PM
Waiting doesn't increase payouts.  not sure where you got that flawed idea.  Even if/when it makes sense to not mine 24/7 the purpose of waiting would be to REDUCE COSTS not increase revenue. Any second not mining means less revenue.

Miners leave nothing no the table by mining 24/7.  Miners (pool operators for pooled mining) can update the merkle tree in realtime.  If a valuable tx appears update the merkle tree, and thus merkle root hash and all future hashes and working towards this modified block which includes the new tx. 

I am not sure what you are asking but I have a feeling you have some gross inaccuracies in how you think mining works and that is leading to flawed conclusions.



Title: Re: How long should miners wait to start hashing?
Post by: asherp on March 13, 2013, 09:58:22 PM
I think I see what you're saying. I had assumed that once a miner starts solving a block they can't incorporate new tx's that appear after they started. If everyone was solo mining that would make sense. If new transactions are taken into account by pooled mining, then I agree it doesn't help to wait.


Title: Re: How long should miners wait to start hashing?
Post by: DeathAndTaxes on March 13, 2013, 10:01:12 PM
I think I see what you're saying. I had assumed that once a miner starts solving a block they can't incorporate new tx's that appear after they started. If everyone was solo mining that would make sense. If new transactions are taken into account by pooled mining, then I agree it doesn't help to wait.

If everyone was solo mining it still wouldn't make sense.

There is no such thing as "start solving".  Each hash attempt is like a lottery ticket.  A winning ticket solves the block, a losing ticket is worthless.  Having a million, or billion, or quadrillion losing lottery tickets doesn't mean you are any closer to solving the block then before you started.


Generate block header
So hash 5 trillion tickets


vs

Generate block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header
hash 1 trillion tickets
New tx appear on network, create new block header

in both instances the solo miner has made 5 trillion attempts.  The bitcoind is continually updating the working set of the block in background.  Anytime the mining software requests work it is on the current working set.   If there are lots of paying tx the block reward may be higher, if there are no paying tx then the block reward will just be the subsidy.  In all cases it will be at least 25 BTC which is always higher than 0 BTC (not working).


Title: Re: How long should miners wait to start hashing?
Post by: asherp on March 13, 2013, 10:36:45 PM
Thanks for clearing this up. It makes a whole lot more sense now. I'll tip you when I find your address.


Title: Re: How long should miners wait to start hashing?
Post by: DeathAndTaxes on March 14, 2013, 12:10:15 AM
Thanks for clearing this up. It makes a whole lot more sense now. I'll tip you when I find your address.

No tip needed, I have a couple coins already. :)

Someone once told me to truly understand something you need to be able to explain it to someone else. 


Title: Re: How long should miners wait to start hashing?
Post by: -ck on March 14, 2013, 12:26:17 AM
Thanks for clearing this up. It makes a whole lot more sense now. I'll tip you when I find your address.

No tip needed, I have a couple coins already. :)

Someone once told me to truly understand something you need to be able to explain it to someone else. 
But did that someone explain it to you well?


Title: Re: How long should miners wait to start hashing?
Post by: porcupine87 on March 14, 2013, 12:42:08 AM
Miners leave nothing no the table by mining 24/7.  Miners (pool operators for pooled mining) can update the merkle tree in realtime.  If a valuable tx appears update the merkle tree, and thus merkle root hash and all future hashes and working towards this modified block which includes the new tx. 

Hey, thanks for you effort, but I think, you like it, to explain, so thank me ;)

I have a questions: What incentive has the miner to include tx without a fee? I don't get it. Are they doing it, because it is a "rule"? I read it has al least a small disadvantage in hashrate or propagation time. Even if not, I see no advantage...

Thanks!


Title: Re: How long should miners wait to start hashing?
Post by: porcupine87 on March 14, 2013, 11:29:41 PM
Excuse me, but do I stink or something? If this question is stupid or I say too often "thank you", then give me please feedback. For my part I'd like to know why miners include transactions without fees into the block. I don't see an incentive. Or is there some kind of "rule"?


Title: Re: How long should miners wait to start hashing?
Post by: meebs on March 15, 2013, 12:23:19 AM
Miners leave nothing no the table by mining 24/7.  Miners (pool operators for pooled mining) can update the merkle tree in realtime.  If a valuable tx appears update the merkle tree, and thus merkle root hash and all future hashes and working towards this modified block which includes the new tx. 

Hey, thanks for you effort, but I think, you like it, to explain, so thank me ;)

I have a questions: What incentive has the miner to include tx without a fee? I don't get it. Are they doing it, because it is a "rule"? I read it has al least a small disadvantage in hashrate or propagation time. Even if not, I see no advantage...

Thanks!

As long as there is free space in the block, it does no harm to include the transactions. Once there are more transactions then there is room, SOMETHING gets priority. There are various rules and what not (that each miner has set in settings to define what is important). Transactions with higher fees start to take priority at that point.


Title: Re: How long should miners wait to start hashing?
Post by: porcupine87 on March 15, 2013, 02:30:39 AM
Miners leave nothing no the table by mining 24/7.  Miners (pool operators for pooled mining) can update the merkle tree in realtime.  If a valuable tx appears update the merkle tree, and thus merkle root hash and all future hashes and working towards this modified block which includes the new tx. 

Hey, thanks for you effort, but I think, you like it, to explain, so thank me ;)

I have a questions: What incentive has the miner to include tx without a fee? I don't get it. Are they doing it, because it is a "rule"? I read it has al least a small disadvantage in hashrate or propagation time. Even if not, I see no advantage...

Thanks!

As long as there is free space in the block, it does no harm to include the transactions. Once there are more transactions then there is room, SOMETHING gets priority. There are various rules and what not (that each miner has set in settings to define what is important). Transactions with higher fees start to take priority at that point.

Yeah, I saw e.g. the pool of luke-jr. They just include txs with a threshold of fees. That makes sense in my mind. My Bitcoin-qt client even makes it impossible for me to bypass the 0.0005 fee. If I chance the configuration with execution the tx it always pops up "Over the size limit. Do you want to pay 0.0005". Yes or Cancel.