区块链社会:区块链助力国家治理能力现代化
上QQ阅读APP看书,第一时间看更新

6.4 幽灵协议GHOST与叔区块

“幽灵”协议(Greedy Heaviest Observed Subtree,GHOST Protocol)是由Yonatan Sompolinsky和Aviv Zohar在2013年12月引入的创新。幽灵协议的提出,是为了应对在确认时间较为快速的区块链中,由于生成区块的高作废率而受到安全性降低的困扰。

6.4.1 幽灵协议的动机

以太坊大概15秒就出一个块,出块速度提高,区块被打包之后,在这10多秒里尚未在全网播布完,如果矿工A挖出了一个区块,然后矿工B碰巧在A的区块扩散至B之前挖出了另外一个区块,矿工B的区块就会作废,且没有对网络安全做出任何贡献。

这种因出现分叉情况未能进入主链的区块成为“孤区块”。孤区块消耗了算力,但没为系统做出贡献,也没有奖励。过高的孤区块作废率导致小矿工退出市场,进而导致:①算力下降降低系统安全性;②算力向大矿场集中导致系统中心化。

如果A是一个拥有全网30%算力的矿池,而B拥有10%的算力,A将面临70%的时间都在产生作废区块的风险,而B在90%的时间里都在产生作废区块。如果作废率高,A将简单地因为更高的算力份额而更有效率。因此,区块产生速度快的区块链很可能导致一个矿池拥有实际上能够控制挖矿过程的算力份额。

以太坊采用幽灵协议解决了降低网络安全性的问题。在计算哪条链“最长”的时候,把作废区块也包含进来,以计算哪一个区块拥有最大工作量证明。

6.4.2 叔区块

以太坊推出了叔区块的概念。叔区块是当前区块祖区块(爷爷辈,往前两个区块)及其之前祖先区块的废弃后代区块。这个祖先区块最远可以到第七代(见图6-1)。

图6-1 叔区块示意图

以太坊付给以“叔区块”身份为新区块确认做出贡献的作废区块87.5%的奖励,把它们纳入计算的“侄子区块”将获得奖励的12.5%。通过奖励引用叔区块,给小矿工生存空间,保证算力的分散化,促进主链安全。在计算最长链时,将叔区块计算在内,使伪造长链攻击更难。叔区块仅有安全意义,内容无意义,因此叔区块奖励仅有挖矿奖励,没有交易费用奖励。