In the blockchain there are a great diversity of situations that must be controlled and one of them is called orphan blocks. These blocks are generated by mining activity and their existence is part of one of the problems of decentralization that has been solved thanks to the network's consensus rules.
En blockchain, a orphan block or loose is that valid block, successfully resolved but not part of a blockchain. The English term is orphan block, and is widely used in Bitcoin and other cryptocurrencies derived from it.
How does an orphan block originate?
Originally orphan blocks were correctly resolved blocks, but their complete ancestry is unknown. Which means that the parent block is not known. For this reason, they cannot be validated. This was common in the first versions of the Bitcoin software, however as of 2015 with the release of version v.0.10, orphan blocks are no longer possible. This is because miners can no longer receive blocks whose ancestry is unknown, a change that we can examine in their GitHub.
Although the term orphan block is still commonly used to refer to those generated blocks when two miners manage to solve a block almost simultaneously. Since the network does not accept and distribute the generated block instantaneously, but rather presents a delay, it may happen that another miner solves exactly the same block. Thus two blocks are generated in a very close time, and both are distributed to the network for validation. There will be miners distributing one of the blocks and they will start solving the next block based on the hash of the received block. For their part, there will be other miners who received the other block generated first and will also begin solving the next block.
However, there will come a point where a miner finds the solution to the next block based on one of those generated simultaneously. And that's when the miners will take the longest chain. That is, the block from which the next block was generated will show a greater Proof of Work (PoW) and therefore, it will be accepted within the blockchain. While the block with the least amount of PoW, it will be discarded, and therefore, it will not be added to the blockchain. These types of blocks are known as invalid or expired blocks, although they are more commonly called orphan blocks.
Another way to generate an orphan block is when a hacker tries to reverse some transactions made on the network. It should be noted that for a person to carry out this action, it is necessary for them to have more than 50% of the network hash power.
Where are they stored?
Orphan blocks do not enter the blockchain. Instead, they are temporarily stored in a pool called orphan block pool. There they are shown as a kind of list of orphan blocks that are not part of a blockchain.
It is important to mention that orphan blocks literally, that is, they did not have a parent block, could be added to the blockchain later. This is clear, once the predecessor block that gave rise to the orphan block was added.
How much do you know, cryptonuta?
Can orphan blocks allow an attacker to inject coin spending into a blocckhain?FALSE!
An orphan block does not allow such action. This is so because this type of block is not entered in the history of the blockchain. In this way, you do not receive any validation or confirmation of currency spending.
Overview of an orphan block
- An orphan block is valid since its resolution is correct. But still, it is not part of a blockchain.
- They are stored in a pool of orphaned blocks. This means that all the information they contain becomes irrelevant to the blockchain and the network in general.
- Orphan blocks occur frequently and mostly by chance. It is estimated that between 1 and 3 of all the blocks generated in a day are orphans.
- Transactions included in an orphan block are not lost. Instead, another new block includes and commits them. This is something that can happen in the block of the longest chain or a few minutes later in the next block.
- Miners who have successfully generated blocks but become invalid will not receive the mining reward.
- The type of block expired if it is technically valid since if it has an ancestry to Genesis block. But they are rejected for not having the longest chain for the resolution of the next block.