<p><strong>TL;DR</strong>: <em>Each block only needs to be verified once. Upon receiving a new block, only the reference to the parent and the validity of the new block need to be checked.</em></p>

<p>When one gets started with Bitcoin, the client or mining software will download and verify the blockchain. During this <em>synchronization</em>, each block starting from the genesis block will be verified by the client. This is only necessary once for each block, because new blocks always reference the hash of the preceeding block. </p>

<p>I.e. when you are trying to verify <code>Block 5</code>, it will contain the hash of it's parent, <code>Block 4</code>. As your client has already verified that <code>Block 4</code> is valid, and if the hash featured in the new <code>Block 5</code> matches the known hash of <code>Block 4</code>, it can go straight ahead and only check whether the new <code>Block 5</code> is valid.</p>

CC BY-SA 3.0
2013-11-21T11:19:06.940Z
2015-05-13T08:54:52.193Z
2015-05-13T08:54:52.193Z
Murch
<p>I did a presentation for my office and during the presentation I was asked a question that I was not prepared for. It's a more technical question from my perspective, but someone here might already know the answer. </p>

<p>We know that every 10 min a block is created. And a new block has information of the previous block along with its findings and submitted to the net to be verified. </p>

<p>My question is when a pool or an individual miner is doing the verification, do they verify all the transactions starting from Genesis block till the most recent one?</p>

<p>And this goes on after each block is verified. Meaning every new block that needs verification needs to be verified along with all the previous transactions starting from the Genesis block?</p>

<block><synchronization><verification>
Do all block have to be verified every time a new block is broadcasted?
Amir. Khan
# Do all block have to be verified every time a new block is broadcasted?

(Asked by: username_0 on 2013-11-21)

I did a presentation for my office and during the presentation I was asked a question that I was not prepared for. It's a more technical question from my perspective, but someone here might already know the answer.

We know that every 10 min a block is created. And a new block has information of the previous block along with its findings and submitted to the net to be verified.

My question is when a pool or an individual miner is doing the verification, do they verify all the transactions starting from Genesis block till the most recent one?

And this goes on after each block is verified. Meaning every new block that needs verification needs to be verified along with all the previous transactions starting from the Genesis block?

**Tags:** block, synchronization, verification


---

## 1 answers

### Answer by username_1 on 2013-11-21. Score: 3

**TL;DR**: *Each block only needs to be verified once. Upon receiving a new block, only the reference to the parent and the validity of the new block need to be checked.*

When one gets started with Bitcoin, the client or mining software will download and verify the blockchain. During this *synchronization*, each block starting from the genesis block will be verified by the client. This is only necessary once for each block, because new blocks always reference the hash of the preceeding block.

I.e. when you are trying to verify `Block 5`, it will contain the hash of it's parent, `Block 4`. As your client has already verified that `Block 4` is valid, and if the hash featured in the new `Block 5` matches the known hash of `Block 4`, it can go straight ahead and only check whether the new `Block 5` is valid.


---

