The Ethereum blockchain is described as containing "ommer" blocks, usually called "uncle" blocks by the general public. What is an ommer/uncle block, and why are they needed?
3 Answers
From the glossary
Uncle: a child of a parent of a parent of a block that is not the parent, or more generally a child of an ancestor that is not an ancestor. If A is an uncle of B, B is a nephew of A.
Why they are needed?
To help reward miners for when duplicate block solutions are found because of the shorter block times of Ethereum (compared to other cryptocurrency). An uncle is a smaller reward than a full block. (And if they are submitted later than the next block, the reward rapidly diminishes, ending at zero after seven blocks later.)
-
8OMG...That sounds like a crazy definition. why can't we say uncle = sibling of the parent? Commented Dec 30, 2018 at 4:18
-
3@user1870400 given that it's not simply a sibling of the parent but up to 6 generations before, it's probably best to have a more technical-seeming term like "ommer" that makes people ask what the exact definition is Commented May 23, 2020 at 23:24
Uncles are stale blocks that contribute to the security of the main chain, but are not considered the canonical "truth" for that particular chain height.
In contrast to orphan blocks (which have no parent), uncle blocks are linked to the chain but are not part of the final selection.
Uncles are stale blocks which are not orphaned. Orphan blocks have no parent, therefore it is not possible to assign them a generation to be referenced as uncles in the next 7 generations. Only normal blocks and stale blocks have a path to the genesis block.
Due to advances in blockchain research, it was shown that significantly lower block times were possible and perhaps beneficial given the current connectivity of the Internet. One of the potential risks of a low block time is a higher rate of orphaned blocks (competing mined blocks that do not make it into the main chain). To counter this, a variation of the GHOST protocol is used which pays for these valid blocks, adding to the security of the main chain. Instead of the main chain being "longest", it is instead "heaviest".
Also "ommer" is sometimes used but is not an English word so "uncle" is used even if it's more gender oriented.
-
1From your link: "Uncle validity requirements: uncles have to be valid headers, not valid blocks. This is done for simplicity [...]." Doesn't this lead to attacks where I simply mine headers and ignore blocks (blocks are heavy)?– Jus12Commented Sep 23, 2016 at 17:50
-
4Just a nit-pick: at present Ethereum doesn't actually count the POW weight of uncle/ommer blocks GHOST-style. It rewards them to reduce the risk of mining centralisation, but doesn't count them towards the metric of "heaviest chain". It just uses the longest. Commented Jun 14, 2017 at 3:48
-
3Hi Jeff, what is the source for Ethereum still considering longest chain because i am not really sure is it longest or heaviest at the moment?– MWHCommented May 7, 2018 at 12:58
-
The answer here has a reference to the source code: ethereum.stackexchange.com/questions/13378/… Commented Sep 13, 2018 at 4:09
-
“ommer” is the preferred gender-neutral term for the sibling of a parent block, but this is also sometimes referred to as an “uncle.”– sola24Commented Jul 5, 2022 at 11:03
In case of proof-of-work mining, there are many miners trying to mine the same set of transactions at the same time. Since the block mining time is very short (about 15 sec. in case of ethereum) there is a possibility, that more than one blocks are mined within a very short interval. The block mined first is added to the main chain but the effort of miner who mined the other block in not simply let off. These competing blocks are called orphaned blocks.
According to ethereum beige paper, " An ommer is a block whose parent is equal to the current block’s parent’s parent." The purpose of ommers is to help reward miners for including these orphaned blocks. The ommers that miners include must be “valid,” meaning within the sixth generation or smaller of the present block. After six children, stale orphaned blocks can no longer be referenced.
Ommer blocks receive a smaller reward than a full block. Nonetheless, there’s still some incentive for miners to include these orphaned blocks and reap a reward.
Source- https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369