Possibility of concurrent creation of blocks
Last updated
Last updated
A block is a collection of transaction details determined as a result of consensus in the network. Because miners receive coins for creating blocks, miners work to create blocks for profit. The work to create blocks improves the security of the network, and as a reward for the contribution, the network issues coins and pays them.
A miner can receive a reward after obtaining the consent of every other miners for the block (let's call it A) created to the existing block chain. Getting everyone's consent here means other miners are doing new work based on the ‘blockchain with block A’. A blockchain that gets a lot of consent means that it has security through more computing power, and the more you work on it, the more likely it is that miners will be rewarded.
If 99% of miners work on a block chain that contains block A, and 1% of miners work on a block chain that contains block B (without A). No matter how hard your work on block B, it's pointless because you can't beat 99% of miners doing work involving A with their computing power. In other words, it makes sense for miners to work on the longest chain with the most up-to-date blocks, even for their own benefit. This is called Longest Chain Rule
in Bitcoin.
What if two miners (block producers) create different blocks at the exact same time? The chain that you think is the ‘right answer’ is referred to as the main chain, and blocks that are not included in it are called orphans. In the example above, block A was created and included in the main chain, and block B corresponds to an orphaned block. Orphan blocks are blocks that are created from the correct operation, but are discarded by the network because it didn’t get selected.
But, what if an orphaned block is not left orphaned and other miners work on it again to eventually get chosen more? It is highly unlikely that the orphaned chain will out run the current longest chain to take the position as the main chain, but it is still possible. If the main chain is changed, the related transaction history will disappear. If you receive cryptocurrency from someone, and the transaction history you received disappears due to a change in the main chain, the received cryptocurrency will also disappear.
Then, how can we be certain that the transaction history is not likely to change in the future? This characteristic is called the finality of the blockchain, and it is an indicator for evaluating the security of the blockchain.
In Bitcoin, blocks are usually created every 10 minutes. After a block is propagated on the network, it takes approximately 10 minutes for the next new block to be created. Since 10 minutes is enough time for a block to be created and propagate, it is unlikely that miners will work with orphaned blocks. What if the block creation time is 10 seconds instead of 10 minutes?
In the case of Ethereum, block creation time is measured to be approximately 12-14 seconds. In this time, the generated block is propagated and the time between performing the operation is very short. As a result, miners are much more likely to work with orphaned blocks than in Bitcoin. After a long period of time, some miners will end up not receiving compensation because they have worked on orphaned blocks. The miners will be in a situation where they have worked but not received compensation, and the network will not be able to reflect the miners’ contributions to security.
Ethereum adopts a method called the Ghost (Greedy Heaviest Object SubTree) protocol as a countermeasure against the shortened block creation time. By ghost protocol, the system chooses the blockchain with the heaviest blocks instead of the longest chain. For example, as shown in the figure below, this means that Bitcoin chooses the longest chain while Ethereum chooses the heaviest chain.
In this way, in Ethereum, creating an orphan block (currently called an omer block in Ethereum; in the past, uncle block) also considered as making contribution to the improvement of security. Even if you work on an orphan block, a reward is provided. (However, orphan blocks are given only 87.5% of the basic reward.) This allows Ethereum to secure high security while having a much shorter block creation time compared to Bitcoin.