This proposes to include uncle difficulty in total difficulty calcuation after
FORK_BLOCK. New client will use a different Ethereum Wire Protocol version number to broadcast the total difficulty calculated using the new formula. As a result, old clients will continue to function if soft-forked clients are the majority.
Ethereum is advertised to use GHOST protocol for best chain selection. The calculation is done using “total difficulty”. The client will always select the chain with larger total difficulty. However, while uncles are included in blocks and miners are rewarded to include them, they do not participate in the calculation of total difficulty thus do not participate in the best chain selection. This deflicts the goal of GHOST protocol, which should always select the chain in which, including stale blocks, is the heaviest.
Analysis by Gervais et al. has shown that, due to the above fact, Ethereum currently resembles a similar Proof of Work algorithm as Bitcoin. Besides, due to its fast block time (around 10 seconds) and growing block size, it is having a much larger orphan rate compared with other Proof of Work cryptocurrencies like Bitcoin, Litcoin and Dogecoin.
Soft-forked clients support a new Ethereum Wire Protocol version number
70 works the same as the current version
63. On or after
FORK_BLOCK, change the total difficulty calculation from
B_t = B'_t + B_d to
B_t = B'_t + sum(B_U_d) + B_d. That is, to also sum up difficulty of uncles included in the current block and add it to the total difficulty.
Clients are recommended to continue to support older version number
63 should continue to use the old total difficulty calculation formula (
B_t = B'_t + B_d) on or after
Soft-forked clients should use version
70’s total difficulty (with or without uniform tie breaking) for best chain selection.
- Sompolinsky, Yonatan, and Aviv Zohar. “Accelerating bitcoin’s transaction processing.” Fast Money Grows on Trees, Not Chains (2013).
- Gervais, Arthur, et al. “On the security and performance of proof of work blockchains.” Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016.