以太坊 2.0 知识库

来源:Glossary - Ethereum 2.0 Knowledge Base (beaconcha.in)

名词术语

Beacon-chain(信标链)

信标链引入了权益证明,也被称为 coordination layer(协调层)。

作用:

  • 为验证者分配职责
  • 最终确定检查点
  • 执行协议级随机数生成(RNG)
  • 推进信标链
  • 在链的头部投票以选择分叉

Slots(时隙)

32 Slots = 1 Epoch

一个 12 秒的时间段,一个随机选择的验证者在此期间可以提出一个区块。一个 slot 中也可以没有新区块。所有的验证者会被分配到某个委员会中,若干个委员会负责证明一个 slot。委员会中的一名验证者将被选为聚合者,而其他验证者则进行证明。在每个 Epoch 之后,验证者会被重新打乱并分配到新的委员会中。每个委员会至少有 128 名验证者。

Epoch(时段)

1 Epoch = 32 Slots

约 6.4 分钟。当涉及到验证者队列和最终确定性时,Epoch 有着重要作用。

Deposit contract(存款合约)

ETH 1.0 上的一个智能合约,是连接 ETH 1.0 和 ETH 2.0 的网关。该智能合约接受最低 1 ETH 和有效 Input Data 的交易。信标节点监听该合约并通过 Input Data 来为验证者提供信用。

Input Data(输入数据)

也称 deposit data(存款数据),是用户生成的 842 长度的字符串,代表验证者公钥和提款公钥,由验证者的私钥签名。Input Data 需要添加到 Deposit contract 中才能被信标链识别。

Validator(验证者)

验证者需要将 32 个 ETH 存入 deposit contract 。验证者必须运行一个节点,它的工作是提出区块并签署证明。验证者必须至少有 50% 的时间在线才能获得正回报。

Eligible for activation & Estimated activation(有资格激活 & 预计激活)

指 pending 中的验证者,它的存款在 “Eligible for activation” 的时间戳被 ETH 2 的链识别。若存在 Pending 的验证者队列,则估算预计激活的时间戳。

Unique Index(唯一索引)

每个已激活的验证者都会有的唯一索引。

Current Balance & Effective Balance(当前余额 & 有效余额)

当前余额是验证者目前持有的 ETH 数量。有效余额是由当前余额计算出的。它用于确定验证者收到的奖励或惩罚的大小。有效余额永远不会高于 32 ETH

为了增加 1 ETH 有效余额,验证者需要将当前余额增加 1.25 ETH 。举例来说,如果有效余额为 20 ETH,则需要 21.25 ETH 的当前余额才能获得 21 ETH 的有效余额。而有效余额将在当前余额下降幅度 > 0.25 时进行调整

以下是有关有效余额如何变化的示例:

  • 如果当前余额为 32.00 ETH —— 有效余额为 32.00 ETH
  • 如果当前余额从 22 ETH 下降 0.24 至 21.76 ETH —— 有效余额将为 22.00 ETH
  • 如果有效余额为 21 ETH,当前余额增加到 22.25 ETH —— 有效余额将增加到 22 ETH

Slasher(吹哨者)

Slasher 具有一定独立性,但需要一个信标节点来接收证明。为了发现验证者的恶意活动,slashers 会遍历所有收到的证明,直到发现可罚没的攻击。发现的 slashings 会被广播到网络,然后下一个区块提议者会将该证明添加到区块中。区块提议者会因削减恶意验证者而获得奖励。但是,举报人(即 Slasher)不会获得奖励。

可罚没的攻击行为

证明违规

  • Double voting(双重投票)

    一个 attester(非区块提议者的验证者)在一个 epoch 里(也即一个 slot 里)签署了两份不同的证明。

  • Surround votes(环绕投票)

    一个 attester 签署了围绕着另一个 attester 的证明。

提议违规

  • Double block proposal

    区块提议者在一个 slot 中签署了两个不同的区块。

Attestation(证明)

验证者的投票,用于确定区块有效性。

Block proposer(区块提议者)

被信标链选择的一个验证者,负责提议下一个区块。每个 slot 只能有一个有效区块。

Block status(区块状态)

  • Proposed(已提议)

    该区块已通过,并且被一个验证者提议。

  • Scheduled(已计划)

    验证者们正在提交数据。

  • Missed / Skipped(已跳过)

    区块提议者没有在给定的时间内提议区块,因此该区块状态为已跳过。

  • Orphaned(孤儿区块)

    请看下面的例子。1~9 代表 slot 。

  1. slot 1 的验证者提议了区块 a ;
  2. slot 2 的验证者提议了区块 b ,slot 3 的验证者(下称验证者 3 )提议了区块 c ;
  3. slot 4 没有验证者提议区块(如:离线),因此被跳过;
  4. 在 slot 5 / 6 处发生了一个分叉:验证者 5 提议了一个区块,但是验证者 6 没有收到这个信息(如:网络延时),因此验证者 6 认为 slot 3 处的 c 是最新块,并紧接着 c 提议了新块 f ;
  5. 这里的关键是分叉选择规则,它决定了哪一个是规范的链。

img

Validator Lifecycle(验证者生命周期)

1. Deposited(已存款)

  • 验证者已将 32 ETH 存入 ETH 1 的存款合约,该状态将保持 7 h,以保障 ETH 1 链不受到攻击。

2. Pending(待定中)