编者按:本文来自Unitimes,作者:SomerEsat,翻译:Unitimes_Charles,星球日报经授权发布。以太坊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/nethermindethGitter:https://gitter.im/nethermindeth/nethermindGitcoin:https://gitcoin.co/grants/142/nethermindGitHub: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_ioGitter:https://gitter.im/sigp/lighthouseDiscord:https://discord.gg/cyAszAhGitHub: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/chainsafethDiscord:https://discord.gg/yjyvFRPGitHub: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/ethnimbusGitter:https://gitter.im/status-im/nimbusDiscord:https://t.co/CYjHgi6wFI?amp=1Status:https://join.status.im/chat/public/nimbus-generalGitHub: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-labsTwitter:https://twitter.com/prylabsGitter:https://gitter.im/prysmaticlabs/Discord:https://discord.gg/KSA7rPrGitcoin:https://gitcoin.co/grants/24/prysm-by-prysmatic-labsGitHub: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/PegaSysEngGitter:https://gitter.im/PegaSysEng/tekuDiscord:https://discord.gg/7hPv2T6GitHub: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年初开始。产品概览技术:PythonPlatform: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_clientGitter:https://gitter.im/ethereum/trinityGitHub: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。无数的开发者、研究者、修补人员和领导者正在努力使一切成为可能。感谢所有人。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。