When reading about the blockchain ecosystem, you might come across very specific terms, some more surprising than others. And if you happen to dive into the Ethereum protocol, there’s one particularly unusual piece of vocabulary: uncles. What in the world is an Ethereum uncle?!

Let’s get things clear right away: Ethereum uncles have nothing to do with family ties in the traditional sense. They also don’t refer to an Ethereum side chain or an alternative fork. Instead, they represent an orphan block (mined just after a correct block was added to the main chain), that contributes to the security of the main chain although it is not considered the canonical truth for that particular chain height. Valid uncles are rewarded in order to neutralise the effect of network lag on the dispersion of mining rewards, thereby increasing security.

Indeed, an incentive is paid to miners of the Ethereum network to encourage them to include uncles every time a block is mined. This aspect of the protocol constitutes one of the main differences between Ethereum and Bitcoin, where an uncle would yield nothing.

In the Ethereum blockchain, the “heaviest” branch is selected as the truth (the stale descendants of the block’s ancestor -uncles- are added to the calculation of which block has the largest total proof of work backing it), whereas for Bitcoin the longest chain prevails.

Figure 1: Bitcoin. The longest branch prevails: when B3 arrives, the B branch is chosen as the best chain, as it is longer

Figure 2: Ethereum. The heaviest branch prevails: when B2 arrives, the B branch is chosen as the best chain, since the uncle C1 counts as another block in the branch weight

There are two main reasons for the concept of uncles, that explains why it was adopted with the “Greedy Heaviest Observed Subtree” (GHOST) protocol.

1Decrease centralization in Ethereum mining

One of the challenges of current blockchains is to guarantee that their mining remain a decentralized activity. Because of the increasing complexity, only a few mining pools have the actual capacity to solve the mathematical exercise. In the very beginning, virtually anyone could use its personal computer to mine, but today there’s no point in trying to join the mining game if you’re not owning GPU racks, costing millions. This has caused the concurring miners to rarefy while existing pools consolidate.

This can easily be pictured with the following example: if miner_A is a mining pool with 40% hashpower and miner_B only has 5% hashpower, miner_A will have a risk of producing a stale block 60% of the time (since the other 40% of the time miner_A produced the last block and so will get mining data immediately) whereas miner_B will have a risk of producing a stale block 95% of the time. Thus, if the block interval is short enough for the stale rate to be high, miner_A will be substantially more efficient simply by virtue of its size.

In fact, blockchains which produce blocks quickly are very likely to lead to one mining pool having a large enough percentage of the network hashpower to have de facto control over the mining process.

To tackle that, uncle rewards give the opportunity to smaller mining pools to still benefit from their work by recognizing their attempt to contribute to the blockchain. It decreases centralization incentive by still rewarding miners that produce stale or orphaned blocks on account of them not being part of a big pool and hence hearing about blocks later (mainly due to network propagation delays).

2Increase the overall chain security

Because uncles require the same computational work as to mine the main chain blocks, adding them increases security by augmenting the amount of work on the main chain (much less work is wasted on stale blocks).

But by introducing additional economic complexity, some consider this concept of uncles as being a design flaw that can put the stability of the network at risk. The main critic is the potential incentive to mine empty blocks, that would still yield a reward if submitted as an uncle (progressive shift away from Proof of Work will eliminate this risk).

Of course the reward for adding an uncle is less than submitting a valid main block, and also doesn’t include transaction fees compared to the later. Additionally, if submitted later than the next block, the reward rapidly diminishes, ending at zero after seven blocks. This guarantees uncle incentivization is ineffective if fees dominate, and is one of the reasons why Ethereum is meant to continue issuing Ether for as long as it uses Proof of Work.

Sources:

https://themerkle.com/what-are-ethereum-uncles/

https://bitcoin.stackexchange.com

https://ethereum.stackexchange.com

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

Read the original content here: Medium.com