会议:以太坊2.0会议#43
会议日期: 2020年7月9日
会议时长:1小时
会议视频链接:
https://youtu.be/4IooxDX_GfU
会议日程:
1.测试和版本更新
2.测试网更新
3.客户端更新
4.应急响应
5.关系到用户安全和用户体验的弱主观性
6.研究更新
7.网络侧更新
8.规范讨论
9.开放讨论/总结
会议主要内容:
1.会议开始,主持人Danny先开始第一个议题,即测试和版本更新。Danny介绍说v12.2版本马上就要发布,并能完全向后兼容。现在主要做的就是在发布前再调试一下gossipsub的参数。
Proto对团队的进展进行了介绍。其中,最重大的进展是上周发布了Rumor v2,里面包含了许多新的命令,并对脚本进行了优化。现在仍然在做一些类似同步命令的优化工作。Proto说针对Phase1的测试才刚开始,同时Python Eth2的规范同步在升级。他认为现阶段测试分叉选择实施方法的最佳方案是在Rumor上面测试,而不是之前大家认为的在每个不同的客户端上面开放接口来测试,所以他会准备一个Rumor教程给大家。Danny强烈推荐各个客户端团队都仔细地阅读这个教程。
Mehdi介绍说上周更新了信标模糊测试,文字帖在同步准备。Docker化和信标模糊测试都完成了,这样用户就可以轻松地在家使用,同时在Discord有一个专门的频道给用户来报告错误和进行讨论。上周还在客户端Nimbus和Loadstar上面分别发现了两个严重的错误。Nimbus客户端的惩罚算法的索引错误会导致系统崩溃,Loadstar客户端的问题是因为大量非法的ENR导致内存耗尽。同时为Rust Snappy Crate准备的软件补丁终于完成,之后会把精力集中在比较不同的模糊测试办法的效果上,截至目前在所有的客户端上总共发现了26个错误。
2.第二个议题,测试网更新。
Danny介绍说Altona运行的很好,一段非确定性的时期发生并过去了。Danny联系了各个团队检查大型公共测试网的准备情况。有一些稳定性和用户体验方面的问题有待解决,但已经快完成了。同时Danny一直在使用Proto的脚本来启动可以用作攻击测试的Attack网络。他计划把这些都放在测试团队这边,以免给客户端团队带来负担。
3.客户端的更新
Lodestar:Cayman介绍说已经合并v0.12,正在摸索Altona测试网,还没有开始同步到创世状态,Gossipsub 1.1也没有开始合并。用了Chrome的调试器连接到Loadstar,发现这个工具非常好用。优化了状态转换的过程,接下去会做稳定性的工作。团队差不多完成最小可行的客户端的工作。
Trinity:正在同步到Altona测试网。为了实施proto-array重新构造了分叉选择的代码。同步工作也在进行中,现在能够同步连接到Lighthouse的节点并且取得一些区块,但是这个过程特别慢,还需要再优化。
Nethermind:介绍说这两周主要还是集中在Eth1.0的客户端的工作上,希望能够尽快完成工作并重新切换到Eth2.0客户端工作上去。团队发布了一个帖子,介绍了如何利用客户端作为Eth1.0的数据提供者给信标节点使用。
Nimbus:同步到Altona测试网后发现了几个错误,已经解决。错误主要集中在gossip和证词缺失方面。周一开始了审计的工作,同时也发布了审计手册和Nimbus信标链的使用手册。
https://status-im.github.io/nim-beacon-chain/auditors-book/
https://status-im.github.io/nim-beacon-chain/
Prysm:上两周做了很多密钥管理的工作,开发新的功能主要集中在创建用户账户上,同时移走了密钥储存。开始了集成Superanational Blst库的工作,初步的结果看上去还不错,同步的速度也提高了很多,大概提升了2-3倍,主要是通过批量签名验证来实现的。
Lighthouse:集成了Blst库,同步速度很快。为用户界面开发了REST的API接口。现在在解决对等节点的评估问题,同时正在调查一个关于死锁(deadlock)的报告和一些关于证词效率的问题。重新定义了DB接入的原子性。ToB的审计结束了,正在回复他们提出的一些意见,稍后会公布审计报告。最后就是正在选择第三方做第二轮的安全审计的工作。
Teku:上次的内存使用管理的优化工作完成了,现在内存使用情况非常稳定。为了磁盘的快速启动正在坚持使用proto array。做了优化节点管理(peer management)的工作。同时在给暴露在测试子网外的连接排优先级。最后他们解决了一个很有趣的关于非法证词的问题。
4.Danny开始下一个议题,应急响应。
Mehdi介绍说他会先创建一个Eth2.0的事故管理和应对的框架文件。然后他会成立一个小型的工作小组,每个客户端需要派一名代表。这个工作小组之后会学习如何应对和处理Eth2.0将来碰到的意外情况。Mamy表示各个客户端派代表没有问题,但是他觉得最大的挑战是不同的时区。工作小组需要在不同的时区都有人,这样才能覆盖全球整个时区,不会出现没有工作小组的时区。
5.Danny开始下一个议题,关系到用户安全和用户体验的弱主观性。Aditya介绍说他发了一个帖子,介绍了他对如何应对弱主观性的研究和方法推荐。文章详细讨论了客户端如何应对弱主观性以及如何分布升级后的状态,也举例了很多种可以使用的方法。现在希望各个客户端能仔细阅读,然后结合自身情况给一点建议。
Danny强调希望客户端能够给出建议,并且认为不管我们现在需要多做多少工作,都是为了将来用户们能够使用起来更加容易。他认为客户端在发布版本的时候应该要编码状态根或者编码整个状态。同时发布客户端有一个默认的规矩,大约一周的时间加上适当数量的验证节点是比较实际的做法。
Danny接着询问到底什么是最好的用户体验,有没有可能性存在分布式的解决办法?Zahary回答说这个需要对状态进行多重签名。后面还有一些讨论,最后Terrence提议成立一个工作小组来专门讨论和负责弱主观性相关的事情。同时经过讨论大家也都一致同意客户端应该开发一个接口(如果没有的话)来加载任意状态。
https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2
6.Danny开始下一个议题,研究更新。
TX/RX首先发言。他们说这周可以更新的不多,主要是为Phase1阶段做的Onotole 转译工具(transpiler)已经能够在Teku上面工作,同时Mikhail为了phase1做的一个模拟器也运行得很顺利。
Vatilik首先询问是否可以为了让状态转换的验证更加简单一点而修改一下规范?签名验证和Epoch(有时会翻译成时期,但这里建议保留英文吧)处理过程占用了绝大部分的计算资源。Epoch处理过程还包括了遍历(walking through)整个验证节点集合(validator set)。Vatilik说能否考虑减少这个计算量或者用Snark来提高效率?他说重新计算验证节点余额(validator balance),默克尔树需要大概一百万次哈希计算,那么是否可以考虑用凯特承诺来保存验证节点?同时这个余额的更新就转换成椭圆曲线操作的附加操作,带来的好处就是可以边计算边更新而不是等到epoch操作的最后,工作量上也比哈希计算要少一些。 Vatalik还建议是否考虑把状态转化的所有签名验证计算都让snark来做。
7.下一个议题是网络侧更新
Danny说上周询问过大家是否真的不需要non-snappy后,得到的反馈基本都是不需要。但是他认为还是严谨一点,在做最后的结论之前还需要获得一些数据。 Danny继续说关于gossipsub的参数还有一些讨论,他优化了一部分内容,并且在规范的仓库里面创建了一个PR,大家可以在里面讨论。
Jacek介绍说为了能让断开连接给出一个断开的原因,他修改了GOODBYE的信息,里面加入了可供选择的断开的原因。这是一个很小的改动,他还在犹豫是否要加入到一个规范的PR里面。Danny和Jacek讨论一下后认为第一步还是把这个改动变成正式的PR,第二步是让各个客户端研究一下然后提出意见,之后汇总意见再做决定。他们还一致认为了解、获取gossip内部的信息正变得越来越必要。但是现在只能获取很表面的信息,而且还是只有当证词失败的时候才能得到。所以需要有人带头把这个事情做起来。
8.下一个议题是规范讨论。Carl说团队推出了v09的哈希运算曲线。v08和v09的版本都不会影响Eth2.0,大家只要用到v07的版本就足够了。
9.下一个是开放讨论。Carl介绍说经过上次密钥安全性的讨论,他准备了一个Eth2.0的快捷启动平台(launchpad),感觉离密钥储存的标准更进一步了。下一步建议各个客户端都走一遍使用快捷启动平台的流程,看看是否与客户端的流程有冲突。Danny强调希望每个客户端都这么做,如果有流程冲突的地方就做相应的修改,并且记录下来。下个测试网就会用上快捷启动平台了。
会议结束。
与会开发者:
Aditya Asgaonkar
Afr Schoe
Age Manning
Alex Stokes
Ben Edgington
Carl Beekhuizen
Cayman
Danny Ryan
Dankrad
Grant Wuerker
Guillaume
Hsiao-Wei Wang
Jacek Sieka
Jonathan Rhea
Joseph Delong
Lakshiman Sankar
Mamy
Matt Garnett
Mehdi |Sigma Prime
Pooja Ranjan
Protolambda
Raul Jordan
Terence (Prysmatic)
Tomasz S.
Vitalik
欢迎转发,本内容遵循CC BY-SA 2.5协议:
https://creativecommons.org/licenses/by-sa/2.5/
你的支持,是对我们的认可。来打赏我们一杯咖啡吧!打赏地址:
以太坊:
0x7Ba18D8d4B0E4EB06a720aF2BeC29603078c806b
Gitcoin:
https://gitcoin.co/grants/468/ethplanet
来源:oschina
链接:https://my.oschina.net/u/4445847/blog/4530851