一文速览Eth2.0的7大客户端进展

以太坊

撰文:Somer Esat

以太坊2.0升级预计将于今年晚些时候发布,起初将推出阶段0。阶段0包括上线信标链,信标链负责管理 PoS 协议。为了与信标链交互,需要通过实现了以太坊2.0规范的客户端。

本文中,作者将对目前正在积极开发中的7个以太坊2.0客户端进行了简要介绍,提供关于每个客户端的来源信息,包括供读者深入了解的相关链接。

为何需要这么多的客户端?

你可能想知道,为什么有这么多客户端?为什么不集中精力搭建一个很棒的“超级客户端”一劳永逸呢?

嗯,有很多原因可以说明拥有多个客户端是一件好事。以下是我认为最突出的两点原因:

  • 拥有多个客户端意味着独立的开发者们处于友好的竞争中,通过不同的解决方案和特性来相互激励。竞争推动创新。
  • 拥有多个客户端意味着稳健性,当某个客户端出现问题时提供更多其他选择。例如,假设我们只有一个“超级客户端”,如果这个客户端出现 bug 或漏洞,那该怎么办?这可能会导致整个 Eth2 网络瘫痪。

由于这些 (以及更多的) 原因,支持一个均衡的 以太坊2.0多客户端生态系统是很重要的。以太坊核心开发者 Danny Ryan 对此表示:

在 (信标链) 发布之前的这段时间,我希望你们可以走出舒适圈去尝试使用不同的客户端。这些客户端之间有许多的权衡,你需要亲自使用才能找到哪个客户端最适合你...以太坊以多客户端的模式运行,为了获得这种方式带来的益处,我们需要用户运行各种不同的客户端 (从而使所有类型的客户端健康地分布在网络中)。

7大客户端

回归正题,我们开始深入了解以太坊的7大客户端。这些客户端按名称字母顺序排列如下:

  • Cortex (Nethermind)
  • Lighthouse (Sigma Prime)
  • Lodestar (ChainSafe Systems)
  • Nimbus (Status)
  • Prysm (Prysmatic Labs)
  • Teku (PegaSys)
  • Trinity (以太坊基金会)

本文将从成熟度、技术、功能和支持等方面对各个客户端进行描述。

随着最新的以太坊2.0规范版本 (v0.12.1) 在最近发布,且规范可能仍在经历变化,所有客户端都处于积极开发中。

以下信息基于本文发布之日公开的线上信息来源。

致各个客户端团队:如果文中有任何不准确之处,还望指正。

以太坊

01. Cortex (Nethermind)

开源的 Cortex 客户端是唯一基于 .NET 的处于开发中的以太坊2.0客户端。其开发公司 Nethermind 成立于 2017 年,位于英国伦敦。

虽然自去年12月份以来,Cortex 的 Github 库中就没有出现新的活动,但有证据表明,该团队正在 Nethermind (Eth1客户端) 库中开发对 Eth2.0 的支持。目前尚不清楚这是否意味着 Cortex 客户端已被淘汰,而青睐于功能更全面的 Nethermind 客户端,或者 Nethermind 最终将变成 Cortex。

产品概览 (基于 Nethermind,而非 Cortex)

  • 技术:Microsoft .NET Core 3.0
  • 平台:Linux、MacOS、Windows
  • 许可证:GNU Lesser General Public License
  • 仓库:GitHub。30名贡献者 (提交)。最近的提交在几天内。
  • 指标:Prometheus
  • 测试网:尚未上线 Altona 测试网

文档

Eth1 Nethermind 客户端有大量的文档。我没能找到有关 Eth2 Cortex 客户端的任何文档。可能目前正在开发中。

当前状态

  • 当前致力于存款 (deposit) 的处理和信标链节点实现。
  • 尚未实现最终性 (finalizing)

值得注意

Nethermind 的 Github 页面列出了在未来 6 个月内建立对 Eth2 多客户端测试网的支持。

Links 相关链接

  • 网站:https://nethermind.io/
  • Twitter:https://twitter.com/nethermindeth
  • Gitter:https://gitter.im/nethermindeth/nethermind
  • Gitcoin:https://gitcoin.co/grants/142/nethermind
  • GitHub:https://github.com/NethermindEth/nethermind
  • 文档:https://nethermind.readthedocs.io/en/latest/index.html

以太坊

02. Lighthouse (Sigma Prime)

Lighthouse 是由 Sigma Prime 团队使用 Rust 编写的开源客户端。该客户端的开发始于 2018 年,该公司位于澳大利亚悉尼。

产品概览

  • 技术:Rust
  • 平台: Linux、MacOS、Windows
  • 许可证:Apache 2.0
  • 仓库:GitHub。57名贡献者 (提交)。最近的提交在几天内。
  • 指标:Prometheus
  • 测试网:Altona (创世时期)

文档

Lighthouse 团队在提供该项目的文档方面做得非常棒。一些文档包括:

  • 关于客户端安装和配置的用户指南
  • 活跃的 Discord 社区
  • 定期更新的开发者博客
  • 自动生成的源代码文档
  • 贡献者指南,用于对该项目进行贡献

当前状态

  • 团队正专注于实现 v0.12.1 规范;
  • 参与了最新的多客户端测试网 Altona 的启动;
  • 正在敲定验证者私钥管理;
  • 正在运行外部安全审计;
  • 正在进行性能改进;
  • 正在致力于一种保护验证者免受 slashing (罚没) 的方案。

值得注意

Sigma Prime 网站有一个令人印象深刻的“sand on water”交互模拟,玩起来非常有趣,值得一试。

相关链接

  • 网站:https://sigmaprime.io/
  • 博客:https://lighthouse.sigmaprime.io/
  • Twitter:https://twitter.com/sigp_io
  • Gitter:https://gitter.im/sigp/lighthouse
  • Discord:https://discord.gg/cyAszAh
  • GitHub:https://github.com/sigp/lighthouse
  • 文档:https://lighthouse-book.sigmaprime.io/
  • 贡献者指南:https://lighthouse-book.sigmaprime.io/contributing.html

以太坊

03. Lodestar (ChainSafe Systems)

Lodestar 客户端是由 ChainSafe Systems 团队使用 TypeScript 编写的开源客户端。它由加拿大多伦多的一群开发者开发。除了这个客户端之外,该团队还开发了许多支持以太坊2.0的实用程序包和库。

产品概览

  • 技术:TypeScript
  • 平台:Linux、MacOS、Windows
  • 许可证:GNU Lesser General Public License v3.0
  • 仓库:GitHub。30名贡献者 (提交)。最近的提交在几天内。
  • 指标:HTTP 服务器
  • 测试网:尚未上线 Altona 测试网

文档

Loadestar 团队采用开放式交流,可以阅读他们团队的会议记录。有关安装该软件的用户指南很少 (基本上就是:克隆、安装依赖项、搭建、运行),但该团队计划增加更多相关文档。

  • 关于客户端安装和配置的最小用户指南;
  • 活跃的 Discord 社区;
  • 定期更新开发者会议笔记和计划;
  • 贡献者指南,用于对该项目进行贡献。

当前状态

  • 正在应用 v0.12.1 规范更新,并锁定上线 Altona 多客户端测试网;
  • 中期目标是能够在一个合适的测试网 (Altona 或者之后推出的测试网) 上可靠地运行一个信标节点和验证者客户端,并更新相关文档。

值得注意

该团队已经实现了一个仅为教育目的的网站 bls-keygen.com,允许用户使用 Lodestar 的 BLS 库实现来生成验证者密钥。他们还有另一个网站 simpleserialize.com,该网站实现了以太坊规范 v0.11.2 共识类型以及将序列化值 (serialized values) 进行反序列化的功能。

相关链接

以太坊

04. Nimbus (Status)

Nimbus 是一个研究项目,也是以太坊2.0的开源客户端实现,其目标是在嵌入式系统和个人移动设备上执行,包括硬件资源受限的老式智能手机。

Status 团队已经通过他们的消息传递产品 Status 在移动技术方面拥有丰富的经验。他们将自己的经验应用于搭建一个以太坊客户端,该客户端可以在个人移动设备上运行存档节点 (archival node) 和相关的 Eth2 软件。

产品概览

  • 技术:Nim
  • 平台:Android、Linux、MacOS、Windows (试验)
  • 许可:Apache License 2.0 或 MIT
  • 仓库:GitHub。24名贡献者。最近的提交在几天内。
  • 指标:HTTP 服务器
  • 测试网:Altona (创世时期)、Onyx

文档

提供最近更新的、简明但切中要点的文档集,涵盖了启动和运行该客户端所需的大部分信息。

  • 关于客户端安装和配置的用户指南;
  • 活跃的 Discord 和 Status 聊天社区;
  • 开发者指南,用于对该项目做出贡献。

当前的状态

  • 实现了最新的 Eth2.0 规范版本 v0.12.1;
  • 参与了最新的多客户端测试网 Altona 的启动;
  • 当前仅支持从源代码构建;
  • 正在进行性能改进和安全性审计。

值得注意

Nimbus 是当前唯一针对移动平台的以太坊2.0客户端。Nimbus 基于 Nim 语言运行,Nim 是一种高效和通用的系统编程语言,具有类似于 Python 的语法,可以编译成 C 语言。

该团队最近将区块和证明消息 (attestation) 的处理性能提高了大约 10-50 倍,客户端的启动提升了 20-100 倍。

相关链接

以太坊

05. Prysm (Prysmatic Labs)

Prysm 客户端是由 Prysmatic Labs (成立于2018年1月) 开发的功能齐全、文档良好的开源以太坊2.0客户端。

Prysm 是一个相当成熟的客户端,拥有一个非常活跃的开发团队。他们在与他们的软件和测试网的用户进行交互和支持方面做得很棒,他们最知名的测试网就是 Topaz (已弃用) 和 Onyx。

产品概览

  • 技术:Go
  • 平台: Linux、MacOS、Windows
  • 许可证:GNU General Public License 3.0
  • 仓库:GitHub。48名贡献者 (提交)。最近的提交在几天内。
  • 指标:Prometheus
  • 测试网:Altona (创世时期)、Onyx

文档

Prysm 的用户、代码和问题文档都非常详尽,并得到了很好的维护。Prysmatic Labs 团队在保持博客更新方面也做得很棒,对于想要跟进 Prysm 客户端进展的人来说值得一读。

当前状态

  • 该客户端已更新至最新的 v0.12.1 规范;
  • 参与了最新的多客户端测试网 Altona 的启动;
  • 最近进行了安全审计,正在处理审计反馈;
  • 该团队正在进行各种优化;
  • 正在进行验证者账户重构。

值得注意

Prysm 客户端有两个独立的二进制文件,一个用于信标链,另一个用于验证者。该客户端还能够运行一种 Slasher 算法以进一步帮助保护信标链并获取额外的收益。

Prysmatic Labs 团队拥有自己的稳定测试网 Onyx,该测试网正运行 50,000 验证者。他们之前的测试网 Topaz 的使用情况也很好。

相关链接

以太坊

06. Teku (PegaSys)

Teku 客户端是一个企业级以太坊2.0开源客户端。该客户的正在由 PegaSys (ConsenSys 孵化的一个项目) 进行搭建。

值得注意的是,ConsenSys Codefi 最新宣布的机构级 Staking 试点项目正在 Teku 上进行搭建。

产品概览

  • 技术:Java
  • 平台:Linux、MacOS、Windows
  • 许可证:Apache License 2.0
  • 仓库:GitHub。38名贡献者 (提交)。最近的提交在几天内。
  • 指标:Prometheus
  • 测试网:Altona (启动时期)、Onyx

文档

提供最近更新的、简明但切中要点的文档集,涵盖启动和运行客户端所需的大部分信息。

  • 关于客户端安装和配置的用户指南;
  • 开发者指南,用于对该项目做出贡献。

当前的状态

  • 已更新至最新的规范 v.0.12.1;
  • 参与了最新的多客户端测试网 Altona 的启动;
  • 正在进行性能优化;
  • 最近增加了向 Prometheus 揭露 RocksDB 指标的支持。

值得注意

虽然 Teku 是作为企业级客户端被搭建,但个人用户也可以自由使用。

Teku 在日语里 (テク) 是“技术”的意思。

相关链接

以太坊

07. Trinity (以太坊基金会)

Trinity 是由以太坊基金会的 Python 团队编写的、支持 Eth1.0 和 Eth2.0 的开源以太坊客户端。其开发自2019年初开始。

产品概览

  • 技术:Python
  • Platform:Linux、MacOS、Windows (不支持)
  • 许可证:MIT
  • 仓库:GitHub。75名贡献者 (提交)。最近的提交在几天内。
  • 指标:InfluxDB
  • 测试网:尚未上线 Altona

文档

该团队提供了一组合理的更新文档集,包括客户端快速启动指南以及安全和运行该软件的说明。

该客户端的开发者提供了一个“Cookbook”文档,对如何使用该客户端实现一些实用和有趣的事情提供了建议,比如访问内置的性能分析工具。

当前的状态

  • 实现了信标链规范 v0.11.1,当前正在致力于实现 v0.12.1;
  • 正在解决性能问题;
  • 最近增加了通过 InfluxDB 追踪指标。

相关链接

写在最后

现在你了解了这七个客户端!你喜欢哪个?如果可能的话,我建议你都试试。一旦这些客户端都能成功地将同一个测试网 (如果不是 Altona,那就是之后推出的测试网) 作为目标,那么对你来说运行起来就更加容易了。

我不确定以太坊2.0主网的启动需要至少多少个客户端准备好,但很明显其中一些客户端的进度要更快。这将如何影响阶段0的启动时间,还有待观察。

最后,我想对所有以太坊开发者们表示感谢。以太坊的生态系统和社区充满了富有激情的人们,他们正朝着一个共同的目标努力:以太坊2.0。无数的开发者、研究者、修补人员和领导者正在努力使一切成为可能。感谢所有人。

免责声明

作者与本文中提到的公司/开发人员没有直接关系。文中内容仅代表作者观点。文中信息基于作者对公开可用信息的研究。本文不作为任何建议或背书,也不保证信息的准确性和完整性。

如有疑问联系邮箱:
*本文转载自网络转载,版权归原作者所有。本站只是转载分享,不代表赞同其中观点。请自行判断风险,本文不构成投资建议。*