Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: wolverine.ks on May 26, 2013, 08:46:03 PM



Title: Do larger blocks take longer to mine? Are they more difficult?
Post by: wolverine.ks on May 26, 2013, 08:46:03 PM
Do larger blocks take longer to mine? Are they more difficult?


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: DannyHamilton on May 26, 2013, 09:54:37 PM
Do larger blocks take longer to mine? Are they more difficult?

It depends on what you mean by "mine".

Once the block header is built the time to mine that header isn't any longer.  Only the header is mined, and the header doesn't change.

The time to build the header is likely to be ever so slightly longer, but it isn't likely to be significant.  For a pool, as long as the pool can build the headers faster than the miners can mine them, it doesn't really matter how long the headers take to build.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: Malawi on May 26, 2013, 10:54:15 PM
Do larger blocks take longer to mine? Are they more difficult?

You can equal mining to throwing darts at a table.

-The table has the same size no matter the block-size.
-Every block has a target at some random spot on the table.
-As difficulty goes up, the target gets smaller.
-When you hit the target, you are allowed to generate and connect a new block to that target.
-The new block becomes the new table with a new random target.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: DannyHamilton on May 26, 2013, 11:12:23 PM
Do larger blocks take longer to mine? Are they more difficult?

You can equal mining to throwing darts at a table.

-The table has the same size no matter the block-size.
-Every block has a target at some random spot on the table.
-As difficulty goes up, the target gets smaller.
-When you hit the target, you are allowed to generate and connect a new block to that target.
-The new block becomes the new table with a new random target.

Except that the target isn't random, and the block must be created before you start throwing the darts.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: wolverine.ks on May 27, 2013, 01:07:37 AM
I guessing there is some way to tell if the block created before hitting the target has been tampered with once the 'winner' had been selected and is authorized to add the block to the chain?


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: DannyHamilton on May 27, 2013, 01:56:06 AM
I guessing there is some way to tell if the block created before hitting the target has been tampered with once the 'winner' had been selected and is authorized to add the block to the chain?

Yes.  The "winner" is the person who finds a hash of the block header whose value is less than a target value.  If you change any of the information in the block, then the value of the hash won't match. Every node on the network validates that if they hash the block header, they get a hash value that is low enough.  If the hash value of the broadcast block isn't of a low enough value, then all nodes will refuse to accept and relay it.



Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: crary on May 27, 2013, 05:30:39 PM
Do larger blocks take longer to mine? Are they more difficult?

Mostly no. It takes roughly n hashes to build the Merkle tree for an n-transaction block, so a larger block takes slightly longer to prepare.  But it takes trillions of hashes to hit the required difficulty, so the contribution of the block size is negligible.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: wachtwoord on May 27, 2013, 05:59:45 PM
Theoretically yes. But in practice the difference is so small it is negligible.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: Sukrim on May 27, 2013, 07:16:50 PM
The mining process itself is only dependent on the header, it looks the same with 1KB or 100TB of transactions.

There is probably a natural limit even if blocks could actually become really large (currently they can at max. be a bit less than 1 MB in size) as blocks will only survive if more than 50% of the hash rate in the network receives it before building a block on their own. If a block were 100TB in size, it might be valid and easy to mine, but it will probably still fail to be included in the longest chain, as other miners would probably find several blocks in the time it takes them to actually transfer this much data.

Transactions have several costs:
* They increase stales/idle time, as it takes longer to transmit the block to other miners
* They can expand the UTXO set, which is something that can not be pruned away from the chain
* They cost storage space + bandwidth + CPU time to process

Transactions on the other hand have 2 main benefits and 1 neutral point, that makes it worthwile including under certain circumstances:
* They can include fees, to ideally cover the costs
* They can combine inputs so they can also decrease the size of the UTXO set
and
* They actually enable the flow of bitcoins in the system and including transactions is one of the main things that users expect from miners

To answer your question:
Mining is not depending on block size, all miners are getting is an incomplete header and they are trying to find the missing piece ("nonce") to create a valid hash for it. There are certain things however that might disincentivize mining large blocks besides that.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: wolverine.ks on May 27, 2013, 07:38:53 PM
There are certain things however that might disincentivize mining large blocks besides that.

So the disincentives would be....

  • blocks rejected due to 1mb limit
  • blocks rejected due to longer transmission times
  • blocks rejected if 50% doesnt want to store/process/receive large blocks

is this right? so even without a 1mb block size limit, the blocks would reach some sort of natural equilibrium?


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: Sukrim on May 28, 2013, 11:47:41 AM
Yes, though there is also the theory around that blocks then would only be limited by bandwidth between the 51% on miners with the highest bandwidth, so this would lead to centralisation in the end game - all miners need to be in the same data center or else they have no chance of even catching up with the block chain.

I personally believe that this won't be the case (as users then also won't be able to actually use the system) but the "circlejerk endgame" is at least a possibility with unlimited block sizes.

With the 1 MB (and even 10 or 100 MB) block sizes, this is not very likely to occur though.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: wolverine.ks on May 28, 2013, 01:18:34 PM
This circle jerk would be pretty expensive.  The electricity costs would be huge and they wouldn't be getting any influx of resources from outside if no one else could use it and pay transaction fees except themselves.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: Sukrim on May 28, 2013, 02:20:47 PM
It is not even clear if the overhead in calculations etc. makes it worth to include any transactions besides the coinbase transaction... There are several blocks out there (also recent ones) that contain just a single transaction.

In the circlejerk scenario miners would just push around their own money to bloat blocks to the highest possible sizes, not paying any fees. As long as the reward per block is still as high, there is little incentive to include transactions actually - fees are laughable at best at the moment because inflation is still that high.


Title: Re: Do larger blocks take longer to mine? Are they more difficult?
Post by: wolverine.ks on May 28, 2013, 03:41:41 PM
If there are no transactions included,  wouldn't people stop using it? More importantly,  wouldn't people stop accepting it? If a miner can't buy anything with their bitcoin stash, wouldn't they mine something more profitable? In that case, alt currencies seem like they could be really important to regulating this behavior.