Uncles in Ethereum

An adoption of the GHOST protocol

Jayamine Alupotha
hackergirl
2 min readOct 26, 2018

--

The most repetitive phrase that I have seen in blockchain articles is

The Blockchain concept is good since it gives decentralization, but it has a very low performance which is far away from VISA or MasterCard.

There are several concepts to improve the performance of blockchains. One concept is GHOST protocol. The main idea behind the GHOST protocol is to change the rules of node selection to increase the throughput.

Currently, the most common node selection rule, the longest chain, is the most likely chain which will survive and, the nodes will accept the longest chain when they have to decide which chain is the correct one. The reason is the longer the chain, the harder it to manipulate it. For example, if there are 2 blockchains A, B where up to the 99th block, the blocks are similar. However, A has 100 blocks, and B has 101 blocks where A’s 100th block and B’s 100th block are different. Then the common scenario is nodes will accept B. So the 100th block of A will be staled. These blocks are called stale blocks.

The ghost protocol was introduced to make faster transactions by following the theory of accepting the “heaviest blockchain,” not the “longest blockchain”. The heaviest blockchain means that the blockchain with the largest transactions. Therefore, the participators can achieve a higher transaction rate.

Ethereum does not follow the GHOST protocol as it is. However, it gives a chance to append the stale blocks to the main blockchain. These appended stale blocks are called uncles in ethereum.

As in the previous example, both the 100th block of A and the 100th block of B have the same parent. However, since the next block was mined following the 100th block of B, the 100th block of A becomes an uncle to the 101st block of B.

In Ethereum, the nephew blocks (like the 101st block of B) can include the uncle blocks to their block. The following image shows the stale blocks in red and accepted blocks in green. And it shows that the staled blocks have been appended to the later blocks as uncles.

However, The uncle should be appended to the blockchain from the 1–7 blocks of its parent. Also, it has block reward, the miner or the nephew gets an additional 3.125% as a transaction fee and the miner of the Uncle receives 93.75% of a standard block reward.

More:

[1] https://github.com/ethereum/wiki/wiki/Design-Rationale#uncle-incentivization

--

--