以太坊 2.0 会议第38期:Prysm发布Topaz测试网

ETHPLANET 发布在 海盗号 22150

从本月开始,我们将把以太坊2.0会议译成中文,并与社区分享。

会议:以太坊2.0会议 #38

会议日期: 2020年4月23日,星期四

会议时长:1小时

会议视频链接:https://youtu.be/avRcGzfjeIw

会议日程:

1.测试和版本更新

2.客户端更新

3.测试网更新

4.研究更新

5.网络更新

6.规范讨论

7.开放讨论/总结

 

会议主要内容:

1. 会议开始,会议由Danny Ryan主持。他首先开始第一个议题,测试和版本更新。他介绍说现在的版本中V0.11以下的版本都能够做到向后兼容。V0.11.2 正在做最后发布前的检查,最迟今天就可以发布,而且也是向后兼容的。V0.12也快好了,根据最新的IETF的第七草案规定的BLS harsh-to-curve的标准做了相应的更新。另外还加了一个附加验证条件在分叉选择里面。但V0.12的测试网不能与V0.11互通。Danny表示虽然V0.11的测试网络还是很重要,但是最终还是需要多客户端的测试网络,所以必须要满足IETF标准。Danny介绍说修改后的奖励和惩罚测试也在V0.12中。90%实现中的错误都在这个方面。Proto和他正在创建一个提议,把一个大的函数改成两个子函数,然后分别测试。现在很难得到好的测试结果就是因为这个函数太复杂,变量太多,有时候都不知道如何触发测试。他们将会在一天内发布这个提议,因为Topaz网络现在正好有这么一个问题。Preston表示他们Prysm正决定了一个修改计划。即便有内存等不少问题,他们现在还是在V0.11上面运行Topaz,但会在V0.12版本发布后重启Topaz。Ben这时候问到刚才说的分两个子函数功能是在哪个版本里面。Danny回答说是在V0.12版本里面,但是都是向后兼容的,所以对客户端来说除了测试部分需要修改其它不需要动。

2. Proto提出说修改后的奖励和惩罚测试不直接影响用户。但是他们发现对不同类的客户得到的奖励和惩罚是有点细微差别的,相关的研究还在进行中。他也说他更新了Rumor,包含了RPC功能,客户端现在就可以开始用了。主动检测7个左右的客户端短期内实现不了。他们准备实现一种更接近当前规范测试的方法。客户端从测试中自我配置并运行测试脚本。

3. Mehdi简短介绍信标模糊测试。他说模糊测试还挺高效的,在Nimbus上发现了5个错误,其中包括堆栈溢出。在ZRNT上发现了两个小错误。在Lighthouse上发现了SSZ错误。更多的错误信息可以看他们的博客。他们用谷歌的Hong Fuzz引擎,很好用。接着Mehdi表示现在许多实现都将信标状态视为可信任的,但如果以后转向Wrap Sync,这是有风险的。很多讨论在overflow和underflow上面,他们相信这有助于解决这一问题。同时他们也已经创建一个PR,会把整个信标模糊测试过程分享出来,预计下周就能完成。

4. 下一个议题是客户端更新。首先是Lodstar。Cayman表示说首先他们让协议符合最新的规范。他们通过了V0.11规范的测试。两个主要问题是快速压缩(Snappy Compression)和一些ENR的问题。同时他们也在解决CLI的错误以便更好的运行Lodstar。

5. Prysm表示他们发布了Topaz测试网。其中有21,000个验证程序。创世纪以来有41,000个插槽,并且除了有一个意外的跳过,他们没有跳过任何一个结局(finality)。而被跳过哪个也已经被解决。现在他们可以同步Lighthouse一直到第一时代,然后碰到了因为一些溢出引起的共识的问题。他们正在解决,并希望能够发布一个新的Lighthouse的测试网络。截至现在Topaz的反馈还比较好,他们会持续优化和改进用户体验。

6. Teku的更新。Ben介绍说JVM libp2p噪声实现现在已经能与Lighthouse互通操作。Go的实现需要一些上游修复才能使用Noise与Prysm完全互操作。他们在块内实现了签名的批量验证,以实现适度但值得加快的速度。他继续介绍说使用了Alex Vlasov的分叉选择测试实现并测试了protoarray 分叉选择的算法。他们的热状态管理(hot state management)经过了重新设计,使所有热状态完全保留在内存中。在重新启动时,团队通过将块重放到最后确定的状态来重新生成它。这使同步速度提高了约三倍。当前Sprint的重点是完成V0.11.1的所有网络更改。状态转换是最新的。Danny询问Go上LibP2P的噪音问题如何了。Rual回答说这个问题原因是需要同时握手,但是LibP2P不能确认谁先开始。所以还未解决。

7. Trinity的更新。他说他们在V0.11的版本上正在稳固的进步。分叉选择也正在做内部转换。为了Trinity测试网络的代码工作还在进行,同时他们还集成了Milagro的BLS曲线。

8. Nimbus的更新。Mamy介绍说用了主网的配置,全部切换到测试网络1上面去了。但是他们有一些性能提高的工作要做,比如哈希值重设路径是有重复的。他们也有堆栈溢出的问题。另外一个问题是现在他们用更新的状态来获得两个区块,但是他们担心这个可能会变成一个DoS的维度。网络侧,他们更新了同步算法,这样同步比之前可靠多了。然后过去两周他们一直在做系统提高的测试,并发现了内存泄漏的问题。同时他们也提高了四个库的错误的处理能力,也更好的来应对快要到的审计。

9. 下一个是Lighthouse。Paul介绍说他们小组正在运行4k和16k验证程序测试网,但是这个不完全符合最新规范11。他们仍然在做一些压力测试和解决暴露出来的问题。他们希望下周推出长期运行的16k测试网,但是也不想操之过急。主网现在处于v0.11.1状态转换中,并且已经针对网络规范提出了几个PRs。同时他们也在实验自动化测试网络。他们也做了一些同步互操作进程。他们写了一个Rust的稳定功能来检查代码。他们也在等待更新后的HTTP的API接口。

https://github.com/sigp/lighthouse-ansible/

10. 接下来一个议题是测试网。Danny表示前面每个客户端都说了自己的测试网,但是还有一个公共的测试网络,他让Afr来更新一下。 Afr表示因为大部分的客户端都用了V0.11的版本,他也升到了这个版本,然后准备在Tiku上面做bootstrap。但是失败了,他还没有查到到底是什么原因。Afr说他期待一个主的客户端测试网络作为测试的平台。然后可以有一些短期的针对不同平台的测试网络来测试有关连通性的测试项。Danny表示同意这个想法,接着询问有没有其它想法。Paul提出一个问题是关于测试网络的仓库的配置文件的。他表示这个config.yaml的文件是针对1阶段的,但是大部分客户端都还是0阶段的。所以他认为有必要把这两个阶段的配置文件分开。但是他也不是很明确阶段0的配置文件应该如何。Danny表示赞同,的确应该分开这两个配置文件。

11. 研究议题。TXRX团队的Joseph第一个发言。他说Mikhail在做一个Eth1-Eth2合并文件,即将公开了。Joe在建模处理cross-shard transaction,还没有太多内容。Jonny工作在prkl网络的监控工具上。他已经实现了连接到Topaz客户端,并能够看到DHT,也能够连接到对等方。Alex继续进行时钟同步、可验证的执行环境预编译和分叉选择的测试套件的三个工作。Dimitry正在进行DiscV5仿真,现在可以分析大约14种不同的矩阵。Aditya介绍说Paul在看一个问题,是关于FFG和LD投票在证明中不一致问题。他说这个解决办法是检查信标区块和要证明的目标是不是在同一个链上面的。这样给分叉选择多了一个功能,他们还不知道是否向后兼容,但他认为改动很小,所以客户端不需要担心。他贴出来了PR,让有兴趣的可以看看。同时他表示他们还在做分支选择的模糊测试,截至现在做的还比较顺利。他们还在测试策划好的模拟攻击。Quilt团队的Will报告说他们这边和上次相比没有大的变化,他们还是继续在为以太坊1.x做account abstraction的工作。同时也在做以太坊1.x 64的提议。Axic接着说他做了一个共享的版本以太坊1.x,因为测试原因,现在只共享给了Danny,还未正式推出。他计划这周就将退出。另外他还做了一个关于hash树搜索的帖子。

Hsiao Wei说她愿意分享一下她们的以太坊1.0的工作。她说她在解决一些历史遗留问题,同时也在升级现在的规范。她们计划是两三周内做完。这是个好的时间节点来冻结数据,升级规范。研究团队都更新完毕,Danny最后说到,周一开了一个API的会议。决定以小型工作组方式,希望能波澜不惊的推出关于信标API的建议书。Danny询问Marin有没有更新。Marin说他们合并了很多API,让它们成为一个。下周可以拿点东西出来展示了。

https://github.com/ethereum/eth2.0-specs/pull/1742

12. 网络侧的议题。Paul说它们发现很多区块的有不一样的验证条件。有些条件会被认为是不符合的,但其实在分叉选择时能被验证通过的。这些他们就需要特别的小心处理。在这之前他们遇见过的问题就是在分叉选择时候报错了,指出这个区块不是有效的,不能被验证通过,但其实这个区块是有效的。

13. 下一个议题是规范讨论。Danny说他正在和Proto一起,提议拆分一个大量奖励(Mega rewards function)函数,把它变成更好被测试的一个一个小单元。 但是现在还没有太多进展。Vitalik说有一个提议可能对0阶段已经来不及了,但是对1阶段还是很有益处的。这个提议是给信标区块和shard区块统一slashing。另一个提议是关于如何分配最大奖励的。提议里面有一个简短的公式,根据基础奖励来分配最大的奖励。随后Vitalik和Danny有一些技术上的讨论和版本上的讨论。

14. 最后的议题是开放讨论。Preston询问下一个版本更新的大约时间点。Danny回答说V0.11和V0.12版本在等待出,都是向后兼容V.010版本的。V0.12推出的时间和IETF标准下一次出草案的时间有关联。我们正在联系IETE负责版本更新的人,对方说很快了。Danny说希望5月第一周就能出这个版本,但是有好多因素不受他控制。修改的奖励函数,会在V.11版本里面,大约下周就能够推出。

15. 最后Danny感谢大家参与,会议结束。

 

与会开发者:

  • Aditya
  • Ansgar Dietrichs
  • Ben Edgington
  • Carl Beekhuizen
  • Cayman
  • Cem Ozer
  • Chih-Cheng Liang
  • Danny Ryan
  • Dmitry Shmatko
  • Evan Van Ness
  • Guillaume
  • Herman Junge
  • Hsiao-Wei Wang
  • Joseph Delong
  • Leo BSC
  • Mamy
  • Marin Petrunic
  • Meredith Baxter
  • Mikhail Kalinin
  • Nicolas Liochon
  • Nishant Das
  • Paul Hauner
  • Preston - Prysmatic Labs
  • Protolambda
  • Sam Wilson
  • Steven Schroeder
  • Terence Tsao
  • Trenton Van Epps
 

欢迎转发,本内容遵循CC BY-SA 2.5协议:https://creativecommons.org/licenses/by-sa/2.5/

本文链接:https://www.8btc.com/media/604771
转载请注明文章出处

文章标签: 以太坊
评论
登录 账号发表你的看法,还没有账号?立即免费 注册