162期【币圈人物】 北大肖臻以太坊的GHOST协议

你好,我是币同学。这是我分享学习的第162天,每天学习进步一点点。

关键词:北大肖臻老师的公开课,关于以太坊共识机制---GHOST协议。

 

1. 以太坊将出块时间,大大降低到十几秒,出现临时性分叉是很常见的。

以太坊采用的是GHOST协议,但GHOST协议并不是以太坊发明的,以太坊对协议进行了修改。

以太坊GHOST协议的核心思想:挖到矿,发布一个区块,但区块被作废了(临时性分叉),系统给与些奖励,这时你依然可以得到出块奖励。

最初的GHOST如图所示

post image

GHOST协议的设计,挖到矿但是没有得到认可的区块,给与一定的奖励。虽然挖的区块,没有成为最长合法链上的区块,但是仍然可以得到大部分(7/8)的区块奖励。有利于鼓励系统中出现分叉后,及时进行合并。(相当于例子中区块6把两个叔父区块给招安过来)

区块6,能把两个叔父区块作为叔父区块的前提是,区块6在发布前知道这两个叔父区块的存在。

 

2. 以太坊改进后的GHOST协议,如图所示:

post image

区块17是区块11的最直接的叔父区块,以太坊规定区块17(叔父区块)可以得到7/8出块奖励。

往前推一代,那么区块16仍然是区块11的叔父区块,得到6/8出块奖励。

再往前推一代,得到5/8出块奖励。以此类推,但是没有1/8的出块奖励,也就是发布区块11时,区块3就不是叔父区块,是没有叔父区块奖励的。

 

对于区块11来说,包含一个叔父区块,可以得到1/32的奖励,这是固定的,不管包含的是哪一个辈分的叔父区块。

 

叔父区块的定义:必须跟当前的区块,在7代以内,有共同的祖先。(超过7代就不认了,换句话说合法的叔父只有6个辈分);符合挖矿难度。(叔父区块是不执行的)

 

以太坊改进的GHOST协议的好处:

第一如果以太坊没有这个规定,不限制叔父的辈分,不限制多少代的话,那么实现起来,对于全节点来说,它要维护的状态就太多了。发布的节点,包括叔父区块,其他节点也是要验证的。

第二设计最多搁着7代,并且在7代以内,出块奖励是逐渐递减的。有利于鼓励出现分叉后,尽早进行合并。一出现分叉,马上合并时,能得到的出块奖励是最多的(7/8)。如果隔了好几代后,出块奖励就越来越少了。隔的代数太多了,就得不到任何的区块奖励了。

 

3. 以太坊挖到区块,可以得到两个奖励:

出块奖励(动态奖励)Block reward---3ETH

交易费(汽油费)Gas fee

叔父区块得到7/8的奖励,只限于出块奖励(block reward),汽油费(gas fee)是得不到的。

 

4. 以太坊中真实的情况:

post image
post image

Block height:区块的序号

根据区块的序号,#1框中,568159比569161大两个,可以得到6/8的奖励;#2框中,569153比569154大一个,可以得到7/8的奖励;#3框中,569106比569109大三个,可以得到5/8的奖励。

post image

今天就学习到这里,明天见。