ETH2双周刊

Eth2进展更新(截至2020/1/10)

祝各位新年快乐~2020年的更新开始啦!🚀

新年伊始,来看看最近有哪些值得关注的事:

这是由 @JonnyRhea[5] 整合的针对以太坊研究的搜索引擎。其Gitcoin CLR匹配资助要求[6]:一些用户界面的工作需要资助。😄

 

Eth1的未来

过去几周最有影响力的提案可能来自Vitalik,他建议将Eth1链加速过渡到Eth2链之中[7]。一旦落实,这将使得当前的PoW链(Eth1主链)提前被关闭🙌

该提议的基本理念非常简单:当前的整个Eth1链将被视为Eth2系统中的一个特别的分片链(分片0)。任何Eth2的验证者都可以同时注册成为Eth1链的区块生产者或矿工。Eth1链下一个区块的矿工将会从注册者中随机选出 (Eth2协议内置随机性)。然后,该区块的有效性和可用性都将由当时被随机分配到分片0上的验证者进行验证,无论分片0的验证者是否是Eth1的区块生产者。

在这种情况下,Eth1链可以基本上保持不变,但可以快速向PoS(权益证明)机制转移。注册为Eth1的区块生产者则需要维护整个Eth1链的状态 (因此需要运行Eth1全节点),但其他的验证者仅需要做到能够“无状态”地验证区块。无状态验证机制的设计是实现该方案的先决条件。(Eth2的阶段1也是一个前提条件😂)

Vitalik的这项提案似乎受到了大家的认可,并且没有人在本周的实现者电话会议中对此表示担忧或反对。因此目前看来这项提案可能会成为新的方案。

 

阶段0 信标链实现

V0.10.0规范版本已经发布。此规范将会是另一个冻结版本,作为测试网和安全审计的基础。

V0.10.0规范的重大改变就是更新了备受期待的BLS签名实现,当前正在对其进行标准化工作。这次更新内容主要包含了对hash-to-curve(哈希映射到曲线)算法进行移除和更替。读者可以通过我的Java实现[8]来进一步了解相关背景。其他内容则维持现状,例如点序列化等。读者若是对BLS签名和BLS12-381有兴趣,我刚撰写了一篇全面的面向非加密学者的阐释文章[9],希望有所帮助。

V0.10.0规范还对网络规范、配置参数等方面作出了一些微小更改。

 

测试

Sigma Prime团队Beacon Fuzz(差异化模糊测试)[10]工作进行了一次彻底的更新。

 

网络

Harmony团队已经gossipsub的性能进行了一些模拟工作[11]。主要建议是将默认的heartbeat间隔从1秒减少至200或300毫秒。

测试网

Prysmatic Labs团队的Prysm测试网和Sigma Prime团队的Lighthouse测试网都已重新启动,这两个测试网都运行了主网配置参数💪(主网vs互操作性配置相关信息见上一期[12])

Lighthouse测试网在圣诞节之前就开始运行了,但几周之后由于一些问题不得不暂时关闭[13]。测试网圣诞假期重新启动,截至目前已经稳定运行了几周,并且将很快重新开放给公众使用。

与此同时,Prysm测试网也重启了[14],该测试网也运行了主网配置[15]。团队成员Preston在推文中表示[16]:“测试网在发布之初有些不太顺利,但目前已经流畅运行!”当前已经有13,000个验证者在排队等待加入Prysm测试网。刚开始最大速度是每个epoch加入4个新验证者,因此根据我的计算,排队人数积压了两周时间。

有作者已经发表了一篇在Windows 10[17]上快速设置Prysm网络的教程。

 

阶段1:分片实现

据本周的实现者电话会议,Vitalik和一些同事一直在致力于改进数据可用性结构。尽管目前已经存在一些有趣新颖的结构 (例如FRI[18]和多项式承诺方案[19]),但相关工作还不成熟,不足以实际应用。因此我们在初始阶段会谨慎一些,采用2D纠删码(erasure coding),可能之后再采用更为复杂的结构。

Dankrad撰写了一篇关于数据可用性检测的阐释文章[20],值得一读。

 

阶段2:执行环境

ConsenSys Quilt团队发表了一篇很不错的文章,解释并分析了在Eth2中实现状态提供者(state providers)[21]的三种可选方式。Eth1一直以来面临的挑战之一就是对节点存储区块链状态(所有账户、数据存储和合约)的依赖性。相比之下,Eth2计划转变为无状态(stateless)以太坊。这样说可能不太恰当,本质上是状态存储将成为“他人的事情”。ConsenSys Quilt的这篇文章就探索了这里的“他人”可能会是谁,以及我们将如何与之交互。

与此同时,Jonny Rhea一直在致力于拓宽执行环境设计的边界,他所构建的Anomlee[22]作为训练后的机器学习模型,是随机森林分类器(random forest classifier)的初始实现。下一步他将进行手写体数字(handwritten digits)分类器的相关工作。其主要目标是探索Eth2执行环境的能力边界。

Vitalik正致力于研究如何在执行环境中处理[23]及转移ETH。这是诸多需要经过评估的可能模型之一。

 

研究工作

Dan Boneh与其他同伴不久前发表了一篇关于Single Secret Leader Election(单一秘密领导者选举)[24]的论文。这对于验证者的匿名性和安全性来说可能会是一种重要的保护机制。

 

常规电话会议

实现者会议

1月9日进行了第31次会议。

网络

下一次会议可能在1-2周内,待定。

阶段2

下一次阶段2社区电话会议将在1月14日[29]15:00(UTC)举行。

Eth 1.x

下一次Eth1.x电话会议将在1月14日[30]举行。届时主要内容将是关于无状态以太坊,无状态对于Eth2来说意义重大,尤其是鉴于Vitalik最近在提案中建议加速Eth1向Eth2过渡。

如果读者想要紧跟进展,建议阅读最近以太坊基金会博客中有关无状态以太坊的文章[31]。也可以阅读Igor Mandrigin的这篇文章[32],文章在基于真实交易的情况下,将Eth1当前的十六进制树结构(hexary trie)与二进制树结构(binary tries)在无状态客户端性能方面进行了比较。剧透警告:二进制树结构以明显优势胜出。来自Vitalik的相关文章:Protocol changes to bound witness size(更改协议以限制见证大小)[33]。

Eth1.x的Telegram讨论组[34]非常活跃。我已经有240条未读信息了😅。

其他新闻

Mikerah[35](👋)发布了一个Eth2“office hours”文档[36],所有人都可以在上面自由问答。这个主意真的很不错,我很肯定上面会有很多人提问!

✨ Jim McDonald发表的另一篇文章阐释了成为Eth2验证者所需的成本[37]。

✨ 还记得我在上一期提到Protolambda正在尝试可视化[38]大量验证者集合的工作吗?此处是一些相关工作进展[39]。

✨ Protolambda的另一项工作是使用Python库重新设计默克尔树[40]:在缓存的和不变的二进制默克尔树树中键入可变的SSZ视图。利用SSZ设计来优化处理大型数据结构(例如Eth2信标状态)。

John Adler“基于委员会的区块链分片的安全性和可扩展性”的文章[41]。

✨ 如果读者对Eth2中新ETH(在美国)可能的法律地位感兴趣,那这篇文章[42]也许读起来颇有趣味。我个人认为,What’s New in Eth2在过去15个月的内容能够充分彰显了以太坊社区的去中心化性质。也许SEC会将其视为证据😱。

✨ Prysmatic Labs和Sigma Prime都在进行招聘工作[43] ( Paul已经在本文开头提及的播客[44]中谈到了)。

 

最后的最后

大家可以去Gitcoin Grants[45]给一些有价值的Eth2项目捐赠一些 DAI。也不要忘了“媒体”板块。由于申请人过多,所以被分为了两类。CLR匹配将持续到1月21日,这个机制将使得获得的资助成倍增加。

原文链接:https://hackmd.io/@benjaminion/wnie2_200110