ETH 2.0 以太坊基金会博客

Eth2更新速览(四)

Eth2更新速览第四期来啦!除了eth2客户端的持续开发,本周还有许多其他值得讨论的内容。

 

要点首看:

 

资助差异化模糊测试研究

Sigma Prime团队获得了一笔资助,以进行eth2客户端的差异化模糊测试工作。模糊测试可以在主网部署之前识别共识问题,因此这项工作对于能否成功发布多客户端网络来说至关重要。

“模糊测试”是指在软件中抛出许多随机输入以观测其反应的行为。在对软件进行模糊测试时,通常的目标是寻找导致意外崩溃的输入。找到该输入后,我们便找出了问题所在,并就此对软件进行调试。

差异化模糊测试有些不同。我们不是在测试中寻找崩溃原因,而是寻找协议的不同实现针对相同输入具有不同输出的情况。在区块链语境中,我们使用差异化模糊测试来检测一系列区块在两个不同客户端上呈现不同结果状态的情况。理想情况下,产品中不应该存在该情况。

 

轻客户端工作小组

Chainsafe / Lodestar是针对eth2轻客户端进行研发的以太坊基金会资助获得者,现组成了轻客户端工作小组。该工作组的任务是确保轻客户端成为eth2的第一类成员(first class citizens)。为此,成员每月举行一次电话会议,旨在推动轻客户端的研究、标准、规范和教育。

仅在类似eth2的分片协议中,才需要丰富的轻客户端和轻客户端服务器生态系统。即使客户端正在同步协议的某些子集(例如,仅几个分片),用户也将经常需要获取另一个分片上的帐户、合约和事物一般状态的信息。用户当然可以用低效的方式同步整个附加分片,但通常情况下,轻松地请求分片上特定帐户中具有简洁证明的信息将成为可行方法。

想要了解eth2中的所有最新信息?请关注下一次Light Client Task Force电话会议

 

eth1 -> eth2 单向桥接

在eth2的早期,从现有的以太坊链(eth1)向新的信标链(eth2)上转移以太币的操作将是单向的。也就是说,在早期,转移至eth2进行staking的以太币将无法转回eth1链。之所以选择单向转移验证是为了最大程度地减少eth2对eth1造成的风险,并且由于不必在持续开发过程中对eth1进行分叉,eth2的开发周期会更快。目前针对创建双向桥有一些进展,但是我将在以后的文章中继续讨论桥接机制和其中的权衡取舍。今天,我想进一步阐释这种单向桥接的运作原理,以及如何在不更改eth1的情况下保证其安全性。

在当前的以太坊PoW链上,我们将部署eth2验证者合约。该合约中有一个deposit函数,以接收许多其他参数 (例如私钥、提款凭证、ETH抵押等)来初始化新验证者。这个合约中没有withdrawal函数。由于并未采用双向桥接机制,也不会对eth1进行分叉,因此抵押的ETH只会存在eth2的信标链上。

然后,验证者的职责就是对该合约的状态达成共识,以便继续处理新的抵押。具体实现方式在于eth2的区块提议者将最近的eth1数据嵌入一个名为eth1_data的信标区块字段中。在投票期间,如果有足够的区块提议者对最近的eth1_data达成共识,该数据就会被保存在信标链的状态中,然后继续处理新的抵押。

eth1_data在eth1的PoW链中嵌入较深,大约为1000个区块的“间隔距离”,这是该机制尤其需要注意的一个地方。这个“间隔距离”的存在会使得在处理新验证者抵押时出现高延迟性,但同时却为两个系统的耦合提供了高度安全性。eth1链需要重组1000个区块的高度才能阻断这种耦合,在这种情况下,往往还需要一些人工干预才能完成。

当前我们正在针对如何利用信标链对eth1进行最终确定(即最终确定性小工具,the finality gadget)进行研究和原型设计。这要求eth1的分叉选择最终要遵循信标链,通过PoS验证者来获取安全性,并使得以太币能更快地从eth1向eth2进行转移抵押。该最终性小工具也将开辟其他有趣的内容,例如双向桥接以及使得eth2的数据层公开给eth1。更多相关内容将呈现在之后的文章中,敬请关注。

 

原文链接:https://blog.ethereum.org/2019/11/21/eth2-quick-update-no-4/