The Ghost protocol in Ethereum is (Greedy Heaviest Observed Subtree) was introduced in 2013 as a way of combating the way that fast block time blockchains suffer from a high number of stale blocks - i.e. blocks that were propagated to the network and verified by some nodes as being correct but eventually being cast off as a longer chain achieved dominance, or Forking. The protocol also combats the issue of centralisation bias – the larger the pool the less time the more often they are going to get a head start on other miners by producing the block themselves and immediately start the race for the next block.
An orphan, or stale block, is created when two nodes find a block at the same time. Both say we’ve found the solution to this block and send off their block to be verified and included in others block chains. In Bitcoin, the probability of finding a block at the same time is relatively low when the block time is ten minutes and propagating a block to 50% of the network takes roughly twelve seconds.
If you want the block time to be shorter and you want to reduce the incentive for pooled mining, like Ethereum does – then you have to do something else which is where GHOST comes in.
GHOST includes stale blocks – or Uncles as Ethereum calls them – these are included in the calculation of which chain is longest or has the highest cumulative difficulty. Centralisation is solved by giving block rewards to stales of 87.5% – the nephew (child of the Uncle block) also receives a reward of 12.5% of the block reward.
The Ethereum version of Ghost only goes down seven levels – or back seven levels in the height of the block chain.
- A block must specify its parents and its number of Uncles.
- An Uncle included in a block must be a direct child of the new block and less than seven blocks below it in terms of height
- It cannot be the direct ancestor of the block being formed.
- An Uncle must have a valid block header.
- An Uncle must be different from all other Uncles in previous blocks and the block being formed.
- For every Uncle included in the block the miner gets an additional 3.125% and the miner of of the Uncle receives 93.75% of a standard block reward.