71

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?

42

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.)

  • 2
    OMG...That sounds like a crazy definition. why can't we say uncle = sibling of the parent? – user1870400 Dec 30 '18 at 4:18
50

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.

  • From 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)? – Jus12 Sep 23 '16 at 17:50
  • 2
    Just 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. – Jeff Coleman Jun 14 '17 at 3:48
  • 3
    Hi 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? – MWH May 7 '18 at 12:58
  • The answer here has a reference to the source code: ethereum.stackexchange.com/questions/13378/… – Lucas Saldanha Sep 13 '18 at 4:09
0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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