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

By [币同学](https://paragraph.com/@0xfcd43340b9048700ecef52a96a11e11a98fc1eda) · 2022-01-13

---

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

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

  

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

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

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

最初的GHOST如图所示

![](https://storage.googleapis.com/papyrus_images/7e0692da7a6089d0c1a1a86450d7a02027cb5618495956dcebea0d925fefdf4d.png)

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

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

  

2\. 以太坊改进后的GHOST协议，如图所示：

![](https://storage.googleapis.com/papyrus_images/3c75a2d5380d92a0426df9fe90e6a7e0de07025345125620c10f0c6f2ceeeb51.png)

区块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\. 以太坊中真实的情况：

![](https://storage.googleapis.com/papyrus_images/f647faee0c220e1f18a65abff1d8d56cf30c732f8b6dfe9e54622ebc9a85a08e.png)

![](https://storage.googleapis.com/papyrus_images/8144dbb51ac2ada26f6c1c0436befcce12fde2332cffb3dbd04b452a683bdfa3.png)

Block height：区块的序号

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

![](https://storage.googleapis.com/papyrus_images/854e125f8cf51736eab6ecd5f2405183456265d8f924456cdb58a046b29794fb.png)

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

---

*Originally published on [币同学](https://paragraph.com/@0xfcd43340b9048700ecef52a96a11e11a98fc1eda/162-ghost)*
