《以太坊 2.0 术语库》信标链、PoS、分片…接触以太坊 2.0 得先理解这些术语

新手教程1年前 (2022)更新 领域OK
216 0 0

证明是指验证者所发起的投票,由验证者的签名聚合而成,用以证明区块的有效性,投票通过验证者的余额进行加权。

信标链上的验证者可以充当区块提议者和证明者,证明者对区块发起投票。

以太坊 2.0 阶段 0 中实现,将引进权益证明 (PoS) 共识机制。也被认为是 Eth2 的「协调层」。

职能:

为验证者分配职责
对检查点进行最终确定
在协议层上执行随机数生成
巩固信标链
对链头进行投票,作为分叉选择的基础
针对分片链的过渡 / 数据进行连接和投票

由信标链通过 RANDAO 机制随机选择出来的验证者,对下一个区块进行提议。每个 slot 中仅有一个区块提议者。

Casper FFG 是基于 PoS 共识机制的区块最终确定系统,其规定了区块最终确定的规则,并对已确定的区块进行检测。Casper FFG 融合了 PoS 算法技术及拜占庭容错共识原理,其与链增长过程脱钩,可以作为一个独立的叠加层,为任何有效区块链协议提供最终确定区块的服务。与 PoW 共识机制相比,FFG 可以为区块链带来更高的安全性,防止区块被篡改。

Casper FFG vote 指验证者为最近一个 epoch 的检查点即 「目标检查点」 和前一个检查点即 「来源检查点」 发起投票,证明投票由验证者广播到 p2p 网络,最终再由区块生产者打包进区块。

信标链和分片里每个 slot 中的委员会至少由 128 位验证者组成,根据伪随机过程 RANDAO,验证者们被随机分配到委员会中,对区块发起投票,确定其有效性。

检查点指位于每个 epoch 第一个 slot 里的区块,如果该 slot 内没有产生区块,则最近的前一个区块为检查点。每个 epoch 都会有一个检查点区块;一个区块可能同时是多个 epoch 的检查点。

链头是指信标链或分片链末端的一个区块,每个 slot 中的区块都要发起一次 LMD GHOST 投票,对信标链头进行验证。

现存余额指验证者当前持有的 ETH 总数,而有效余额指根据现存余额计算出来的 ETH 数量。有效余额规定了验证者获得的 ETH 赏金或者罚没数量的范围。有效余额最多为 32 个 ETH。

验证者若想要扩大有效余额数量,需要持有的现存余额为「有效余额+1.25 个 ETH」。换句话说,如果验证者原本持有有效余额 20 个 ETH,想要增加到 21 个 ETH,验证者的现存余额必须增加到 21.25 个 ETH。如下文第三个例子所示,倘若现存余额减少了 0.25 个 ETH,低于阈值,有效余额也会随之调整。

以下举例说明了如何计算有效余额:

如果现存余额为 32 个 ETH — 有效余额为 32 个 ETH;
如果现存余额由 22 个 ETH 减少到 21.76 个 ETH — 有效余额将为 22 个 ETH;
如果现存余额由 22 个 ETH 减少到 21.749 个 ETH — 有效余额将为 21 个 ETH;
如果现存余额增加到 19.25 个 ETH,且原有有效余额为 18 个 ETH,那么有效余额将增加到 19 个 ETH;
如果现存余额增加到 22.25 个 ETH,且原有有效余额为 21 个 ETH,那么有效余额将增加到 22 个 ETH。

部署在以太坊 PoW 链上的智能合约。要成为 Eth2 的 PoS 验证者,需要首先向存款合约发送一笔交易,包含一定量的 ETH 作为质押金。存款合约记录了质押历史纪录,并且将所有质押金锁定在 PoW 链上,之后可以转移至 Eth2 信标链上。请注意,在 Eth2 早期阶段,存款合约只支持单向转移,不能将质押金从 Eth2 转回 PoW 链。

一名区块提议者在他所分配到的 slot 里提议一个以上的区块。

一名验证者针对同一个目标检查点 (target),不同的源检查点 (source) 发起的两次 FFG 投票。双重投票可以被看做是 PoS 版本的双花攻击 (double-spend attack)。

《以太坊 2.0 术语库》信标链、PoS、分片…接触以太坊 2.0 得先理解这些术语

每个 epoch 由 32 个 slots (时隙) 组成,每个 slot 为 12 秒,一个 epoch 即 6.4 分钟。

时段边界区块 (EBB, epoch boundary block) 是一些文献中用到的术语,可以理解为「检查点」(checkpoint) 的同义词。

Eth2 中的分叉选择规则是 LMD GHOST (Latest Message Driven GHOST, 由最新消息驱动的 GHOST)。在该协议中,获得投票数最高的分叉将被选为链头。与最长链规则相比, GHOST 的优点在于能够在网络延迟较高时降低攻击效率,同时最小化链重组的深度。即使攻击者能够高效地在其分叉链上继续产生区块,尝试使该链成为最长链,协议也会选择另一条票数更高的分叉链。

最终确定性指两个相冲突的区块 (检查点) 无法同时被最终确定,也可以称之为经济确定性 (economic finality)。在 Eth2 中,一旦两个相冲突的检查点被最终确定,那么系统中至少三分之一的活跃验证者将受到罚没。如果连续两个 epoch 被证明 (或跳过一个 epoch 的连续两个 epoch),则第一个 epoch 被认为获得最终确定。

证明指验证者对检查点进行投票并确定信标链头的行为。如果 2/3 的验证者 (即绝对多数) 对两个 epoches 达成共识,例如源检查点 (source) 和目标检查点 (target),那么这两个检查点都被证明了。如果连续两个 epoch 被证明 (或跳过一个 epoch 的连续两个 epoch),则第一个 epoch 被认为获得最终确定。

LMD GHOST 是 Eth2 中的分叉选择规则。GHOST (Greediest Heaviest Observed SubTree) 实际上是一种较早的协议,在 PoW 和其他区块链中应用颇广。协议仅遵循「最重」子树,即最长链。在比特币语境中,最重分支是哈希算力最高的链,并且被视作是最长链 (规范链)。LMD (Last Message Driven) 通过「最新消息驱动」来发挥「消息」 (message) 的作用。消息是一则证明 (attestation),其不同之处在于获得最多票数的分叉将被视为规范链。

权益证明 (PoS) 是一种用于公共区块链的共识算法,该算法取决于验证者在网络中的经济权益。在基于工作量证明 (PoW) 的公共区块链中,通过奖励解决密码难题的参与者,以验证交易并创建新区块 (即挖矿)。而在基于 PoS 链中,一组验证者轮流对下一个区块进行提议和投票,每个验证者的投票权重取决于其押金 (即权益) 的多少。PoS 的显着优势包括提高安全性、降低中心化风险和节省能耗。

在以太坊 2.0 上,激活一名验证者需要在网络中质押 32 ETH。

阶段 0 作为以太坊 2.0 的首个阶段,也即启动信标链(信标链已于北京时间 2020 年 12 月 1 日创世)。阶段 0 通过管理协调验证者来实现 PoW 到 PoS 共识机制的转变。此阶段不会提供分片链或执行等功能,也就是说,参与者在此阶段无法在 Eth2 网络中进行交易或是调用智能合约。

阶段 1 是以太坊 2.0 继阶段 0 之后的第二次网络升级,主要目标是启动分片链,并将数据写入分片链。分片是提升以太坊可扩展性的关键,因为其允许并行处理交易而大大提升了吞吐量,目前最新方案是在阶段 1 中部署 64 个数据分片(将来或许会更多)。

阶段 1.5 指以太坊 1.0 和 2.0 区块链的合并时期。在阶段 1.5,以太坊 1.0 链将合并到具备执行功能的 Eth2 信标链上。彼时,1.0 链的全部功能 (包括 ETH 的使用) 将在 2.0 链上实现,而不会破坏数据一致性。

阶段 2 是以太坊 2.0 的第三个阶段。在之前的路线图中,阶段 2 的计划是整合整个 2.0 系统的功能性,并引入基于 eWASM 的虚拟机,为分片提供执行环境,以便基于 Eth2 构建可扩展的应用,并且将 1.0 链完全引入 2.0,最终弃用工作量证明机制。在最新的「可执行信标链+数据分片+Layer2」路线图中,阶段 2 暂时被搁置,但仍然保留内置虚拟机的可能性。

分片概念原本指数据库的横向分割,将大型数据库分割为更小、更快、更易于管理的部分。为了保证去中心化,区块链需要采取类似的横向扩容方式。每条分片链都拥有一个节点子集在该链上进行工作。虚拟矿工和验证者被分配到不同的分片中,并且只处理和验证自己所在分片链上的交易。Eth2 的短期计划是启用 64 个分片,预计在阶段 1 实现分片与信标链的交联。

验证者「混洗」的主要目的在于确保分片的安全性。由于验证者分散在不同的分片中,有的节点可能会恶意控制某个分片。对验证者进行混洗 (shuffling),使得每个分片区块都有一个委员会,其中的验证者都经由随机挑选。经数学计算,如果攻击者控制的验证者少于总数的三分之一,就难以对某个分片发起攻击。

12 秒的时间段,其中随机选择的验证者将提议一个区块。在每个 slot 中,在信标链和分片中都可能新增一个区块,但是 slot 中也可以没有产生区块。每个 epoch 中,验证者被随机分配到一个 slot 和分片中组成委员会,除了一名区块提议者,其他委员会成员负责对该区块进行证明 (attest)。每个委员会最少有 128 名验证者。

一名验证者发起的 FFG 投票环绕之前的 FFG 投票,或是被之前的 FFG 投票所环绕。

举个例子,假设一名验证者在 epoch 5 内,为 slot 32 处的源检查点和 slot 128 处的目标检查点发起了一次 FFG 投票:

在 epoch 6 内,为 slot 64 处的源检查点和 slot 96 处的目标检查点发起的 FFG 投票,被其在 epoch 5 中的投票环绕。
在 epoch 6 内,为 slot 0 处的源检查点和 slot 160 处的目标检查点发起的 FFG 投票,则环绕了其在 epoch 5 中的 FFG 投票。

对验证者进行罚没,是指如果验证者被证实存在破坏行为,其 (部分) 质押金将被销毁。在 Eth2 阶段 0 时期,验证者主要会因为三种恶意行为被罚没:双重投票 (double voting)、环绕投票 (surround voting)、双重提议 (double proposal)。被罚没的验证者将被停止继续参与协议,并且会被强制退出。

被销毁的质押金会与同时段被罚没的验证者数量成一定比例,以避免验证者因无心之举而受到超额惩罚。因为攻击需要大量验证者参与,被罚没的验证者越多,说明被攻击的可能性越大,惩罚力度也就越强。最低罚没金额为 1 ETH,最高罚没金额为验证者全部余额。

验证者可以看作是权益证明 (PoS) 共识机制中的「虚拟矿工」。用户通过质押 ETH 来激活和管理验证者,每质押 32 个 ETH,就会激活一名验证者。

验证者通过验证者客户端进行工作,而客户端借助信标(链)节点来运行。每个信标节点都有跟踪和读取信标链的功能。而每个验证客户端都可以执行信标节点的功能,或者调用信标节点。一个客户端允许一个或以上验证者执行验证职能。

1. 质押:已将 32 ETH 存入 ETH1 存款合约,此状态将保留约 7 个小时。这可以在 ETH1 链遭遇攻击时保障安全性。

2. 等待在 Eth2 激活

在网络中有 327680 个有效验证者之前,每个 epoch 可以激活 4 个验证者 (每天 900 个)。在此之后,每个 epoch 可以激活 5 个验证者。并且每增加 6.4 万个活跃验证者,每个 epoch 可以激活的验证者数量+1
激活数量与活跃验证者的数量成比例,上限是有效验证者集除以 64,000
(参与证明 & 提议区块):

出现以下情况任一,验证者停止工作

余额低于 16 个 ETH (被驱逐)
自愿退出
受到罚没

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...