主页 > imtoken换手机怎么登录 > 以太坊ETH2.0:如何实现最终性?

以太坊ETH2.0:如何实现最终性?

imtoken换手机怎么登录 2023-05-29 06:55:25

如果你在学习以太坊2.0的过程中遇到了justification(证明)和fnalization(终结性)这两个术语,但又不知道它们是什么意思,希望这篇文章能给你一些启发。

首先,让我们试着理解什么是最终性。 【备注:也有将finality翻译成“确定性”的翻译】

您一定已经注意到,加密货币平台和 Dapps(去中心化应用程序)通常会等待几个区块完成,然后才会将您的交易视为“已确认”。 这是一种确保交易已经“接近”完成,或者交易“几乎”不可逆,即交易已经“完成”的一种方式。

以太坊 2.0 可以提供最终性的保证,这是以太坊区块链中铭记的客观事实,而不是一种“接近”的状态。 这非常重要,因为它可以实现更快的链上通信,即如果一个块刚刚完成,则该块将不必等待多次确认。

也就是说,基于工作量证明的区块链(例如比特币)从未包含使交易真正具有最终性的功能; 而以太坊 2.0 链旨在提供比工作量证明更强大的最终保证。

让我们更具体一点。 先看几个定义:

以太坊2.0最新消息_以太坊为什么叫以太坊_以太坊2.0进度

LMD GHOST 是以太坊 2.0 使用的分叉选择规则(即用来判断哪条链是“权威链”的规则)。 全称是《Last Message Driven Greediest Heaviest Observed SubTree(最新消息驱动的GHOST)》

Casper FFG是以太坊2.0使用的权益证明(PoS)机制,全称是“Casper the Friendly Finality Gadget(卡斯珀友好终结小工具)”

在以太坊2.0链中,每生成64个区块(约6.4分钟)称为一个epoch;

在以太坊 2.0 系统中,slot 是产生新区块所需的时间以太坊2.0进度,即新区块被提出并被证明正确所需的时间。 每个时隙设置为 6 秒,但并不是每个时隙都会生成每个新块。 每个纪元中的最后一个时隙称为检查点(checkpoint)。

委员会(Committee)是信标链在每个时隙期间随机选择的一组验证者(每个委员会的目标验证者数量为128),每个委员会中第一个随机选择的验证者将有机会在期间提出一个新的区块插槽和委员会的其他验证者将证明提议的区块。

基于以上信息,我们继续讨论Justification(证明)和Finalization(终结性)。

以太坊2.0进度_以太坊为什么叫以太坊_以太坊2.0最新消息

卡斯帕FFG

Casper 是一种用于证明和最终确定块的方法(无论它们是由通用区块链平台生成的还是在以太坊 2.0 链中的时期生成的)。 Casper 是一个通用的“小工具”,可以添加到任何需要实现最终确定性的区块链中,但 Casper 在 PoS 区块链中最为有用。

以太坊 2.0 中的 Finality 是系统确定不会有两个竞争的、最终​​确定的检查点的概念,当这种情况发生时,至少三分之一的活跃验证者 Violators 将被削减。 我们称之为经济终结。

你可能想问,为什么三分之一的验证者会被罚款? 我们知道,在以太坊 2.0 系统中,必须保证三分之二的验证者是诚实的验证者才能参与验证(即投票),所以如果系统有两个竞争的、最终​​确定的检查点,就意味着有两个- 三分之二的验证人投票给其中一个检查点,三分之二的验证人投票给另一个检查点 参看投票,也就是说,至少有三分之一的验证人对两个检查点都投了票,这些验证人将被系统认为是恶意验证者,将被罚款和削减。 对于验证者来说,最大的好处来自正确确定信标状态以太坊2.0进度,而不是进行不当的恶意操作。 那么“最终确定的检查点”中的“正当性”是什么意思呢? 在解释之前,我们需要解释什么是“称义”。 证明是验证者通过对检查点进行投票来决定哪个检查点是信标链的顶部块。 如果三分之二的验证者(即绝大多数验证者)在连续的两个epoch上达成共识,那么连续的两个epoch是有道理的,前一个epoch被认为是finalized(最终确定的)。 注意:为了便于理解,以上定义已大大简化。 还涉及许多其他因素,但这超出了本文的范围。

因此,一个“最终确定”的时代实际上是一个“已证明”的时代,有一个关键的区别——当某件事被“证明”时,你仍然可以回到过去并对其进行反驳; 但是当你“封印”了一些东西之后,历史就变得很难改写了。

换句话说,如果某件事被“定型”,那一定意味着它被“证明”了,而“被证明”了并不一定意味着它被“定型”了。 需要注意的是,当一个验证者对一个epoch进行证明或最终确定时,并不意味着该验证者在对该epoch本身进行投票,而是该验证者在对该epoch期间的“内容”进行投票/验证,该“内容”是是每个纪元中最后一个时隙(即检查点)的状态根。 因此,验证者通过投票来证明/最终确定纪元,这就是验证者对以太坊区块链最新已知有效状态进行投票的方式。

以太坊为什么叫以太坊_以太坊2.0最新消息_以太坊2.0进度

陆战队幽灵

这就是分叉选择规则发挥作用的地方。

GHOST 实际上是 PoW(工作量证明)和其他区块链平台上非常流行的协议。 GHOST 协议遵循“最重”的子树,即最长的链。

在比特币区块链中,“最重”的分支是将最多算力放入其区块中的链,也是最长的链。 显然最长链就是我们所说的“规范链”,但是这条链还是有可能切换到另一条分叉链上的(虽然可能性很小),所以最长链的最终确定性是概率性的。 LMD 使“消息”起作用,这意味着以太坊 2.0 链上的最终确定性“由最新消息驱动”。 消息即证明,归结为得票最多的分叉链将被视为“权威链”。

以太坊ETH2.0:如何实现最终性?

上图为最新消息驱动的分叉选择规则:绿色区块表示LMD GHOST分叉选择规则证明的区块,笑脸符号表示最新的验证者证明(attestations),证明总量(笑脸总数)是块的权重,用块中的个数表示。

以太坊为什么叫以太坊_以太坊2.0进度_以太坊2.0最新消息

上图中,虽然最上面的分叉链是最长的链,但是下面绿色区块组成的链才是“权威链”,因为绿色区块包含的证明最多,也就是拥有最多的验证者投票。

加斯帕

在以太坊 2.0 链中,Casper 和 LMD GHOST 共同构成了驱动以太坊 2.0 系统的共识协议。 让我们看一下以太坊研究员 Justin Drake 在 EthCC 会议上关于 Eth2.0 的演讲中的这张幻灯片。

以太坊ETH2.0:如何实现最终性?

在幻灯片 1 的上图中,两个虚线框表示叉子选择中的非法情况。 上图左边的虚线框表示,如果同时投票给两个不同的state roots,是非法投票,即不能同时投票给两个不同内容(state roots)的epoch。

右上角的虚线框表明你不能跳过某些时期并为后面的时期投票。 换句话说,您不能在为当前候选纪元投票之前为未来纪元投票。 上图下半部分是两条最终确定的分叉链。 红点表示的第一个和第二个epoch就是已经敲定的“权威链”,因为这两个epoch之后是第三个和第四个(红点表示的)epoch。 但是,第三个和第四个epoch存在于两条平行的分叉链中,那么这两条分叉链中的哪一条属于“权威链”呢? 我们来看第二张幻灯片。

以太坊为什么叫以太坊_以太坊2.0进度_以太坊2.0最新消息

以太坊ETH2.0:如何实现最终性?

Slide 2 根据以上内容,同时投票给内容不同的两个epoch是违法的。 在slide 2的下半部分包含两个分叉链的情况下,上分叉链中的两个epoch(红点)已经完成(finalized),所以看起来上分叉链是有效的; 但是下面的分叉链也包含了两个已经敲定的epoch,只不过那两个epoch是后来敲定的!

以太坊ETH2.0:如何实现最终性?

幻灯片 3

这意味着下面的分叉链是一个无效的分叉,因为如果投票遵循下面两个最终确定的 epoch,这将意味着一个新投票的 epoch 将跟随一个来自另一个分叉链的 epoch。这是非法的,因为

最终确定的检查点必须按时间顺序排列。 如果发生这种情况,大量验证者将受到严厉惩罚,因为大多数验证者投票支持“非法链”上的纪元。 因此,这些验证者必须受到惩罚。 就是这样! 如果你是验证者,请确保每个时段只投票一次,并确保你在投票,其他人也在投票。 避免被砍! (别担心,这些将内置到您使用的以太坊 2.0 客户端中)