主页 > www.token.im > 北京大学肖震老师《区块链技术与应用》公开课笔记20-ETH中的GHOST协议

北京大学肖震老师《区块链技术与应用》公开课笔记20-ETH中的GHOST协议

www.token.im 2024-01-13 05:10:41

北京大学肖震老师《区块链技术与应用》公开课笔记

以太坊GHOST协议,对应肖老师视频:点这里

查看完整的系列笔记:点击这里

关于我:点击进入我的个人主页

BTC 系统的出块时间为 10 分钟,而以太坊的出块时间缩短为 15 秒左右。 虽然系统响应时间和吞吐率得到有效提升,但也导致系统临时分叉成为常态,分叉数量增加。 许多。 这对共识协议来说是一个巨大的挑战。 在BTC系统中,不在最长合法链上的节点最终会失效,但在以太坊系统中,如果这样做,由于系统经常出现分叉,矿工很可能会无法开采。 它将被废弃,这将大大降低矿工的挖矿积极性。 对于个体矿工而言,与大型矿池相比存在天然劣势。

对此,以太坊设计了一个新的公式协议——GHOST协议(该协议并非原创,而是对原有Ghost协议的改进)。

以太坊分叉时间_哪些币是以太坊的代币_ethf是以太坊的分叉币吗

GHOST协议 GHOST协议初始版本

如图所示,假设以太坊系统存在以下情况。 A、B、C、D 在四个分支上。 最后ethf是以太坊的分叉币吗,随着时间的推移,B所在的链成为最长的合法链,于是区块A、C、D全部失效。 但是为了补偿这些区块所属的矿工所做的工作,给这些区块一些“补偿”,它们被称为“Uncle Blocks”(叔块)。

规定区块E在发布时可以包含叔块A、C、D,叔块A、C、D可以获得区块奖励的7/8。 为了鼓励E包含叔块,规定每包含一个叔块可以获得额外1/32的区块奖励。为了防止E包含大量叔块,规定一个块可以最多只包含两个叔块,所以E最多只能包含A、C、D中的两个块作为自己的块奖励

在这里插入图片描述

假设一个矿工挖出了B,他沿着他所在的链继续挖,他知道A和自己是“同代”,那么他可以把A纳入区块挖矿,如果他在区块中听到C挖矿过程 如果你也是“peer”,你可以停止挖矿,将C包含进来,重新组织成一个新的区块重新挖矿。 实际上,由于挖矿过程的无记忆特性,这不会降低挖矿成功的概率。

初始版本错误:

以太坊分叉时间_ethf是以太坊的分叉币吗_哪些币是以太坊的代币

因为叔块最多只能包含两个,如果图中有三个怎么办? 矿工自私,故意不包含叔块ethf是以太坊的分叉币吗,导致叔块7/8的区块奖励损失,自己只损失了1/32。 如果两个大矿池A和B之间存在竞争关系,他们可以使用故意不包含对方的叔块,因为对自己的损失小,对对方的损失大。 新版Ghost协议

下图中的1是对上例的补充,F是E之后的新块。因为规定E最多只能包含两个叔块,所以假设E包含C和D。此时,F也可以把A当成自己的叔叔块(其实不是叔叔那一代,而是爷爷那一代)。 如果继续往下挖,F之后的新块仍然可以包含B的同行的块(假设E和F还没有包含)。 这样就有效解决了原版Ghost协议存在的上述不足。

在这里插入图片描述

但是这种方式仍然存在一定的问题。

我们把“叔叔”的概念扩展一下,但问题是,“叔叔”的定义应该是几代人?

如下图,M是区块链上的一个区块,F是它严格意义上的叔叔,E是它严格意义上的“祖父”。 以太坊中规定,如果M包含F代区块,则F将获得7/8的区块奖励; 如果 M 包含 E 代区块,则 F 将获得 6/8 的区块奖励,以此类推。 直到A代区块被包含,A获得2/8的区块奖励,之前的“叔块”对于M不再被认为是M的“叔块”。

哪些币是以太坊的代币_ethf是以太坊的分叉币吗_以太坊分叉时间

对于M来说,无论涉及哪一代“叔叔”,区块奖励都是1/32的区块奖励。

换句话说,叔块的定义是它与当前块有七代以内的共同祖先(合法的叔块只有6代)。

在这里插入图片描述

这样方便所有节点记录。 此外,该协议还鼓励一旦发生分叉就合并。

以太坊奖励:

BTC:静态奖励(区块奖励)+动态奖励(交易手续费,比例小)

哪些币是以太坊的代币_ethf是以太坊的分叉币吗_以太坊分叉时间

ETH:静态奖励(区块奖励+包含叔块的奖励)+动态奖励(汽油费,占比较小,叔块不占)

比特币为了人为制造BTC的稀缺性,每隔一段时间就会降低区块奖励,最终当区块奖励趋于0时,主要依靠交易手续费来运作。 然而,以太坊并没有人为规定定期减少区块奖励。

叔块包含在以太坊中。 您想将交易包含在叔块中吗?

不,主链上的叔块和兄弟块可能包含冲突交易。 而且我们前面也提到了,叔块是没有动态奖励的。 因此,当一个节点收到一个叔块时,它只检查块的有效性,而不检查其中交易的有效性。

当然,分叉后的表弟块呢? 比如下图,链A->F并不是最长的合法链,那么区块B->F呢? 挖矿该不该补偿?

如果规定整个following chain整体奖励出块,这在一定程度上鼓励了分叉攻击(降低了分叉攻击的成本,因为即使攻击失败也会有奖励)。 因此,ETH系统规定,只有区块A被认定为叔块,并给予补偿,后续所有区块均无效。

哪些币是以太坊的代币_ethf是以太坊的分叉币吗_以太坊分叉时间

在这里插入图片描述

以太坊真实数据

Etherscan 网站,可以实时查看以太坊的数据。 以下截图是本人于2020年2月28日截取的,与肖先生视频中的截图有一些差异。 但具体内容基本相同。

在这里插入图片描述

Chome浏览器中文翻译页面:

在这里插入图片描述

视频中肖老师还根据网站上的区块信息分析了GHOST协议中的叔块奖励等信息,这里不再赘述。