ETH2 Staking 指南 :客户端多样性为何如此重要

  • 时间:
  • 浏览:16
  • 来源:区块链技术网

作者 |Carl Beekhuizen

翻译&校对 | 闵敏&阿剑

来源 | 以太坊爱好者

免责声明:本文没有贬低任何一个客户端。每个客户端,甚至是规范,可能都存在不足和漏洞。ETH 2.0 是一个复杂的协议,实现这个协议的人也都是肉体凡胎。本文旨在强调如何以及为何要降低风险。

随着 Medalla 测试网上线,官方团队鼓励人们对不同的客户端进行实验。从创世的那一刻起,这么做的重要性便凸显出来:Nimbus 和 Lodestar 节点因无法处理测试网的负载量而卡住[0][1]。结果,Medalla 在上线半个小时内无法敲定区块。

在北京时间 8 月 15 日,由于 Prysm 客户端用来作为参照的时钟服务器突然出现偏差,Prysm 节点的时钟提前了 4 小时。因此,这些节点一直在为超前的 slot 创建区块和见证消息。等这些节点的时钟恢复正常后,那些禁用了默认罚没保护机制的验证者发现自己遭到了罚没。

若想了解更详细的情况,我强烈推荐你阅读 Raul Jordan 的《ETH2 Medalla 测试网事故》一文(编者注:见文末超链接)。

时钟故障——情况恶化

出现时钟偏差时,Prysm 节点占全网节点的 62% 左右。这就意味着,网络无法达到敲定区块所需的最低参与率(> 2/3)。更糟糕的是,这些节点找不到它们所预期的区块链顶端(历史记录中有长达 4 小时的 “空白”,而且所有 Prysm 节点的时钟之间都存在细微偏差),因此这些节点都在猜测 “缺失” 数据,创建了很多短的分叉链,造成网络拥堵。

-目前,在 Medalla 测试网的所有节点中,Prysm 节点占比高达 82% !(ethernodes.org)-

这时,网络上充斥着成千上万个关于区块链顶端的猜测,而且还在不断增加之中,为了辨别哪个分叉是正确的,所有客户端都开始不堪重负。这就导致节点出现停滞不前、无法同步和内存不足等问题,以至于情况进一步恶化。

塞翁失马,焉知非福。经过这次事故,我们不仅可以修复时钟的根本问题,还能在大规模节点故障和网络负载过重的情况下对客户端进行压力测试。尽管如此,这次事故本来不会造成这么极端的后果,根本原因在于 Prysm 节点占比过大。

去中心化有利于 ETH 2.0

正如我此前所讨论的那样,就异步拜占庭容错算法而言,1/3 是安全阈值。如果超过 1/3 的验证者离线,网络就无法实现终局性。虽然 ETH 2.0 区块链在不断增长,但是验证者却不敢保证哪个区块、哪个状态一定不会被颠覆。

去中心化有利于验证者

从根本上来说,我们希望经济激励机制足以让验证者做对整个网络都好的事,而不用我们相信他们是好人。

如果有超过 1/3 的验证者节点离线,离线节点所遭受的惩罚就会加重。这就是所谓的不作为惩罚(inactivity penalty)。

也就是说,作为一名验证者,你会希望自己在因为某种原因被迫离线的同时,不会有很多其它节点因为同样的原因离线。

罚没也是如此。虽然你的验证者节点有可能因为规范或软件故障/漏洞而遭到罚没,但是个体罚没只会损失 1 ETH 。

然而,如果有许多验证者和你同时遭到罚没(达到 1/3 的安全阈值),罚金就会高达 32 ETH 。(预知详情,可参见这篇文章。)

上述两种情况分别称为活性反相关机制 (liveness anti-correlation)和安全性反相关机制(safety anti-correlation),是 ETH 2.0 中精心设计的部分。反相关机制将个体惩罚与每个验证者对网络的影响联系在一起,以此激励验证者做出对网络最有利的决策。

一些数据

ETH 2.0 由多个独立团队实现。每个团队都根据 ETH 2.0 研究团队编写的规范开发独立的客户端。这样可以确保有多个信标链节点和验证者客户端实现。在构建 ETH 2.0 客户端时,每个客户端团队在技术、语言、优化和权衡关系方面会做出不同的决定。这样一来,即使 ETH 2.0 系统的任意一层出现漏洞,只会影响运行特定客户端的节点,不会波及全网节点。

以 Medalla 测试网上 Prysm 节点的时钟偏移为例。如果只有 20% 的 ETH 2.0 节点运行 Prysm 客户端,且 85% 的验证者在线,则 Prysm 节点就不会遭受不作为惩罚。开发团队只需熬几个通宵就可以解决这个问题,惩罚力度也能控制在最小范围内。

事实上,由于太多验证者都集中在同一个客户端上(而且很多验证者都禁用了罚没保护机制),短时间内遭到罚没的验证者人数在 3500 至 5000 之间。* 如此高的相关性意味着,这些验证者的损失约为 16 ETH ,就因为他们运行的是热门客户端。

至本文截稿时,罚没金额还在大幅增加,尚未得到最终数据。

不妨来试试其它客户端

现在正是尝试不同客户端的时候。不妨来体验一下小众客户端。(点击此处,查看验证者的分布情况。)目前,Lighthouse、Teku、Nimbus 和 Prysm 都比较稳定,Lodestar 正在迎头赶上。

最重要的是,一定要尝试新的客户端!我们可以在 Medalla 上让不同客户端的验证者分布合理化,以便迎接 ETH 2.0 主网上线。

(完)

原文链接:

https://blog.ethereum.org/2020/08/21/validated-why-client-diversity-matters/

猜你喜欢

全线暴跌,该来的还是来了

暴力杀多还是来了,大部分币种一天抹去过去一周的涨幅,全网爆仓超过10亿美元,身边一些合约大户,账户市值缩水50%的比比皆是,这就是我多次提示牛市期间不要动用高杆杠的原因。目前来看这一次下跌的量能有别于之前多次出现的回踩,所以短线出现V反的概率较小,操作上建议不要大规模抄底,关于如何看接下来的市场,先给大家看看雨神的分析。

2020-11-26

比特币骗局又来了吗?

今天比特币日线断头铡,吃掉了近9天的涨幅,也就是说,最近9天无论哪天你溜了,现在比特币的价格都比你走的时候低,风险来的时候,总是如此猝不及防。今天的下跌到现在这里基本告一段落了,晚间会有所反弹,但明天的行情仍然令人担忧,美国人都在休息,谁来支撑这个市场的上涨,又有谁来接住这个市场的获利盘。因此市场在美国休息这四天里,大概率不会太强,想抄底的,也不用太着急。短期压力位17800,支撑16000。

2020-11-26

跟我学 Solidity :开发环境

Solidity[3]是用于开发以太坊智能合约的最受欢迎的语言之一,因此,作为一个想要成为区块链开发人员的人,我决定学习如何使用 Solidity 开发智能合约。

2020-11-26

关于YFI合并Pickle和Cream的一些思考

YFI打响了DeFi领域并购第一枪,尽管并不是传统金融市场意义上的并购,更多是底层开发资源的整合与互通。YFI的目标也是非常明确,都是一些Fork类的DeFi项目。尽管我们平时都看不起这些Fork类项目,不过我们不能否认他们确实是有自己的微创新,以及自己的开发资源。

2020-11-26

比特币遭遇2020年黑色星期五,牛还在吗?

最近比特币价格波动很大,11月25日(昨天)攀升到了19500美元附近,直指近三年最高点,今天又回落至17000美元附近,下降幅度高达2500美元,24小时跌幅超10.5%。

2020-11-26