信标链是一条 PoS 区块链。它目前与以太坊主网并行运行,但两者很快将「合并」在一起。合并之后,现有的以太坊主网客户端 (「执行客户端」) 将继续托管以太坊虚拟机 (EVM),并验证和广播交易,但将停止参与工作量证明 (PoW) 挖矿,并放弃对区块链链头 (顶端区块) 达成共识的责任。
相反,这种共识将成为「共识客户端」的责任,「共识客户端」负责把来自「执行客户端」的交易与共识所需的信息一起打包进「信标区块」中,这些信标区块就构成了信标链。「矿工」将被「验证者」(validators) 取代,这些验证者需要将 ETH 存入某个以太坊智能合约中 (这一过程称为「质押」(staking))。验证者质押的 ETH 将作为抵押品,以激励他们正确地完成验证工作。不履行验证工作 (比如因为离线) 或进行恶意行为的验证者,将导致其质押的 ETH 的一部分被销毁。另一方面,如果验证者行为得当,那么将会获得 ETH 奖励。
1. 验证者的职责
对于验证者来说,良好的行为意味着参与验证从其他验证者那里接收到的信标区块,并对区块链链头进行投票。如果验证者接收到的区块是有效的,那么验证者将对区块进行「证明」(attest),实际上就是投票支持将该区块添加到区块链中。一个节点将不定期地被要求提议一个新区块,其他验证者将「证明」该区块。当区块链有多个分叉时,只有那条在其历史上积累了最多「证明」(attestations) 的链才是正确的区块链。
验证者还将不定期地参与到某个同步委员会 (sync committee) 中,同步委员会是一个由随机选择的 512 名验证者组成的小组,这些被随机选中的验证者将对区块头 (block headers) 进行签名,这样轻客户端就可以检索这些被验证过的区块,而无需访问整条历史链或整个验证者集。
2. 合理化 & 被敲定
信标链为网络设定节奏。这种节奏被组织成两个时间单位:slot 和 epoch。slot 是将区块添加到信标链的机会,每 12 秒出现一次。某个 slot 可能没有区块,但当系统以最佳方式运行时,区块会添加到每个可用的 slot 中。epoch 是以 32 个 slot (约 6.4 分钟) 为单位的。slot 和 epoch 设定了以太坊区块链的节奏。
在每个 epoch 期间,第一个 slot 中的区块是一个检查点 (checkpoint)。检查点是非常重要的,因为检查点被用于使区块链账本上的记录变得永久和不可逆转——这是一个分为两个阶段的过程:首先,如果所有活跃验证者质押的 ETH 余额中至少有 2/3 (即「绝对多数」) 证明了最近的两个检查点 (当前的被称为「目标检查点」,前一个被称为「源检查点」),那么这两个检查点之间的这段区块就被「合理化」(justified) 了。
「合理化」是迈向成为以太坊权威链上永久记录的第一步。一旦某个被「合理化」的检查点之后新出现了另一个被「合理化」的检查点,那么前一个检查点就是「被敲定」(finalized) 了,也即使其具有了永久性和不可逆转 (即这个检查点之前的所有记录都成为了区块链上永久不可篡改的记录)。
这个「合理化」和「敲定」的过程要求验证者进行的「证明」(attestations) 实际上要比上文阐述的要更复杂一些。有两种类型的证明:一种是 LMD GHOST 投票,用于证明区块链的链头 (LMD GHOST 是分叉选择算法);第二种是用于对两个检查点进行证明的 FFG 投票 (FFG 是「最终性小工具」(finality gadget),对区块链进行合理化和最终敲定)。所有验证者都会对每个检查点进行 FFG 投票,而只有一个随机选中的验证者子集在每个 slot 进行 LMD GHOST 投票。
3. 验证者的质押奖励、惩罚和罚没
奖励
如前所述,验证者质押的 ETH 用于作为「抵押品」,以激励验证者的诚实行为。随着验证者因为参与到保护网络中而获得奖励,这些被质押的 ETH 将随着时间的推移而增加。当验证者进行的 LMD-GHOST 投票和 FFG 投票与大多数其他验证者一致时,那么验证者就会获得证明奖励。当验证者被选中作为「区块提议者」(block proposer) 时,如果其提议的区块被「敲定」,那么该验证者也将获得奖励。区块提议者也可以通过将有关其他验证者行为不当的证明打包进自己提议的区块中,从而增加自己获得的奖励。这些奖励是鼓励验证者诚实行事的「报酬」。
惩罚
验证者可能受到的「惩罚」是以各种机制的形式来销毁一部分验证者质押的 ETH。当验证者未能提交一个 FFG 投票、提交延迟了或者提交了错误的 FFG 投票时,都会受到证明惩罚 (attestation penalties)。但如果验证者错过了进行 LMD-GHOST 投票,则不会受到惩罚,只是错过了本可以通过对链头进行投票而获得的奖励。验证者余额被削减的数额,等同于如果他们提交正确的证明而本可以获得的奖励数额。
这意味着,一个诚实但「懒惰」的验证者,他因为错过了证明而遭受到的最大惩罚,就是损失他如果以完美的方式进行证明时本可以获得的奖励金额的 3/4。此外,当验证者被分配至「同步委员会」(sync committee) 时,如果该验证者未能签名区块,那么其受到的惩罚将等同于如果他成功地签名区块时本可以获得的 ETH 价值。
总的来说,这些惩罚是温和的,验证者持续的怠惰 (inactivity) 仅会使其质押的 ETH 受到一个相当缓慢的削减。
罚没
罚没 (slashing) 是一种更严重的行为,这会导致验证者被强制从网络中移除,并导致相关的 ETH 质押金损失。有三种方式会导致验证者被罚没,所有这些都相当于验证者进行了不诚实的区块提议或区块证明:
- 在同一个 slot 提议和签名两个不同的区块;
- 对「环绕」某个区块的另一个区块进行证明 (实际上就是更改区块链历史);
- 通过对同一个区块的两个候选区块进行「双重投票」(double voting)。
如果检测到上述这些操作,验证者就会罚没。这意味着相当于其质押的 ETH 的 1/64 (最高可达 0.5 ETH) 将立即被销毁,然后一个为期 36 天的移除期开始了:在此期间,验证者的质押金将逐渐被削减;且在这段期间的中间点 (第 18 天),该验证者还将受到额外的惩罚,惩罚大小将与此次罚没事件发生之前的 36 天内所有被罚没的验证者的 ETH 质押总额成比例。
这意味着,当更多的验证者被罚没时,此次罚没的量级将会增加。最大的罚没是所有被罚没的验证者的全部有效余额 (也即,如果有大量验证者被罚没,那么他们可能损失全部的质押金)。另一方面,一个单独的、独立的罚没事件只会销毁验证者一小部分的质押金。这种随着被罚没验证者的数量而变化的中间惩罚被称为「串谋惩罚」(correlation penalty)。
Inactivity Leak 机制
如果信标链已经有超过 4 个 epoch 都没有被敲定,那么一个称为「inactivity leak」的经济机制将被激活。Inactivity leak 的最终目的是创造条件使区块链重新恢复敲定。如上文所解释的,「敲定」(finality) 需要 2/3 的 ETH 总质押金对「源检查点」和「目标检查点」达成共识。如果超过 1/3 的验证者离线或未能提交证明的证明,那么就不可能有 2/3 的绝对多数验证者来敲定检查点。
此时,Inactivity leak 机制会让属于这些不活跃的验证者的 ETH 质押金逐渐被削减,直到这些验证者控制的质押金少于网络中总质押金的 1/3,从而允许剩余的活跃验证者对区块链进行敲定。无论这些不活跃的验证者数量有多大,剩余的验证者最终都将控制 >2/3 的总质押金。这种质押金的削减将是一个强烈的刺激因素,激励不活跃的验证者尽快重新激活!
信标链设计中的奖励、惩罚和罚没鼓励了个体验证者正确行事。然而,从这些设计选择中出现了一个系统,它强烈地激励了验证者在多个XM外汇xmforextrade.com客户端之间的平等分配,并强烈地抑制这种由单个客户端占主导地位的情况。这是因为,「绝对多数制」对于信标链来说非常重要,单独一个恶意验证者对网络而言是相当无害的,但大量恶意验证者将可能造成严重破坏。