0

In a comment to an answer to Why is not good having forks in a blockchain? loremas89 asked:

But ,rejecting a block (leaving it orphan) implies that also valid transactions become invalid ones. Can this represent a problem or is it an unavoidable collateral effect of granting this kind of security ?

1 Answer 1

1

A block can rejected by a node either because it is not well-formed in some other way or because it contains a transaction that spends an output already spent in an earlier block that this node has already accepted. Vojtěch pointed out that most cases of rejected blocks occur because two miners produced a block at the same height before they became aware of each other's block. I believe nodes generally initially accept the block they saw first, and when the other arrives, choose whichever of the two blocks adds most "work" to the live chain.

In any case, the rejected block is typically regarded as 'stale' and forms the tip of a blockchain branch that is not the live branch but is eligible to become live in a reorganisation.

However, transactions in the rejected block are not themselves invalidated by being in a stale block, they return to the node's mempool and are able to be incorporated into a subsequent block on the live branch. There is no collateral damage to them other than, say, a 10 minute delay in confirmation.

2
  • Invalid blocks are actually very rare, orphan blocks are generally just a result of two miners solving a block at the same height (with both blocks being perfectly valid). May 23, 2023 at 16:07
  • @Vojtěch: Thanks for pointing that out, answer updated accordingly. May 23, 2023 at 18:07

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.