干货 | 一文速览Eth2.0的7大客户端进展_ETH:PolkaSmith

撰文:SomerEsat

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

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

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

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

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

拥有多个客户端意味着独立的开发者们处于友好的竞争中,通过不同的解决方案和特性来相互激励。竞争推动创新。

拥有多个客户端意味着稳健性,当某个客户端出现问题时提供更多其他选择。例如,假设我们只有一个“超级客户端”,如果这个客户端出现bug或漏洞,那该怎么办?这可能会导致整个Eth2网络瘫痪。

由于这些(以及更多的)原因,支持一个均衡的

以太坊2.0多客户端生态系统是很重要的。以太坊核心开发者DannyRyan对此表示:

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

7大客户端

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

Cortex?(Nethermind)

Lighthouse?(SigmaPrime)

Lodestar?(ChainSafeSystems)

Nimbus?(Status)

Prysm?(PrysmaticLabs)

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.NETCore3.0

平台:Linux、MacOS、Windows

许可证:GNULesserGeneralPublicLicense

仓库:GitHub。30名贡献者(提交)。最近的提交在几天内。

指标:Prometheus

测试网:尚未上线Altona测试网

文档

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

当前状态

当前致力于存款(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(SigmaPrime)

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

产品概览

技术:Rust

平台:Linux、MacOS、Windows

许可证:Apache2.0

仓库:GitHub。57名贡献者(提交)。最近的提交在几天内。

指标:Prometheus

测试网:Altona(创世时期)

文档

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

关于客户端安装和配置的用户指南

活跃的Discord社区

定期更新的开发者博客

自动生成的源代码文档

贡献者指南,用于对该项目进行贡献

当前状态

团队正专注于实现v0.12.1规范;

参与了最新的多客户端测试网Altona的启动;

正在敲定验证者私钥管理;

正在运行外部安全审计;

正在进行性能改进;

正在致力于一种保护验证者免受slashing(罚没)的方案。

值得注意

SigmaPrime?网站有一个令人印象深刻的“sandonwater”交互模拟,玩起来非常有趣,值得一试。

相关链接

网站: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(ChainSafeSystems)

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

产品概览

技术:TypeScript

平台:Linux、MacOS、Windows

许可证:GNULesserGeneralPublicLicensev3.0

仓库:GitHub。30名贡献者(提交)。最近的提交在几天内。

指标:HTTP服务器

测试网:尚未上线Altona测试网

文档

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

关于客户端安装和配置的最小用户指南;

活跃的Discord社区;

定期更新开发者会议笔记和计划;

贡献者指南,用于对该项目进行贡献。

当前状态

正在应用v0.12.1规范更新,并锁定上线Altona多客户端测试网;

中期目标是能够在一个合适的测试网(Altona或者之后推出的测试网)上可靠地运行一个信标节点和验证者客户端,并更新相关文档。

值得注意

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

相关链接

网站:https://chainsafe.io/

Twitter:https://twitter.com/chainsafeth

Discord:https://discord.gg/yjyvFRP

GitHub:https://github.com/ChainSafe/lodestar

文档:https://chainsafe.github.io/lodestar/

贡献者指南:https://chainsafe.github.io/lodestar/contributing/

04.Nimbus(Status)

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

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

产品概览

技术:Nim

平台:Android、Linux、MacOS、Windows(试验)

许可:ApacheLicense2.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倍。

相关链接

网站:https://nimbus.team/

博客:https://our.status.im/tag/nimbus/

Twitter:https://twitter.com/ethnimbus

Gitter:https://gitter.im/status-im/nimbus

Discord:https://t.co/CYjHgi6wFI?amp=1

Status:https://join.status.im/chat/public/nimbus-general

GitHub:https://github.com/status-im/nim-beacon-chain

文档:https://status-im.github.io/nim-beacon-chain/

05.Prysm(PrysmaticLabs)

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

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

产品概览

技术:Go

平台:Linux、MacOS、Windows

许可证:GNUGeneralPublicLicense3.0

仓库:GitHub。48名贡献者(提交)。最近的提交在几天内。

指标:Prometheus

测试网:Altona(创世时期)、Onyx

文档

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

当前状态

该客户端已更新至最新的v0.12.1规范;

参与了最新的多客户端测试网Altona的启动;

最近进行了安全审计,正在处理审计反馈;

该团队正在进行各种优化;

正在进行验证者账户重构。

值得注意

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

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

相关链接

网站:https://prysmaticlabs.com/

博客:https://medium.com/prysmatic-labs

Twitter:https://twitter.com/prylabs

Gitter:https://gitter.im/prysmaticlabs/

Discord:https://discord.gg/KSA7rPr

Gitcoin:https://gitcoin.co/grants/24/prysm-by-prysmatic-labs

GitHub:https://github.com/prysmaticlabs/prysm

文档:https://docs.prylabs.network/docs/

贡献者指南:https://github.com/prysmaticlabs/

06.Teku(PegaSys)

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

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

产品概览

技术:Java

平台:Linux、MacOS、Windows

许可证:ApacheLicense2.0

仓库:GitHub。38名贡献者(提交)。最近的提交在几天内。

指标:Prometheus

测试网:Altona(启动时期)、Onyx

文档

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

关于客户端安装和配置的用户指南;

开发者指南,用于对该项目做出贡献。

当前的状态

已更新至最新的规范v.0.12.1;

参与了最新的多客户端测试网Altona的启动;

正在进行性能优化;

最近增加了向Prometheus揭露RocksDB指标的支持。

值得注意

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

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

相关链接

网站:https://pegasys.tech/teku/

博客:https://pegasys.tech/blog/

Twitter:https://twitter.com/PegaSysEng

Gitter:https://gitter.im/PegaSysEng/teku

Discord:https://discord.gg/7hPv2T6

GitHub:https://github.com/PegaSysEng/teku

文档:https://docs.teku.pegasys.tech/en/latest/

贡献者指南:https://github.com/PegaSysEng/teku/blob/master/CONTRIBUTING.md

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追踪指标。

相关链接

网站:https://trinity.ethereum.org/

Twitter:https://twitter.com/trinity_client

Gitter:https://gitter.im/ethereum/trinity

GitHub:https://github.com/ethereum/trinity/tree/eth2/v0.12.1

文档:https://trinity-client.readthedocs.io/en/latest/

贡献者指南:https://trinity-client.readthedocs.io/en/latest/contributing.html

写在最后

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

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

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

免责声明

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-7:41ms