<p>Correct: when block B is broadcast and validated, all miners need to construct new blocks containing a hash of block B's header.</p>

<p>However, it takes only a minuscule amount of computer processing time to construct a new block, so there is effectively no such thing as "restarting work".  Mining is specifically designed to be progress-free: you have the same chance of finding a valid block after a millisecond of work as you do after an hour of work.</p>

<p>Progress-free mining means that a miner with <em>x</em> hash rate should produce <em>n</em> blocks over time, and a miner with <em>2x</em> hash rate should produce <em>2n</em> blocks over time---there should be no special advantage to the more powerful miner.</p>

CC BY-SA 3.0
2015-01-21T03:19:22.777Z
2015-01-21T03:19:22.777Z
David A. Harding
<p>Each block in the blockchain contains a pointer to the previous block (<a href="https://en.bitcoin.it/wiki/Block_hashing_algorithm" rel="nofollow">block header</a>). If multiple blocks reference certain block as their parent, only the one that is part of longest chain is accepted.</p>

<p>Suppose that the hash of the current blockchain tip (last block) is 'A'. Two miner concurrently works on new blocks (containing different transactions) referring to A as a parent. Is it necessary for the slower miner to reset his work when faster miner finishes his block (with hash 'B') and broadcasts it, because the next block has to reference 'B' instead of 'A' as a parent?</p>

<p>If this principle holds, does it mean that slower miners have to restart their work more frequently because they are outrun by faster miners who publish their blocks and so change the blockchain tip?</p>

CC BY-SA 3.0
2015-01-21T10:26:10.227Z
Slower miners and faster miners have to restart their work just as often -- every time a block is found.
David Schwartz
<blockchain><mining-theory>
Is it necessary for all miner to reset mining when the tip of blockchain has changed?
czerny
# Is it necessary for all miner to reset mining when the tip of blockchain has changed?

(Asked by: username_0 on 2015-01-21)

Each block in the blockchain contains a pointer to the previous block ([block header](https://en.bitcoin.it/wiki/Block_hashing_algorithm)). If multiple blocks reference certain block as their parent, only the one that is part of longest chain is accepted.

Suppose that the hash of the current blockchain tip (last block) is 'A'. Two miner concurrently works on new blocks (containing different transactions) referring to A as a parent. Is it necessary for the slower miner to reset his work when faster miner finishes his block (with hash 'B') and broadcasts it, because the next block has to reference 'B' instead of 'A' as a parent?

If this principle holds, does it mean that slower miners have to restart their work more frequently because they are outrun by faster miners who publish their blocks and so change the blockchain tip?

**Tags:** blockchain, mining-theory

> **Comments:**
> **username_1**: Slower miners and faster miners have to restart their work just as often -- every time a block is found.  

---

## 1 answers

### Answer by username_2 on 2015-01-21. Score: 4 | Accepted answer

Correct: when block B is broadcast and validated, all miners need to construct new blocks containing a hash of block B's header.

However, it takes only a minuscule amount of computer processing time to construct a new block, so there is effectively no such thing as "restarting work". Mining is specifically designed to be progress-free: you have the same chance of finding a valid block after a millisecond of work as you do after an hour of work.

Progress-free mining means that a miner with *x* hash rate should produce *n* blocks over time, and a miner with *2x* hash rate should produce *2n* blocks over time---there should be no special advantage to the more powerful miner.


---

