In blockchain, it's possible to have two blocks created simultaneously, resulting in one of the blocks being excluded.
This excluded block created simultaneously with another block is commonly referred to as an ommer block. Previously, these blocks were called uncle blocks, named after the family tree relationships used to describe block positions in a blockchain. However, the Ethereum community changed the name to eliminate any gender-specific language and adopt a more gender-neutral term.
An ommer block (uncle block), is a valid block that is not included in the primary blockchain. This happens when a miner generates a block that is almost identical to a previously added block but not entirely. Essentially, an ommer block is a runner-up block that is almost as good as the winning block.
When this happens, the ommer block is still considered a valid block, and the miner who created it is rewarded. However, because it's not added to the main blockchain, it's referred to as an ommer (uncle) block. The term "uncle" was used because the block is related to the winning block, but not part of the main family tree.
In public blockchains like Ethereum and Bitcoin, it is crucial to ensure that data added to the blockchain is verified and added by consensus while also preventing any modifications to the data. One popular method of achieving this is through the use of Merkle trees.
Merkle trees establish a hierarchical structure for blocks of data, similar to a family tree, where each block includes information from its parent block.
For example, the first block in a Merkle tree, block A, can have a child block, block B (which can be represented as Ba), that includes A's information along with its own. This parent-child relationship continues as more blocks are added, creating a chain of blocks and a family tree of data.
In the case of simultaneous validation of two blocks created from the same parent block, such as Cab and Cab2 from Ba, the network must choose only one block to add to the blockchain. Let's say Cab is selected, making Cab2 a fork of the original blockchain that is neither added nor validated. As the blockchain continues to grow, new blocks are added, and Cab becomes the parent block of the next block, Dcab, while Cab2 becomes an ommer block, a sibling block of Dcab's parent block.
Ommer blocks are important because they help to increase the security of the blockchain. By including ommer blocks, miners are incentivized to work together rather than competing against each other. This is because when a miner creates an ommer block, they still receive a reward, even if their block doesn't become part of the main blockchain.
By encouraging miners to work together, ommer blocks help to reduce the likelihood of a 51% attack, where a single miner or group of miners control the majority of the network's mining power. This is because when miners work together, they are less likely to try to create competing chains that could potentially harm the network.
Ommer blocks are just one part of the larger blockchain ecosystem. They are a key feature of Ethereum, which uses them to increase the efficiency and security of its blockchain. However, they are not used in all blockchains, and their importance can vary depending on the specific blockchain and its use case.
Ommer blocks may seem like a technical detail, but they play an important role in the security and efficiency of the blockchain. By incentivizing miners to work together, they help to reduce the likelihood of a 51% attack and ensure that the blockchain remains secure and decentralized. While they may not be used in all blockchains, they are an important part of the Ethereum ecosystem, and understanding them is essential for anyone looking to understand the world of blockchain technology.
Blockchain blocks are the data structures where transactions are permanently recorded. Each block holds some or all of the recent transactions that have not yet been verified by...
Blockchain transactions take place on a peer-to-peer network of geographically dispersed computers (nodes). Each node keeps a copy of...
An ommer block, which is also sometimes referred to as an "uncle block", is a valid block that is not included in the blockchain's longest chain. This can occur in a blockchain that uses a...
A Merkle tree is a hierarchical data structure in which each node is a cryptographic hash of its child nodes. It is named after its...