Monday, July 17, 2017

What are Ethereum Uncles?

TheMerkle Ethereum Uncles

In Ethereum, we often come across some very strange terms. For example, there is often a discussion about “uncles,” and how they impact the overall blockchain. Very few people seem to be aware of what these uncles are and represent. It is interesting to see “incorrect” network blocks still lead to some form of a reward. Let’s explore this “uncle” concept a bit further.

Ethereum has Many Uncles and They all Matter

These have nothing to do with family ties in the traditional sense. Instead, an uncle is a referred to as a network block which would normally be considered an orphan. Bitcoin users are well aware of how some blocks are orphaned because they were mined just after someone found the correct block header. Uncles work in a similar way, but there is a major difference.

Miners on the Ethereum network are incentivized to include a number of uncles every time a block is mined. This may sound very strange at first, as it allows “orphaned” blocks to still yield a reward for miners. This is another example of how Ethereum is very different from Bitcoin. In Bitcoin mining, an uncle would yield nothing.

Some people may wonder why the Ethereum network is set up in such a way they would incentivize miners to include uncles. There are two main reasons for this. First of all, it decreases decentralization in Ethereum mining. Like it or not, but cryptocurrency mining is often a very centralized activity. Even though there are many different mining pools to choose from, centralization is still present

Rewarding miners for producing uncles is an interesting incentive. Not everyone wants to mine at a large pool, and this move effectively promotes solo mining to a certain degree. It is also an incentive to join smaller mining pools, as uncles will still yield some form of reward. Any miner who is not part of a big pool often has to deal with slight network delays when new blocks are discovered. In some cases, uncles can be discovered with a split second off the official block being mined.

The second purpose comes in the form of increasing overall Ethereum chain security. Uncles are still subject to the same mining work as conducted to mine the main chain blocks. This approach results in wasting less computing resources on stale blocks, which can only be beneficial for the network as a whole. Do keep in mind including uncles also creates a bit more blockchain “bloat,” which is becoming somewhat of a recent issue with Ethereum.

One big potential issue with this uncle system is how it can create incentives for miners -or even pools- to mine empty blocks. As we have seen on the Bitcoin network, mining empty blocks serves no real purpose whatsoever. An empty uncle block would make no real sense either, yet there is a reward associated with it. So far, it does not appear anyone is purposefully mining empty uncle blocks, but that situation may come to change over time. The whole concept is still very interesting.

from The Merkle