ghost协议

为什么要引入ghost协议?

1.以太坊出块时间是12s左右,相比于比特币的10分钟,快了很多。在比特币网络中对叔块是没有奖励的,但以太坊的出块时间快将导致会有更多的孤块产生,更多的叔块意味着更多的矿工会因为挖到孤块而做无用功。

2.以太坊采用子块最多的链为主链而不是最长的链,为了解决中心化的问题,一个矿池算力越大意味着挖到块的时间越短,同时也将出现算力大的能够更容易成为最长的链。

ghost协议是如何执行的?

ghost协议

如上图所示,一个矿工miner挖出了c区块,在他向网络广播的时候,另外两个矿工挖出了c1和c2区块,此时就出现了区块树,即分叉。这时miner继续挖出来了d区块,为了使挖出c1和c2的矿工认可miner挖出的d区块,miner现在可以在挖出d区块之后将c1和c2标记为叔块(最多只能标记两个,剩下的只能被抛弃,称为孤块),叔块在被引用的时候能够获得7/8的奖励,此时挖出c1和c2的矿工看到已被挖出的侄子区块d,会接受7/8的奖励(毕竟竞争下去成功的概率低而且还可能做无用功),承认d为最新的区块。miner挖出d块的时候引用c1和c2叔块,同时也能得到1/32的奖励,从而避免了分叉的出现。