分享百科

共识层

共识层

以太坊从工作量证明转向权益证明 后,以太坊协议开始有两个核心部分组成:共识层(Consensus Layer)和执行层(Execution Layer),它们承担着不同的功能和任务。

共识层负责确保网络的安全性和完整性。使所有参与者能够就网络的当前状态达成一致,并就应将哪些交易添加到下一个区块达成共识。

共识层的工作有几个部分:成为验证者,参与见证和出块,作恶惩罚。

工作原理

在 PoS 中,验证者是关键参与者。他们质押 32 ETH 作为抵押品来参与保护网络安全。 存入以太币时,用户会进入一个验证者激活队列,激活后,验证者需要同时运行执行客户端、共识客户端来进行区块验证及出快,验证者会从以太坊网络上的对等节点接收新区块。 并对一些区块检查并签名投票以确认区块是有效的(称为见证)。

以太坊上的时间以12秒为一个单位计数,称为“slot”。 32个 slot 组成一个epoch,epoch 可以理解为一个完整的回合( epoch 大约 6.4 分钟)。在每个回合的开始,整个验证节点小组被随机(利用RANDAO进行随机分配)分成32个委员会,对应于即将到来的epoch的32个slots。

将验证者集合划分为若干个委员会对于保持网络负荷易于管理非常重要。 委员会将验证者集合分成不同部分,每个slot都有一个专门分配的委员会,以便每个活跃的验证者在每个 epoch 都会出示证明,而不需要每个 solt 都这样做。

在每个Slot中,会从委员会随机选择一位验证者作为区块提议者。 该验证者负责创建新区块并发送给网络上的其他节点。如果某个验证者未能保持在线并执行其计算职责,那该验证者的区块奖励将会适度减少,以此来激励验证者尽可能地保持在线。如果某个验证者试图恶意地攻击网络 (即验证不正确的数据历史),那该验证者的所有或部分质押的 32 ETH 将被罚没。

每个 epoch 结束时,验证者会对前一个 epoch 的提议和证明进行评估。这种评估会影响验证者的奖励和惩罚。并使用最终性检查点(finality checkpoints)来确认区块链的状态。每个 epoch 的第一个区块通常被用作一个检查点。通过“检查点”区块来管理最终确定性。如果检查点吸引了至少代表质押 ETH 总量三分之二的选票(经过两个 epoch ),那么检查点就会升级为Finalized。

因为只有一部分活跃验证者在每个 slot 中进行证明,但所有活跃验证者都在每个 Epoch 中进行证明。因此,在经过2 个Epoch才能证明“绝对多数投票”(即网络上质押 ETH 总量的 66% 在两个检查点上达成一致)。

在区块链浏览器上,通常显示 3 个状态:Unfinalized -> Safe (经过一个Epoch) -> Finalized(经过二个Epoch)

✍️更新/纠错
登链社区