• 3

  • 92

Eth2 更新速览 (8)

Jhonny

如果你想成为社区翻译贡献者:contact@unitimes.io。更多内容→unitime.pro

6个月前

作者 | Danny Ryan

最新的 Eth2 更新速览来啦!接上一篇《Eth2 更新速览(7)

摘要:

  • Runtime Verification 团队已经完成了抵押合约 (deposit contract) 字节码的审计和形式化验证工作。
  • 过去一个月的主要工作是“优化”
  • Quilt 团队和 eWASM 团队继续推进着阶段2的研究工作。同时欢迎 TXRX 团队加入进来。
  • Whiteblock 发布了 gossipsub 测试结果
  • 激动人心的春天!有很多会议、黑客松、赏金活动等等可以参加

Runtime Verification 完成抵押合约的审计和形式化验证

Runtime Verification 团队最近完成了对 Eth2 抵押合约的字节码的审计和形式化验证工作。这是一个重大的里程碑事件,使我们更加接近 Eth2 阶段0主网的启动。由于这项工作已经完成了,我在此请求社区进行审查和评论。如果在形式化规范中存在缺陷或者错误,请在 Eth2 规范库上发布问题。

k 框架中指定的形式化语义定义了 EVM (以太坊虚拟机) 字节码应该执行的明确行为,并证明这些行为是正确的。这些行为包括输入验证 (input validations)、迭代的默克尔树的更新、日志等等。在这里可以看到对指定内容的 (半) 高级讨论,在这里深入了解完整正式的 K 规范。

在这里我想要感谢 Runtime Verification 团队的 Daejun Park 在这方面工作的领导作用,以及 Martin Lundfall 和 Carl Beekhuizen 在此过程中给予的很多反馈和审查。

再说一下,如果这些内容是你感兴趣的,现在就是时候来为这些形式化验证工作提供输入和反馈 – 请前往看看。

过去一个月的工作是“优化”

过去一个月的工作都是关于优化方面的。

尽管对于以太坊社区来说,“这方面优化10倍”和“那方面优化100倍”不是那么的显而易见,但是这个开发阶段对于我们到达终点线来说和其他阶段一样重要。

信标链的优化至关重要

信标链作为 Eth2 的核心,是这个分片系统其余部分的必要组件。客户端想要同步任何分片 (不管是单个分片还是很多分片),就必须同步信标链。因此,为了能够在消费级机器上运行信标链和少量分片,最重要的是信标链的资源消耗相对较低,即使在大量验证者参与 (比如约 300k 验证者参与) 的情况下也是如此。

为此,在过去一个月里,各个 Eth2 客户端团队的大部分工作都是致力于优化工作 – 降低阶段0 (信标链) 的资源需求

我很高兴地告诉大家,我们正在取得非常棒的进展。接下来的内容并不全面,只是让你对这方面的工作有一个大致的了解:

Lighthouse 可以轻松运行 100k 验证者

几周前,Lighthouse 关闭了他们的运行约 16k 个验证者的测试网,原因是一个证明 gossip relay loop 导致了节点本身的 DoS 问题。Sigma Prime 团队快速地修补了这一漏洞,并将目光投向了更宏大更好的东西,即一个能够运行 100k 验证者的测试网!他们过去两周致力于相关的优化工作,使这个真正得以扩展的测试网成为现实。

每个演进的 Lighthouse 测试网的其中一个目标,都是确保数以千计的验证者可以轻易地在一个小型的配备 2 CPU 和 8GB RAM 的 VPS 上运行。在最初的运行 100k 验证者的测试中,客户端使用了一致的 8GB RAM,但经过几天的优化之后,Paul Hauner (Sigma Prime 联合创始人) 得以将其降低到稳定的 2.5GB,并且想要很快将其进一步降低。Lighthouse 在状态的哈希运算 (hashing) 方面也取得了 70% 的改进。当前,状态的哈希运算 (hashing)BLS 签名验证一起构成了 Eth2 客户端的主要计算瓶颈

全新的 Lighthouse 测试网即将推出。可以加入他们的 discord 聊天室来进行跟进。

Prysmatic 测试网仍在运行中,同步方面有了很大改进

几周之前,当前的 Prysm 测试网庆祝了他们完成了第 100,000 个 slot,有超过 28k 验证者参与了验证 (备注:slot 是指 Eth2 中生成一个区块的时长)。今天,该测试网已经完成了 180k 个slot,且有超过 35k 验证者参与进来。保持一个公共测试网运行,同时进行更新、优化、稳定性修补等等,这是相当了不起的

Prysm 方面还有大量的实质性进展正在进行中。在过去几个月中,我与许多的验证者进行了交流,在他们看来,Prysm 客户端在继续实现显著的改进。一个特别令人兴奋的方面就是同步速度的提升Prysmatic 团队已经将其客户端的同步速度从每秒同步约0.3个区块提升到了每秒20个区块。这极大地改善了验证者的用户体验,允许他们更快地连接该网络并开始参与网络的验证。

Prysm 测试网方面的另一个令人兴奋的事情是,Alethio 新增了对 Eth2 节点的监控 – eth2stats.io。这是一个选择性加入的服务,允许各 Eth2 节点在一个地方聚合统计数据。这将使我们能更好地了解测试网 (以及最终的主网) 的状态。

耳听为虚眼见为实!你不妨自己亲自去试试

大家都喜欢 proto_array

核心 Eth2 规范经常会 (有意地) 明确规定预期的非最佳行为。该规范代码的优化是为了可读性,而不是性能。

规范往往会描述某个系统的正确行为,而算法是执行某个指定行为的程序。实际上同一个规范可以由不同的算法实现。因此,Eth2 规范允许对各个组件进行各种不同的实现,因为各 Eth2 客户端团队会考虑任意数量的不同权衡折中 (比如,计算的复杂性、内存使用情况、实现的复杂性,等等)。

其中一个例子就是分叉选择 (fork choice) – 即用于找到区块链的链头 (head) 的规范。Eth2 规范明确了使用一种简单的算法来清楚地显示移动部分和边缘情况的行为,比如当有新的证明 (attestation) 进来时要如何更新验证者的投票权重,当新的区块被敲定时该做什么,等等。规范算法的直接实现是永远无法满足 Eth2 的生成需求的,相反,各客户端团队必须在其客户端运行的情况下更深入地考虑相关的计算权衡,并实现更复杂的算法来满足这些需求

对于各客户端团队来说,幸运的是,Protolambda (以太坊基金会研究员) 大约在12个月之前就实现了一组不同的分叉选择算法,并记录了每种算法的优缺点。最近,Sigma Prime 的 Paul Hauner 发现了 Lighthouse 的分叉选择算法中的一个主要瓶颈,并开始探索新的研究。他在 Protolambda 之前的列表中发现了 proto_array 算法

虽然移植 proto_array 以适应最新的规范花费了一些工作量,但集成之后,proto_array 已被证明能够“使运行的时间少了几个数量级,执行的数据库读操作也少了很多”。在最初集成到Lighthouse 之后,Prysmatic 很快也开始使用它,并在最近的版本中发布。与其他算法相比,这个算法有明显的优势,proto_array 很快就成为了大众的最爱,我非常希望看到其他团队也能很快上手使用它!

Quilt 和 eWASM 团队在继续阶段2的研究工作,现在 TXRX 也加入进来了

Eth2 的阶段2 会将状态执行加入到具有分片结构的 Eth2 系统中。尽管阶段2的一些核心原则是相对确定的 (比如,分片之间通过交联 (crosslinks) 和默克尔证明 (merkle proofs) 进行通信),但阶段2的设计领域仍然相对开放在过去的一年里,Quilt (ConsenSys 的研究团队) 和 eWASM (以太坊基金会的研究团队) 已经花费了大量的精力来研究和更好地定义这个广阔的开放设计领域,同时也在进行着阶段0和阶段1的规范和构建工作。

为此,最近出现了一系列的公开电话会议和讨论,ethresear.ch 也发布了一些帖子。当前有一些很好的资源可以帮助大家了解情况,以下仅选取一些:

除了 Quilt 和 eWASM 团队外,新成立的 TXRX (ConsenSys 的研究团队) 也致力于阶段2研究的一部分工作,他们最初将重心放在更好地理解跨分片交易的复杂性,并研究和原型化将 Eth1 集成到 Eth2 之中的可能路径。

阶段2的所有研发工作都是相对新颖的领域。在这个领域中有着巨大的机会进行深入研究并带来影响。在这一年中,你将看到更多具体的规范和开发人员的游乐场。

Whiteblock 发布 libp2p gossipsub 测试结果

本周,Whiteblock 发布了 libp2p gossipsub 测试结果,这是由 ConsenSys 和以太坊基金会共同资助的一项工作的成果。这项工作的目的是验证该 gossipsub 算法以供 Eth2 使用,并深入了解性能的边界,以推进后续的测试和算法强化。

大概的情况就是这波测试的结果看起来是可靠的,但是应该进行进一步的测试,以便更好地观察消息传播将如何随着网络的规模而变化。可以查看详细介绍他们的方法、拓扑结构、实验和结果的完整报告

激动人心的春天!

这个春天充满了激动人心的会议、黑客马拉松、Eth2 赏金等等!每一场活动都会有一组 Eth2 研究人员和工程师参加。过来交流一下吧!我们很乐意与你讨论工作进展、测试网上的验证、今年的期望以及你可能想到的其他事情。

现在是参与进来的好时机!许多客户端都处于测试网阶段,因此有各种各样的工具要构建,要运行各种实验,而且很有趣。

以下是许多计划中的具有坚实的 Eth2 象征意义的活动:

🚀

原文连接:

https://blog.ethereum.org/2020/02/04/eth2-quick-update-no-8/

【本译文首发于Unitimes App,文章版权归原作者所有,译文由Unitimes团队翻译,内容仅代表原作者立场,不代表Unitimes立场,亦不构成任何投资意见或建议。翻译和发布文章仅为传播更有价值的信息,合作或授权转载请发邮件至editor@unitimes.io或添加微信unitimes2018】

ETH

92

相关文章推荐

未登录头像

暂无评论