42

通告 | Eth2 更新速览 No.4

 4 years ago
source link: https://ethfans.org/posts/eth2-quick-update-no-4
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

当当的当,Eth2 更新速览第四篇!本周有很多东西要谈。除了史诗般的 Eth2 客户端开发工作,还有如下要点:

Differential fuzzing 奖金

Sigma Prime 获得了一项奖金,用于领导 Eth2 客户端的 differential fuzzing 测试工作 。这部分工作对于一个多客户端网络的成功启动是至关重要的,因为它可以帮我们发现一致性问题。

所谓的 “fuzzing”,就是给一个软件丢入许多随机的输入,然后看软件有什么反应。使用这种办法测试软件的时候,我们的目标就是找出那些会导致意外宕机的输入。发现有这样的输入之后,接下来就是找出错误的根源并加强软件的功能。

Differential fuzzing 与单纯的 fuzzing 又有点区别,在这里我们不是要发现导致错误的输入,而是看看在同一协议的不同实现中,哪些输入会产生不同的输出。在我们的工作中,我们想用这种办法里发现在哪些情况下,同样的一系列区块会在不同客户端中产生不同的状态(进而发现不同客户端的一致性问题)。生产环境中是不能出现这种情况的。

轻客户端特别小分队

Chainsafe/ Lodestar 是以太坊基金会所颁发的 Eth2 轻客户端研究和开发奖金得主。他们成立了 轻客户端特别小分队 。他们团队给自己的任务是保证轻客户端变成 Eth2 中的一等公民。为实现这个目标,他们正在主持一个 月度的视频会议 ,致力于推动轻客户端研究、标准、技术规范和教育。

在 Eth2 这样的分片协议中,对轻客户端生态系统和轻客户端服务器的需求只会更多,不会更少。即便一个节点近同步协议的一部分(例如只同步几个分片),他也会经常需要其它分片的账户、合约和普遍状态的信息。客户端当然可以同步额外的整个分片,但这样效率很低,更有可能只是轻量级地请求另一个分片上某个账户的信息,只需一个简洁证明就可以搞定。

请关注下一次的 轻客户端小分队视频会议 以了解 Eth2 轻客户端的所有前沿内容。

Eth1 -> Eth2

在 Eth2 早期,从现有的以太坊主链(Eth1)到新的信标链(Eth2)上的 Ether 转移是单向的。也就是说,转移到 Eth2 上用于质押的 Ether 不能转回 Eth1 上。实行这种单向转移是为了最小化 Eth2 给 Eth1 带来的风险,并且让 Eth2 可以有一个更快的开发周期、无需对 Eth1 施行硬分叉。

现在也有一些围绕创建双向链桥的想法,不给我会把讨论不同链桥机制利弊的内容放在日后的推文中。当前,我想更具体地谈谈单向链桥是怎么工作的、如何能在不改动 Eth1 的条件下安全地实现。

在现在的以太坊 PoW 链上,我们会部署 eth2 验证者合约 。这个合约里面有一个简单的函数叫做 deposit (“存入”),它可以接受多个参数(例如:验证者公钥、取款认证信息、存入的 ETH,等等)并初始化相应的新验证者。这个合约里面是没有 withdrawal (“取款”)函数的。除非我们用硬分叉来构建双向链桥,否则这些存入验证者合约的 ETH 就只存在于信标链上了。

然后,信标链上的验证者会对该合约的状态达成共识,新存入的保证金也由此得到处理。具体的实现方式是:Eth2 的区块提议者将最近的 Eth1 数据打包到信标链区块里面一个叫做 eth1_data 的字段里面。当在一个投票期中有足够多的区块提议者都同意最近的 eth1_data ,这些数据就会存到信标链状态中,好让新的准备金得到处理。

有必要强调的是, eth1_data 所采用的数据必须足够深,要跟最新区块隔着约 1000 个区块的 “跟随距离”。这个跟随距离会导致准备金处理出现很高的延迟,但也会为两个系统的耦合带来更高的安全性。只有深于 1000 个区块的重组才会打破这个链接,在这种情况下,我们就需要一些手动干预来解决问题了。

我们正在研究并制作利用信标链来敲定 Eth1 链的原型(即确定性小工具)。这样做会需要 Eth1 最终将分叉选择推迟到信标链的敲定状态上(defer its fork choice ultimately to the beacon chain);Eth1 将能从 PoS 验证者处获得安全性、并支持更快速的保证金处理。确定性小工具也会打开一些有趣的可能性,比如双向链桥、把 Eth2 的数据层暴露给 Eth1。敬请期待!

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

作者:Danny Ryan

翻译:阿剑


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK