通告

Eth2 更新速览,No.12

Ajian   |     |   611 次阅读

Eth2 的许多相关工作一如既往在推进。除了下文所列出的进展更新以及其他公开工作总结中的内容,客户端团队、贡献者、社区成员以及准验证者也没有丝毫懈怠!

在本文中,我们将谈到保证金合约的重要动态,以及实现 0.12 版本规范的重大举措。

要点速览

Solidity 保证金合约及形式化验证

在此,我们宣布推出使用 Solidity 编写的、更安全的新 Eth2 保证金合约!该合约保留了之前的公共接口(增加了 EIP 165 中的 supportsInterface 功能),因此对于当前的客户端和开发者工具来说,这次更改毫无影响。实际上,合约的 Solidity 代码主要是根据初试的 Vyper 合约进行逐行转化,以便进行审核及形式化验证。

在过去几个月中,Alex Beregszaszi 一直在致力于用 Solidity 重写 Eth2 保证金合约,目前已经由多位 Solidity 专家完成审核,并且也通过了 Runtime Verification 的形式化验证,Runtime Verification 基本上重用了一开始为 Vyper 版本的合约使用的 K 亏翻。

尽管 Vyper 版合约经过了严格的测试、审查和形式化验证,但 Vyper 编译器的安全性,依然存在隐虑。因为在对 Vyper 合约进行字节码验证时,在编译器中发现了多处漏洞(已经修复)。除了首次形式化验证,Suhabe Bugrara(来自 ConsenSys R&D 团队)再次对 Vyper 版合约进行了复核与形式化验证,正式规范基于其结果进行了许多优化(有助于简化 Solidity 版保证金合约的验证)。尽管验证结果证明了其可靠性,但 Suhabe 依然认为只要使用 Vyper 编译器,就不能说字节码是安全的。

同时,ConsenSys DiligenceTrail of Bits 对 Vyper 编译器进行了深入的安全性调查,结果发现了更多漏洞,并且引发了大家对 Vyper 编译器代码库系统安全性的担忧。

抛开这些调查结果,Vyper 仍然是一种很有潜力的编程语言。基于 Python 的编译器并未止步,并且有许多贡献者都在探索如何将 Vyper 规范化,并且为其寻求替代编译器。

尽管对形式化验证之后的代码充满信心,但在 Vyper 编译器中发现的问题导致我们对字节码验证极度依赖。相比使用有问题的编译器,然后再验证这些已知(或未知)的漏洞并没有对字节码产生影响,不如一开始就使用安全性得到公认的编译器对字节码进行验证。

为了避免关键的保证金合约在安全性上受到任何质疑,我们建议为 Eth2 主网使用新的 Solidity 合约,我们也欢迎 Solidity 合约和 EVM 代码专家来审核新保证金合约及其形式化验证结果。如若在保证金合约中发现任何漏洞,都可以申请 Eth2 阶段 0 赏金

注意:新的保证金合约暂未被纳入规范库。我会在这周将 Solidity 合约并入规范,并且尽快以次要版本形式发布。在此提前宣布是为了给社区预留充分的时间从事审核工作。

Altona: 0.12 版本规范测试网

自从 0.12 版本规范发布以来,客户端团队都在马不停蹄地更新和测试自己的代码库,以迎接公共测试网的到来。

我看到了很多来自社区(discord/reddit 等等)的疑问:为什么一个看起来并不重大的更新却需要耗费这么长的时间来完成?尽管每个客户端的代码库和面临的挑战不尽相同,但客户端团队们都对 0.12 版本规范极为重视。虽然这个版本的规范更新并不棘手,但是大家在强化客户端安全性和功能性方面花费了额外的时间,以期为主网发布之前的最后一个准主要版本规范做足准备。

采用 0.12 版本规范的第一个公共多客户端测试网 —— Altona 预计在接下来的 7 天内启动。初始时期,Altona 测试网将由主要客户端团队(计划是Lighthouse/Nimbus/Prysm 和 Teku),Afri Schoedon 和几位 EF 团队成员参与。发布之后,将公布保证金合约地址,届时就可以开放给公众参与了。

如同之前的多客户端测试网,Altona 更像是一个开发者网络,而不是以最终用户为主导的测试网。也就是说,Altona 的首要任务是帮助客户端团队在生产环境中测试其 0.12 版本软件,并且使得 Eth2 工程师能够发现并解决多客户端情境中的漏洞。即使如此,我们依然欢迎大家参与到 Altona 测试网中。如果 Altona 成功运行,那么我们会开启一个更大的、以社区为主的主网配置测试网,最少需要 16,384 名验证者来激活网络。

对了!Altona 会使用最新的 Solidity 保证金合约 。如我所说,这对 Eth2 客户端软件来说毫无影响,因为公共接口没有改变。我们非常期待能在生产环境中测试保证金合约!

资助 Sigma Prime 的 beacon-fuzz

在此我们很高兴宣布继续资助 Sigma Prime 的多客户端模糊测试 beacon-fuzz。截至目前,这个项目已经取得了巨大成功,检测出了系统中所有客户端的漏洞

大家可以参阅 Sigma Prime 的博客来跟踪进展。也请大家持续关注 beacon-fuzz 的扩展计划 “宅家进行模糊测试”,以便能参与其中,说不定在家庭电脑上就能找到 bug!

最新 Eth2 博客文章

如果读者朋友们还没有阅读我几周前发布的文章,现在也为时不晚!请参阅《Eth2 截至 2020 年 6 月的进展》,看完之后大家会对 Eth2 项目的发展现状以及 Eth2 如何成为真正的以太坊有更加清晰的认识。

(完)


原文链接: https://blog.ethereum.org/2020/06/23/eth2-quick-update-no-12/
作者: Danny Ryan
翻译&校对: ECN 以太坊中国

本译本来自 ECN 以太坊中国,EthFans 经授权转载。


你可能还会喜欢:

截至 2020 年 6 月,以太坊 2.0 的发展状况

 
0 人喜欢