原文标题:《UnderstandingTheValidatorLifecycle》
原文作者:JimMcDonald
原文编译:John
理解验证者(Validator)的生命周期
以太坊2.0使用权益证明来确保其网络安全性,被称为「验证者」的计算机进程将对即将被打包的下一个区块进行投票,同时他们也会提议让自己的区块被打包进去。但是,验证者不是仅处于「开」与「关」的状态:他们会在他们的生命周期里历遍一系列的交易。这篇文章将深度剖析验证者的生命周期,展示每个状态和状态转换之际发生的事情,什么触发了状态转换,以及每次状态转换所需要的时间。
时间上的一个符号
在以太坊2.0里,时间通常是以epoch为单位,一个epoch包括了384秒即大概是6分半。为了方便理解,以这种方式计量的时间被粗略地翻译成分钟,小时和天,并伴有可用的准确信息在相对应的脚注里。
生命周期概览
在深入分析细节之前,先来看看验证者的生命周期概览,以及用来描述其不同状态的术语。
图表1?:验证者生命周期概览
以下是状态标签:
美国白宫和共和党据悉讨论将债务上限延长至2024年:金色财经报道,Punchbowl援引多个消息来源称,美国白宫和众议院共和党人正在讨论一项债务上限协议,该协议将提高政府的借款上限直到2024年底,这将激励国会通过所有年度支出法案。[2023/5/25 10:40:27]
已存款-存款协议已被以太坊?1.0网络接受
待处理-存款协议已被以太坊?2.0网络接受
活跃中-验证者正在见证和提议区块
退出中-验证者正处在中止见证和提议区块的进程
罚没中-验证者被发现作弊,正处在中止见证和提议区块的进程中
已退出-验证者不再参与见证
一个元状态同样被定义了:见证,即所有验证者要参与进来见证和提议区块的状态。这个状态是重要的,因为当验证者处于这些状态时需要去访问以太坊?2.0网络来与其职责保持同步以免被惩罚。
图表2?:见证的元状态
定义了这些状态之后就是详细分析每一个状态以及它们之间的交易的时候了。
已存款的状态
接受存款协议就是验证者生命周期的开始。接受发生在以太坊1.0链上,因为那就是验证者资金的来源。在这时以太坊2.0的链还不知晓这笔存款。
Polygon ID 身份基础设施工具完成三项更新:5月3日消息,Polygon 发推称,对 Polygon ID 身份基础设施工具进行三项更新,开发者可以更轻松地将 DID 集成到 DApp 中。其一,与现有工具和项目集成,借助 SelectiveDisclosure 功能,开发者将有权共享凭证中的选定字段,实施新的用例。新的 JS SDK 使开发者能够在多个设备(Web 钱包、浏览器扩展程序等)中创建身份客户端,该 SDK 包括凭证发行功能,允许从本地设备进行无服务器发行。其二,改进用户体验,新的发行人节点用户界面使设置、管理和使用发行人节点更加容易。在终端用户方面,现在移动端 SDK 和参考实施应用程序(Polygon ID 钱包)中支持推送通知。其三,为开发者提供新工具,包括 JWZ Validator、部署在 PoS 主网上的 Polygon ID 智能合约、移动端 SDK 的 Android 和 React 版本与在 W3C 注册的 DID。[2023/5/3 14:40:07]
验证者会保持大概7个半小时在这个存款状态里,以确保不会有一个链的重组影响到以太坊1.0交易并有可能使存款协议无效。这之后验证者就会去到待处理状态。
图表3:从已存款状态转换到准备状态
上周至今ARK基金累计增持超2300万美元的Coinbase股票:金色财经报道,数据显示,2月19日至今,ARK方舟基金累计增持394519股Coinbase股票(COIN),按当前价计算,价值约2305万美元。截止周五收盘,COIN收盘报58.44美元。[2023/2/26 12:30:28]
待处理状态
一旦这笔存款在以太坊1.0的链上存在了足够长的时间后,它就会被添加到以太坊2.0的链上去。这标志着这个验证者已经正式被以太坊(Ethereum)2.0所认可。假如最少32个ETH已经被存进去的话,验证者现在就会准备开始见证。
准备中的验证者会被放在一个队列里:以太坊,以保证验证者的集稳定。如果队列是空的则准备中的验证者会在大约25分钟后变成活跃状态:如果这是一个非常繁忙的时段则有可能经过数天甚至数星期之后验证者才会被激活。但是一旦验证者从等候队列中出来,它就会变成活跃状态。
图表4:从准备状态到活跃状态的过渡
活跃中状态
验证者理应在活跃状态下度过它们主要的生命周期。活跃的验证者会以6分钟一次的频率参与当时的见证,偶尔还会有提议区块链的工作。验证者会保持活跃状态直到以下其中一种事情发生:
英国央行:元宇宙加密货币的使用增加系统风险:8月9日消息,英格兰银行的工作人员表示,在一个完全发达的元宇宙中广泛采用加密资产可能会对金融稳定构成系统性风险,并且需要“强有力的消费者保护”框架。英国央行研究人员Owen Lock和Teresa Cascino在周二发表的一篇博文中表示,一旦建成,去中心化的数字世界和平台可以承载大量通过BTC和ETH等加密代币进行的现实世界经济交易。这些加密交易的数量越大,如果价格暴跌,对现实世界金融稳定的潜在影响就越大。
加密资产在开放元宇宙中的重要性意味着,如果开放和去中心化的元宇宙增长,来自加密资产的现有风险可能会扩大到产生系统性金融稳定后果。因此,重要的一步是监管机构在加密资产达到系统状态之前解决它们在元宇宙中使用的风险。(BNN)[2022/8/10 12:13:53]
验证者由于在需要其参与见证时没有履行职责被惩罚,导致资金下降到16个ETH以下。
用户通过发送一笔合适的交易来要求停止验证。
验证者被证明作弊。
在前两种情况里,验证者被添加到希望停止验证的验证者队列里
图表5?:从活跃状态到正在退出状态的过渡
在第三种情况里,验证者被加入到一个被发现在作弊的验证者的队列里以接受惩罚。
贝莱德已向SEC申请创建一个循环储备基金,Circle Reserve Fund为主要投资目标:金色财经报道,据贝莱德于2022年5月26日提交给美国证券交易委员会(SEC)文件显示,贝莱德已向美国证券交易委员会申请创建一个循环储备基金,Circle Reserve Fund是一系列 BlackRock Funds SM的投资目标,其投资目标是寻求与流动性和本金稳定性相一致的当期收益。这可能不会对Circle的储备产生太大影响。然而,这意味着Circle资产的到期期限可能会从目前的最长3个月延长至约1年。
此外,文件中提到该基金可能会投资于美联储的RRP工具,但美联储仍需批准他们作为交易对手方。该基金的最低初始投资为100亿美元,因此推测,Circle打算将其投资组合中的至少一部分重新分配到该基金中。在其约550亿美元的资产中,它目前拥有420亿美元的国债投资组合。[2022/8/4 12:02:54]
图表6?:从活跃状态到罚没中状态的过渡
请注意,通过发送包括了相同验证者信息的额外存款协定来向一个活跃验证者充值额外的ETH是有可能会发生的情况。这有助于避免验证者的资金降到16个ETH以下并且被添加到退出队列的情况。
退出中的状态
当网络现有的验证者表明了自己想要停止验证的意图之后,无论他是自愿的还是非自愿的,他都不会马上这样做而是会进入退出中的状态,和以往的活跃状态一样继续同样多地参与见证和提议。这保证了网络的稳定性,避免了一个验证者决定离开时就马上停止履行职责的情况。
与一个验证者想要从准备状态变成活跃状态时类似,要离开的验证者要进入一个一次只能允许少数通过的一个队列。又和加入时类似,在退出中状态里花费的时间取决于验证者在队列里的排队数量。
图表7?:从退出中到已退出状态的过渡
罚没中状态
一个被发现作弊的验证者会马上受到1个ETH的惩罚,从余额里扣除。然后他会进入到一个罚没中的队列里去,这个罚没中队列类似于一个退出中队列,但是它会被标记为需要额外的惩罚,我们会在接下来的「已退出」状态里讨论这个问题。
图表8?:从罚没中状态过渡到已退出状态
一个验证者在退出中的时候以及甚至在退出之后都有可能被罚没。这避免了这种情况的发生:验证者作弊之后,通过常规的退出机制,在自己的作弊行为被发现之前就退出,从而逃脱了惩罚。这带来了一个略微复杂的状态模型。
图表9?:扩展罚没条件
已退出状态
当一个验证者去到已退出状态,他就已经正式完成了自己的使命。他不用再参与见证或提议区块,并且不再需要拥有关于以太坊2.0链的状态信息。
在退出之后,在资金能被转离验证者之前有一个大约1天的最后延迟。但是,如果这个验证者被标记为经过了罚没中状态,那么他会承受两个额外的惩罚。
第一,在已退出状态里能转移资金之前花费的时间会更长,是36天。第二,在这个36天周期的中途,他会承受进一步的扣款,扣款金额取决于这个验证者被发现作弊之前18天被罚没的验证者数量以及这个验证者被发现作弊之后的18天被罚没的验证者数量。下图展示了一个验证者的有效余额损失的总百分比
图表10?:在大致相同的时间里,被罚没的有效余额与网络被罚没验证者数量的百分比对比
一旦36天到期,被罚没的验证者们的剩余资金就可以被转移了。
正如生命周期图表里所能看到的一样,一个已退出的验证者无法再通过任何机制重新进入活跃状态。就是说,一旦一个验证者退出了,他的资金会在被转移之前保持休眠状态。注意,你无法在以太坊2.0的0阶段转移资金-所有已退出的验证者的资金会一直保留在验证者中,直至资金转移操作被引入。缺少转移操作的原因是缺乏可以转移ETH的用户账户。
扩展的验证者生命周期
结合以上所有信息考虑将带来一副更加全面的验证者生命周期图景
图表11?:扩展的验证者生命周期
了解不同状态之间的转换所要求的条件以及消耗的时间,对于确保以太坊2.0质押基础设施的成功运行至关重要。从一开始的存款到资金的提出,生命周期展现了每个状态里可能发生的事情并对验证者在任何时候的行为进行了明确的解释。
脚注
脚注1?:值得注意的是,以太坊2.0并没有设置一个明确的状态机制;也就是说,状态的名字是笔者提出来方便理解的。
脚注2?:?1,?024个以太坊1.0的区块加32个以太坊2.0的epoch。
脚注3?:这假设了存款协议需要完整的32个ETH。要是存款协议少于这个阈值,验证者将停留在已存款状态中,直到有更多的存款协议把验证者的余额提高到至少32个ETH。
脚注4?:若不,则另一笔存款可以被添加以增加这个验证者的余额到这个数量。
脚注5?:每epoch为(活跃中+退出中+罚没中的验证者)/65536?,最小值为4?。
脚注6?:?4个epoch。
脚注7?:每一个epoch内一个验证者只能见证一次,每一个slot内只有一个指定的验证者履行提议者的职责。
脚注8?:?256个epoch
脚注9?:?8192个epoch
脚注10?:注意因为惩罚最高可达到有效余额的百分之百,一个验证者的最大惩罚永远不会超过32个ETH,无论该名验证者的真实余额如何。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。