In Ethereum Whitepaper there is a following description of Bitcoin's check for block validity:

The algorithm for checking if a block is valid, expressed in this paradigm, is as follows:

  1. Check if the previous block referenced by the block exists and is valid.
  2. [...]

Does this mean that in order to check block validity we have to recursively check all previous blocks within the blockchain? It sounds like it because if we would use the same algorithm for checking previous block validity then we would have to check validity of it's previous block as well and so on. Is that right?

1 Answer 1


The check can be done iteratively once and blocks marked as checked. Then we can check that a newly arrived block refers to a block we have previously checked as OK and we don't need to re-check any old blocks that have already been checked.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.