科普 | Eth2 验证者的生命流程
以太坊 2.0 使用权益证明机制来保护网络,也就是由许多叫做 “验证者” 的计算机线程来投票决定哪一个区块能够上链(即所谓的 “attesting”,作见证),当然也会自己提出备选区块。不过,验证者不是仅仅只有 “开” 和 “关” 两种状态:从成为验证者到退出验证者的整个生命周期中,其状态会经过多次转换。本文会深入研究验证者的生命周期,展示各阶段和转换过程的实质、如何触发转换,以及每种转换的历时 1 。
先说明一下时间单位
以太坊 2.0 中的时间通常是用 “epoch(时段)” 这种单位来度量的,1 个时段是 384 秒,也就是六分半钟。为便于理解,基于这一度量的时间我都转化成了以分钟、小时、天为单位,并在附录的脚注中提供详细信息。
验证者生命周期概述
在深入细节以前,我们先来看看验证者生命周期的概况、了解一下用于表述不同状态的术语。
- 已存入保证金 (Deposited): 保证金要约 已被以太坊 1.0 区块链打包
- 等待激活 (Pending):保证金要约被以太坊 2.0 网络接受
- 活跃 (Active):验证者要见证区块及提议区块
- 即将退出 (Exiting):验证者即将停止见证及提议区块
- 被罚没 (Slashing):因为作弊被抓,验证者停止见证和提议区块
- 完全退出 (Exited):验证者完全退出,不再参与任一流程
保证金存入阶段
保证金要约被接受是验证者生涯的开始;这个接受过程是在以太坊 1.0 链上发生的,因为验证者资金原本就放在以太坊 1.0 链上。但 1.0 链接受之时,2.0 链还不能感知到这笔存款。
验证者的保证金存入阶段大概要历时 7.5 个小时 2 ,以保证链重组影响到 Eth1 交易的顺序乃至保证金要约无效化的概率足够小。这个阶段完成后,验证者就进入等待激活阶段 3 。
等待激活阶段
保证金在 Eth1 链上存入足够久之后,它就会被 Eth2 链接受。这标志着验证者正式开始接受 Eth2 的组织。假设一位验证者存入了至少 32 ETH 4 ,那么 TA 就可以开始作见证了。
等待激活的验证者会组成一个队列:在一个时间点,Eth2 链上能激活和能退出的验证者数量都是一个比较小的数量(所以要排队) 5 ,以保证验证者集合的稳定性。如果队列是空的,那么等待激活的验证者会在大约 25 分钟以后激活 6 ;如果队列很长,那可能要几天甚至几周才能激活。不过,排完队之后,验证者就可以直接激活、参与见证。
活跃阶段
一般来说,一名验证者的绝大部分时间都处于这个阶段。活跃验证者大约每 6 分钟要发出一条见证消息,偶尔要自己提议区块 7 。验证者会一直保持在活跃状态,除非出现下列三种情况:
- 该验证者因没有及时发出见证消息而遭受惩罚,最终其余额低于 16 ETH
- 该验证者主动要求退出,方法是发送相应的一笔交易(在刚激活的 9 天内不能发出此种交易)
- 该验证者被证明作恶
即将退出阶段
虽然主动退出的验证者表达了停止验证的意愿(不论是自愿还是被迫的),但是,他们是不能立即退出的。相反,虽然处于即将退出状态,他们还是要照常承担职责,跟活跃状态时候一样要见证和提议区块。这样保证了网络的稳定性,避免了验证者立即退出会造成的冲击。
就像验证者想激活的时候有个等待激活状态和队列,想要退出的验证者也有一个队列,一段时间里仅允许少量验证者退出。同样地,主动退出阶段要花费的时间取决于排在前面的验证者有多少。
被罚没状态
验证者违反协议后被抓,就要立即被罚没 1 ETH(从其余额中扣除),然后进入被罚没状态,这跟即将退出状态类似,但是还要遭受惩罚。这一点我们在下文的 “完全退出” 部分讨论。
完全退出
转到完全退出状态之时,验证者就正式结束了自己的工作,不再需要见证和提议区块,也不再需要紧跟 Eth2 区块链的实时动态了。
转成完成退出状态之后,大概还有一天的延迟 8 ,之后才能取出验证者余额。不过,如果一个验证者是从被罚没状态中完全退出的,那还要接受两项额外的惩罚。
第一项,从完全退出到能够取款的间隔会长得多,要 36 天 9 。第二项,在这 36 天期间,系统还会根据该验证者作恶被抓的时间点前后 18 天内被罚没的验证者数量对该验证者施加进一步的惩罚。那么该验证者的有效余额损失比例 10 将如下图所示:
从这个生命流程图中可以看出,没有额外的机制让一个完全退出的验证者重新激活。因此,一旦某个验证者退出,其资金就会一直休眠,等待验证者前来取走。不过,Eth2 Phase 0 时候,资金是不能转账的 —— 因此所有完全退出的验证者的资金都仍保存在质押系统中,直至开启转账功能。没有转账功能,是因为用户帐户模式还未引入。
补充后的验证者生命流程
把上面所有详细信息补充到流程图中,可以得到一个完整的图:
(完)
注 1:要注意的的是,以太坊 2.0 的规范没有一个显式的状态机,因此,各阶段的名称都是作者为便于描述而给出的。
注 2:1024 个以太坊 1.0 区块的时间加上 32 个以太坊 2.0 的时段。
注 3:这里假设验证者存够了 32 ETH。如果没有存够,则该验证者会一直停留在保证金存入阶段,直到该验证者另外发起保证金要约,使其余额超过 32 ETH。
注 4:如果不到 32 ETH,那还可以另外再存入,提高该验证者的余额。
注 5:每个时段有 (激活验证者数量 + 主动退出验证者数量 + 被罚没验证者数量)/63356 个名额,下限是 4 个。
注 6:即 4 个时段的长度。
注 7:每一个验证者都需要在一个时段中的某个时隙(slot)发出见证消息,而每一个时隙都会有一名验证者被随机选中作为区块提议者。
注 8:256 个时段。
注 9:8192 个时段。
注 10:注意,罚没力度最高是 100% 的有效余额,但有效余额的上限是 32 ETH,无论该验证者的实际余额是多少。
(完)
原文链接: https://www.attestant.io/posts/understanding-the-validator-lifecycle/
作者: Jim McDonald
翻译: 阿剑
本文由作者授权 EthFans 翻译及再出版。
XRP ETFs Set for 2025 Greenlight as Gensler Exits and Atkins Takes Charge
The post XRP ETFs Set for 2025 Greenlight as Gensler Exits and Atkins Takes Charge appeared first on...
XRP Price Gears Up: Is a Fresh Rally on the Horizon?
XRP price started a fresh surge above the $2.50 level despite pressure on Bitcoin. The price is stil...
Crypto Market Today Jan 13: Bitcoin Stuck in Range, Altcoins Slide Amid Market Pressure
Crypto market today is stuck in the zone, with Bitcoin trading steadily between $92K and $96K. Altco...