作者:SomerEsat
翻译:阿剑
来源:以太坊爱好者
编者注:原标题为《通告|Schlesi测试网落幕,Witti升起!》
--
Schlesi是以太坊2.0的一个多客户端测试网,如今它已完成了它的历史使命,要停止运行了。
不夸张地说,Schlesi完成了以太坊2.0路线图上的一个重要里程碑:成功地启动了一个公开的多客户端测试网。本文中我准备谈谈Schlesi测试网及其继任者Witti测试网。
一些重要的定义
我们先沟通一下一些术语的含义。
什么是测试网络?
测试网络是用于测试的备用网络,希望尽可能模拟目标网络的生产环境来测试软件和协议的实际能力。计划使用目标网络用于生产的用户可通过测试网来测试客户端的能力,以保证不会遇到bug。测试网很重要,因为它能帮助大家在实际投入生产之前发现bug。
什么是以太坊2.0测试网?
以太坊2.0的第一个阶段,Phase0,要退出信标链。关于什么是信标链,BedEdgington在2018年10月给出了一个很好的解读:
“信标链的核心功能是为自身及分片链而管理权益证明协议的运行。这种管理包括:管理验证者及其出块权重;为每个时隙处的每个分片安排区块提议者;组织验证者、划分成委员会,参与对被提议区块的投票;执行共识规则,发放奖励和施加惩罚;成为各分片登记自身状态的锚点,以协助跨分片交易。”
为了给信标链做测试,我们需要让一个乃至多个客户端共同组成一个网络。所谓“以太坊2.0测试网”,就是在一个测试环境中运行Phase0信标链实例。当前仍在运行的一个单客户端测试网是PrysmaticLabs发起的Topaz测试网。
什么是多客户端测试网?
多客户端测试网就是由多个不同开发团队开发的客户端共同联网组成的测试网络。Schlesi和Witti都是多客户端测试网。多客户端测试网的挑战性更大,因为不同的客户端各有各的特点,也各有各的bug,配置也不尽相同。大多数客户端在参与多客户端测试网之前都会运行私有的测试网。AfriSchoedon说得好:
“在主网启动以前,我们需要启动尽可能模拟主网条件的测试网。这就要求我们有稳定、长期、持久的测试网络,而且仅仅得到一种客户端的支持是不够,要得到多种客户端的支持,甚至所有客户端都能参与,才行。”
以太坊2.0测试网怎么会分叉?
信标链是靠权益证明协议来支撑的。当2/3的验证者都见证了某些区块的有效性时,就会有一批区块得到确认。这就是所谓的“达成确定性”,达成之后,此前的区块就永远不能再更改了。当区块链不能达成确定性的时候,它就会变得不稳定,也有可能发生分叉。当不同的验证者支持相互竞争的区块时,分叉就出现了。这就是Schlesi测试网上出现的情况。
多客户端测试网历史
Schlesi实际上并不是第一个多客户端测试网。还有一个更早的叫做“multinet”的测试网,是在2019年10月24号启动的,也是多客户端共同参与的:Nimbus、Trinity、Lighthouse、Prysm、Lodestar以及Artemis。不过,它更像一个模拟的多客户端测试网。AfriSchoedon解释道:
“Eth2.0Multinet是一系列用于模拟多客户端测试网的脚本集合,它可以调整多种参数来模拟测试效果,比如验证者数量。Multinet所用的是最小化的Eth2.0规范。”
到了2020年3月,在一次开发者电话会议中,以太坊基金会研究院DannyRyan表达了希望“启动多客户端测试网”的意愿。然后,就出现了Schlesi测试网。
这个名字来自德国柏林的SchlesischesTor火车站。Schlesi多客户端测试网在2020年4月27日启动。
在其运作期间,Schlesi测试网的目标是测试以太坊2.0v0.11.1和v0.11.2版的规范。以往那些以v0.10为目标的测试网就因为不稳定而停止了。
Schlesi启动之时,成功地让两批运行不同以太坊2.0客户端的验证者能互联,后来Teku也成功加入了。Nimbus和Lodestar进度上稍微落后,但也正迎头赶上。
然后,5月17日,AfriSchoedon宣布测试网上出现了分叉。
尽管存在的时间较短,Schlesi催生了组织文档、编写配置和引导启动的机会,并且让多种客户端能同时加入;大家可以公开地部署节点、与测试区块链同步,并质押Goerli测试网ETH来成为验证者;开发人员也惊喜地发现,Schlesi居然运行了这么久,而各客户端团队都因为快速修复了其软件实现中的问题而得到大家的认可。总的来说是个皆大欢喜的结果。
那么,到底什么原因导致Schlesi测试网最终停止了呢?PrysmaticLabs团队的IvanMartinez在他们的更新日志中总结了问题根源:
“协调世界时5月15日上午11时许,Schlesi测试网被发现有接近50个时段没有取得确定性……最终导致该链不稳定,出现了几个临时的分叉。
在超过300个时段无法取得确定性之后,Prysm客户端和Lighthouse客户端在时段150496时隙处形成了分叉。一个区块在提交时罚没了一名见证者,但不同客户端在给被罚没验证者计算奖励和惩罚时出现了不一致。这就暴露出了Prysm客户端在惩罚计算上的两个不同的bug!此次链分叉之后,我们觉得最好的办法就是重新开始。虽然那时候Schlesi可以从这个错误中恢复,但我们觉得最好是立即吸取我们从这次事件中得到的教训,并启动一个新的多客户端测试网。”
然后,Schlesi落幕了。Witti即将升起!
--
Witti多客户端测试网
Witti是最新的多客户端测试网。它的保证金合约都是5月25号才部署的,部署在Goerli测试网上。
就像Schlesi一样,Witti的名字也来源于柏林的一个地铁站。根据其GitHub页,Witti会支持3个以太坊2.0客户端:Lighthouse、Prysm和Teku。Nimbus和Lodestar则还在开发中。
以太坊2.0v0.11.3版技术规范是Witti的测试目标,因为大多数客户端都已经或接近于实现了这一版规范的功能。虽然最近放出了v0.12,我们可以合理的认为,Witti和日后的测试网能够吸收这些变更。
Witti测试网已于5月27日启动,可在区块浏览器https://witti.beaconcha.in/?上看到它的情况。
结语
总结一下,我们很快会迎来一个全新的以太坊2.0多客户端测试网,叫做Witti;其前身“Schelesi”将不再运行,虽然它扮演了一个重要的抉择。
就我个人来说,我非常兴奋能部署一个节点采纳与Witti。除了帮助开发者做测试,我自己也有不少的乐趣。我觉得大家都应该动手试试。我写了一份用Prysm客户端来参与Topaz测试网的指南,等Witti启动以后我也会相应写一个指南。
最后,我想表达我对所有开发者的感激之情。以太坊生态系统和社区里都是雄心壮志的人,都在为一个共同的目标以太坊2.0而奋斗。不计其数的开发者、研究员、思考者乃至社区领袖的不懈奋斗,让这一切成为可能。谢谢你们!
原文链接:
https://medium.com/@SomerEsat/schlesi-is-dead-long-live-witti-151178064c3c
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。