科普 | 探索以太坊 2.0 的验证者成本
撰文:Jim McDonald
翻译:Jhonny
来源:Unitimes
当以太坊 2.0 信标链在今年晚些时候启动时,它将需要验证者 (validators) 来保护网络。运行验证者会带来潜在的奖励和惩罚;一个常见的问题是「通过参与验证我能赚多少钱 ?」,这个问题的答案需要两个信息:一是验证者能赚多少钱,二是验证者的成本需要多少钱。本文关注的是第二个问题。
回顾一下,运行以太坊 2.0 信标链节点软件 (以下简称「节点」) 将需要:
- 一台能够在上面运行节点 (以及相关联的验证者客户端软件) 的计算机;
- 连接网络,从而与其他节点相互通信,使节点具有信标链状态的最新信息;且
- 计算机和网络都需要保证有足够长的正常运行时间,这样验证者就能够在被需要时参与证明并获得奖励。
当运行验证者时,存在三个主要的成本源:设置成本、基础设施成本、运营成本。设置成本是预先一次性支付的,不会累计;基础设施成本是按月支付的,每个月大致不变;运营成本也是按月支付的,但每个月之间的变化可能非常大。随着时间的推移,预计验证者成本的变化如下图所示 (备注:本文的成本分析是推测和虚构性的,因为当前信标链还未启动) :
图 1:随着时间的推移,验证者成本的变化,绿色表示设置成本,红色表示基础设施成本,蓝色表示运营成本
成本通常被认为是纯粹的金钱支出,但在管理长期基础设施时也涉及机会成本。
机会成本是你做一件事而不是做另一件事所产生的成本:如果你工作两小时可以得到 100 美元,但你选择在这两小时里看一部电影,你看那部电影的机会成本是 100 美元。另一种看待机会成本的方法是问问你有多珍惜你的时间:如果你不选择花三小时的时间去更换你的硬盘驱动器,而是选择花半天的时间在数百种可用的服务器中挑选一个,那你做这个选择会付出多少时间成本呢?本文中提及的时间成本是指机会成本;个人和公司需要对这段时间的价值做出自己的判断。
我们来对上文提及的三个成本源进行逐个分析一下:
设置成本
设置成本 (setup costs) 是指你为了在信标节点上运行验证者,需要在选择、搭建、配置和测试硬件、操作系统和软件方面所花费的时间成本。01. 选择硬件
可以用来运行节点的硬件有非常多,最基本的要求是硬件需要足够强大,能够运行节点软件,并且足够可靠,不需要经常维护。除此之外,有许多可能需要做出的决定会影响你的选择,比如服务器的外形尺寸,运行时的噪音有多大 (如果服务器放在家里,这点就很重要了),其能耗如何等等 (更多信息见下文)。你可能会决定使用主机托管提供商提供的服务,但许多相同的问题仍然存在。比如,服务商有多少 CPU?它们有多快?应该选择多少内存和多大的存储空间?应该把额外的钱花在专用服务器上,而不是虚拟专用服务器上?选择独立磁盘,软件 RAID 还是硬件 RAID?网络带宽如何?
尽管使用主机托管提供商意味着你是从提供商那里租用服务器,而不是从供应商那里购买服务器,但是上面的大多数决定仍然是需要你做出的。
02. 选择操作系统
有两个操作系统的选择:基于 Windows 和基于 Linux。它们都有许多产品和 / 或发行版,提供不同的特性,需要不同水平的专业知识来操作等等。安全性和正常运行时间至关重要,可维护性紧随其后。操作系统没有明显的「最佳」选择,所以选择通常归结为熟悉程度和特性的组合。03. 选择软件
在撰写本文时,以太坊 2.0 信标链节点软件有 6 种不同的实现,处于不同的准备状态。除了使用不同的语言编写之外,它们通常还针对不同的市场:有些提供在低端硬件上的出色体验,有些提供运行数十或数百个验证者所需的特性,等等。软件的选择应该以先前选择的硬件和操作系统作为引导,并需要了解将要运行的验证者数量。需要对每个软件实现进行评估,以确定哪个最合适 (备注:比如有些信标节点软件实现要比其他实现更合适运行多个验证者实例,需要对此进行评估)。
04. 对硬件、操作系统和软件进行配置
一旦选出了硬件、操作系统和软件,就需要对它们进行配置了。这将需要设置 (安装和启动软件) 和锁定 (删除不必要的软件,将打开的端口关闭等等)。配置自动化的操作系统更新、添加监控和类似功能可以帮助降低未来的维护成本。
基础设施
基础设施成本是相对固定的,按月支出。01. 折旧成本
折旧成本是运行验证者服务时的一笔很大的成本,它是指运行验证者过程的计算机的成本分散在一段时间内 (考虑到其寿命)。对于计算机设备,时间周期一般为 36 个月,因此每月的折旧成本费用计算如下:折旧成本 = 硬件成本 /36
比如,一台普通的台式电脑可能要 600 美元,所以每月的折旧成本是:
折旧成本 = 600/36 = 16.66 美元
02. 电力成本
电力成本是一种经常性的成本支出,而且高度依赖于所使用的硬件。以太坊 2.0 的验证者需要一直在线才能获得最大的奖励,所以电费会增加。耗电量 (功率) 以瓦特 (Watts) 计算,电费通常以千瓦时 (KWh) 计,即每小时一千瓦的用电量。每月费用计算如下 :电力成本 = 耗电量 * 用电时长 * KWh 成本
比如,普通台式电脑的耗电量为每小时 150 瓦 (0.15 千瓦),参考电价 (KWh) 约为 0.10 美元,每月电费 (假设每月 30 天) 为:
电力成本 = 0.15 * 24 * 30 * 0.10 = 10.8 美元。
03. 网络连接成本
家庭网络连接的网络费用通常是每月固定费用,这使得它们很容易计算。此外,网络通常是共享的资源,其他系统共享相同的连接,并允许共享成本。然而,许多服务器托管提供商采用按 GB 付费的模式,其中使用的数据越多,月末的收费就越高。节点想要更好地掌握以太坊 2.0 信标链的状态,并获得最高的奖励,则需要与其他节点尽可能多地进行通信,但由于这种按 GB 付费的模式,节点与之通信的的节点越多,来自托管提供商的费用就越多。最终,需要考虑增加的成本和增加的回报来选择一个合适的平衡。
04. 操作系统成本
可以在 Windows 或基于 Linux 的操作系统上运行以太坊 2.0 节点。对于许多人来说,前者更为熟悉,但是需要支付许可证费用。如果操作系统是购买的,那么其折旧成本将可以根据硬件的折旧成本计算方式进行计算。
运营成本
与基础设施成本类似,运营成本也是按月支付的,但运营成本的规模可能每月发生显著变化。原因在于需要执行的工作是不定期发生的,且当它发生时,其成本将是很大的。例如,升级一个操作系统可能需要几个小时,而且每六个月更新一次;不可能将这一时间分散到每个月花半小时。01. 维护硬件 / 操作系统 / 软件
硬件故障、磁盘满员、软件生命周期结束:这些事实意味着,有时需要采取行动来确保节点继续运行。维护成本分为两类:进行维护所花费的时间,以及维护期间的资金损失。为了尽量减少这两者的发生,最好定期进行预防性维护;然而,这将需要监控系统,而监控系统本身也是需要管理和维护的。
很容易花费大量时间来进行维护活动,因此能够准确地计算维护所花费的时间,以确保维护的成本与此期间内可以获得的验证者奖励成比例,这是很重要的。
02. 软件升级
以太坊 1.0 网络在过去几年中已经表明,节点需要不时地升级。有时是为了响应 bug,有时是为了实现协议更改、提高性能等等。升级与维护类似,只是升级可以提前计划,以便在节点运营者最方便的时候进行。03. 节点实现的重新评估
节点软件不会停滞不前,搭建软件的公司也不会。例如,Parity 团队最近宣布他们将不再支持他们的以太坊 1.0 客户端,而一些公司已经使用该客户端很多年。随着节点实现的变化,重新评估它们的特性和性能将是非常重要的,以便在更合适时切换到不同的实现。
成本的增长
上文所述的成本是基于你运行固定数量的验证者的情况下考量的,那如果你想要在之后的某个时间增加运行更多的验证者实例呢?成本会有何变化?在阶段 0 期间,大多数的工作都是由信标节点来执行的,验证者只是对偶尔出现的数据段进行签名。因此,不管你运行的验证者的数量有多少,总体成本仍然相对稳定,只是偶尔需要购买新的基础设施。
图 2:阶段 0 期间增加验证者的预计成本增长趋势
阶段 1 将为验证者引入更多的工作,因此随着你运行的验证者数量的增加,这将导致需要额外的服务器。因此,由于需要购买、配置和维护新的服务器,成本将更频繁地增加。
图 3:阶段 1 期间增加验证者的预计成本增长趋势
阶段 2 将为每个验证者引入非常大的工作量,因此将导致每个服务器将只能运行相对少的验证者数量。这意味着,随着你运行的验证者实例的增加,相应的成本将更加可能与之保持一致。
图 4:阶段 2 期间增加验证者的预计成本增长趋势