理解验证者的生命周期

时间:2024-09-30 编辑: 浏览:(207)

来源:attestant.io

作者:Jim McDonald

理解验证者 (Validator) 的生命周期

以太坊 2.0 使用权益证明来确保其网络安全性, 被称为“验证者”的计算机进程将对即将被打包的下一个区块进行投票(下文称“见证”),同时他们也会提议让自己的区块被打包进去。但是,验证者不是仅处于“开”与“关”的状态:他们会在他们的生命周期里历遍一系列的交易。这篇文章将深度剖析验证者的生命周期,展示每个状态和状态转换之际发生的事情,什么触发了状态转换,以及每次状态转换所需要的时间(注解 1)。

时间上的一个符号

在以太坊 2.0 里,时间通常是以 epoch 为单位,一个 epoch 包括了 384 秒即大概是 6 分半。为了方便理解,以这种方式计量的时间被粗略地翻译成分钟,小时和天,并伴有可用的准确信息在相对应的脚注里。

生命周期概览

在深入分析细节之前,先来看看验证者的生命周期概览,以及用来描述其不同状态的术语。

图表 1:验证者生命周期概览

以下是状态标签:

一个元状态同样被定义了: 见证, 即所有验证者要参与进来见证和提议区块的状态(活跃中,退出中的,罚没中)。这个状态是重要的,因为当验证者处于这些状态时需要去访问以太坊(Ethereum)2.0 网络来与其职责保持同步以免被惩罚。

图表 2:见证的元状态

定义了这些状态之后就是详细分析每一个状态以及它们之间的交易的时候了。

已存款的状态

接受存款协议就是验证者生命周期的开始。接受发生在以太坊 1.0 链上, 因为那就是验证者资金的来源。在这时以太坊 2.0 的链还不知晓这笔存款。

验证者会保持大概 7 个半小时在这个存款状态里(注解 2 ),以确保不会有一个链的重组影响到以太坊 1.0 交易并有可能使存款协议无效。这之后验证者就会去到待处理状态(注解 3 )。

图表 3 :从已存款状态转换到准备状态

待处理状态

一旦这笔存款在以太坊 1.0 的链上存在了足够长的时间后,它就会被添加到以太坊 2.0 的链上去。这标志着这个验证者已经正式被以太坊(Ethereum) 2.0 所认可。假如最少 32 个 ETH 已经被存进去的话(注解 4),验证者现在就会准备开始见证。

准备中的验证者会被放在一个队列里:以太坊(Ethereum) 2.0 一次只允许一小部分验证者开始或停止验证(注解 5),以保证验证者的集稳定。如果队列是空的则准备中的验证者会在大约 25 分钟后变成活跃状态(注解 6):如果这是一个非常繁忙的时段则有可能经过数天甚至数星期之后验证者才会被激活。但是一旦验证者从等候队列中出来,它就会变成活跃状态。

图表 4 :从准备状态到活跃状态的过渡

活跃中状态

验证者理应在活跃状态下度过它们主要的生命周期。活跃的验证者会以 6 分钟一次的频率参与当时的见证,偶尔还会有提议区块链的工作(注解 7)。验证者会保持活跃状态直到以下其中一种事情发生:

在前两种情况里,验证者被添加到希望停止验证的验证者队列里(将要离开活跃状态的验证者和将要进入活跃状态的验证者一样,数量是被限制的,大概几分钟才有 1 个)

图表 5:从活跃状态到正在退出状态的过渡

在第三种情况里,验证者被加入到一个被发现在作弊的验证者的队列里以接受惩罚。

图表 6:从活跃状态到罚没中状态的过渡

请注意,通过发送包括了相同验证者信息的额外存款协定来向一个活跃验证者充值额外的 ETH 是有可能会发生的情况(永远要记住有效的余额不能超过 32 个 ETH)。这有助于避免验证者的资金降到 16 个 ETH 以下并且被添加到退出队列的情况。

退出中的状态

当网络现有的验证者表明了自己想要停止验证的意图之后,无论他是自愿的还是非自愿的,他都不会马上这样做而是会进入退出中的状态,和以往的活跃状态一样继续同样多地参与见证和提议。这保证了网络的稳定性,避免了一个验证者决定离开时就马上停止履行职责的情况。

与一个验证者想要从准备状态变成活跃状态时类似,要离开的验证者要进入一个一次只能允许少数通过的一个队列。又和加入时类似,在退出中状态里花费的时间取决于验证者在队列里的排队数量。

图表 7:从退出中到已退出状态的过渡

罚没中(Slashing)状态

一个被发现作弊的验证者会马上受到 1 个 ETH 的惩罚,从余额里扣除。然后他会进入到一个罚没中的队列里去,这个罚没中队列类似于一个退出中队列,但是它会被标记为需要额外的惩罚,我们会在接下来的“已退出”状态里讨论这个问题。

图表 8:从罚没中状态过渡到已退出状态

一个验证者在退出中的时候以及甚至在退出之后都有可能被罚没(但在他能取回自己的资金之前)。这避免了这种情况的发生:验证者作弊之后,通过常规的退出机制,在自己的作弊行为被发现之前就退出,从而逃脱了惩罚。这带来了一个略微复杂的状态模型。

图表 9:扩展罚没条件

已退出状态

当一个验证者去到已退出状态,他就已经正式完成了自己的使命。他不用再参与见证或提议区块,并且不再需要拥有关于以太坊 2.0 链的状态信息。

在退出之后,在资金能被转离验证者之前有一个大约 1 天(注解 8)的最后延迟。但是,如果这个验证者被标记为经过了罚没中状态,那么他会承受两个额外的惩罚。

第一,在已退出状态里能转移资金之前花费的时间会更长,是 36 天(注解 9)。第二,在这个 36 天周期的中途,他会承受进一步的扣款,扣款金额取决于这个验证者被发现作弊之前 18 天被罚没的验证者数量以及这个验证者被发现作弊之后的 18 天被罚没的验证者数量。下图展示了一个验证者的有效余额损失(注解 10)的总百分比

图表 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,无论该名验证者的真实余额如何。

最新 更多 >
  • 1 DOT波卡币的合规性和法规如何?

    DOT波卡币的合规性和法规如何?随着加密货币的流行和发展,越来越多的人开始关注数字资产的合规性和法规。DOT波卡币作为一个新兴加密货币,也需要符合合规性和法规要求。本文将探讨DOT波卡币的合规性及其所需符合的法规。数字资产牌照在数字资产领域合规的第一步是获得相应的数字资产牌照。DOT波卡币的合规性要求发行方和交易平台必须遵守当地的金融监管机构所规定的监管要求,并获得相应的牌照。这些牌照通常需要通过

  • 2 TON币的官方新闻和更新在哪里可以找到?

    TON币的官方新闻和更新TON(Telegram Open Network)是著名的通信应用Telegram推出的区块链项目,其背后的加密数字货币为TON币。作为一种新兴加密货币,TON币在全球范围内受到了广泛的关注和追捧。为了及时了解TON币的最新动态、官方新闻和更新,以下是一些可靠的信息源。1. TON的官方网站TON的官方网站是获取最新新闻和更新的首选渠道。在官方网站上,你可以找到关于TON

  • 3 比特币挖矿是如何工作的?

    比特币挖矿是如何工作的?比特币挖矿是指通过解决一系列数学难题来创建新的比特币并验证比特币交易的过程。这个过程还有助于保持比特币网络的安全性和可靠性。下面将详细介绍比特币挖矿的工作过程。1. 挖矿基础知识比特币的挖矿基于所谓的工作量证明(Proof of Work)机制,它通过解决一个复杂的数学问题来证明矿工所投入的计算资源和算力。由于这个问题的难度非常大,需要大量的计算资源才能解决。2. 比特币区

  • 4 FIL币的代码是否开源?

    FIL币的代码是否开源? FIL币(Filecoin)是一种基于区块链技术的数字货币,旨在构建一个分布式存储和数据检索网络。作为一个开源项目,FIL币的代码是公开可查的,使所有人都可以查看、审查和贡献代码。开源软件是指可以在公共领域中免费使用、查看、共享和修改的软件。开源的核心原则是透明、可信任和共享,这也是区块链技术中的重要特征。FIL币的开源代码使得任何人都能够查看其代码库,以理解其工作原理、

  • 5 几大数字货币

    几大数字货币的概述近年来,随着区块链技术的发展和数字化货币的兴起,越来越多的数字货币开始吸引人们的关注。在众多的数字货币中,有几个被广泛认可为最重要的。在本文中,我们将探讨比特币、以太坊和莱特币等几大数字货币。比特币比特币是由中本聪(Satoshi Nakamoto)在2009年创建的第一种数字货币。它是基于区块链技术的去中心化电子现金系统,可以实现全球范围内的点对点交易。比特币的创新之处在于,不

  • 6 TRX波场币的创始人Justin Sun是谁?

    Justin Sun是谁?Justin Sun,全名孙宇晨,是TRON(波场币)的创始人和首席执行官(CEO),也是区块链行业的重要人物之一。出生于中国浙江省的一个小城市,孙宇晨在短短几年内迅速崛起,并在区块链行业取得了巨大的成功。年轻的创业家Justin Sun在清华大学毕业后就开始了他的创业之旅,他在2013年受到了比特币的启发,并对区块链技术产生了浓厚的兴趣。在他的职业生涯早期,孙宇晨是互联

  • 7 TON币是否有计划支持更多的钱包?

    TON币是否有计划支持更多的钱包?当前加密货币领域正以迅猛的速度发展,越来越多的数字资产钱包涌现,以满足不同用户的需求。在这一激烈的竞争环境下,TON币是否有计划支持更多的钱包?本文将探讨这个问题。首先,我们需要了解TON币是什么。TON币(Telegram Open Network Coinge)是由电报公司(Telegram)发行的代币,是电报公司计划推出的区块链网络——电报开放网络(TON)

  • 8 MATIC币的测试网在哪里可以访问?

    测试网 在加密货币领域,测试网是一个模拟真实网络的环境,用于开发和测试区块链项目的功能和性能。而对于MATIC币(MATIC)来说,也有一个专门的测试网供开发者和持有者使用。目前,MATIC币的测试网是Matic Testnet。通过访问Matic Testnet,您可以尝试使用MATIC币进行交易,测试不同的智能合约功能,并评估整个网络的可扩展性和性能。要访问Matic Testnet,需要做以

  • 9 上海数字货币哪里可以用

    上海数字货币的使用范围与方式随着数字货币的快速发展,上海作为中国的经济中心城市,也逐渐开始融入数字货币的使用。上海的数字货币使用范围越来越广泛,以下是一些常见的使用方式:1. 线上商家和服务提供商上海的许多线上商家和服务提供商已经开始接受数字货币作为支付方式。无论是购买商品、订购服务,或者是在线预订酒店、机票等,数字货币都成为了一种方便快捷的支付方式。通过扫描商家提供的二维码,消费者可以直接使用数

  • 10 DOT波卡币是否有中文社区支持?

    DOT波卡币是否有中文社区支持?随着加密货币市场的快速发展,在全球范围内涌现出了许多令人耳目一新的数字资产。波卡币(DOT)作为其中之一,以其创新的设计和强大的功能而备受瞩目。那么,DOT波卡币是否有中文社区支持呢?首先,让我们了解一下DOT波卡币。DOT是波卡网络的本土代币,波卡网络是一个开放的多链网络,旨在实现不同区块链之间的互操作性和可扩展性。波卡网络基于Substrate框架构建,具有高度