以太坊基金会研究员第四次 AMA(2020 年 7 月)节选:Phase 0 的用户体验
转自: 以太坊爱好者
编者注:2020 年 7 月,以太坊基金会研究员再一次在 Reddit 上举行 AMA(有问必答)活动。本文为问答内容的节选。为便于阅读,下文对回答者的名字都做了缩写,“Justin” 代表 “Justin Drake”,“Vitalik” 代表 “Vitalik Buterin”,“Danny” 表示 “Danny Ryan”。
Phase 0 用户体验问题
问:有没有什么办法能不需要一直锁定 ETH、等待 Phase 1.5 吗?因为这个过程可能要长达两年?你们的主意呢?Vitalik: 主要的备选方案就是实现 Eth1 和 Eth2 之间的双向链桥。这是一个有挑战性的事,因为它需要 Eth1 链能够理解 Eth2 链,也就是需要 Eth1 的矿工运行 Eth2 客户端,等等 …… 这都需要整个生态系统的紧密合作,光这一项工作里面就有很多硬骨头要啃。所以,从长远来看,为缓解这个等待阶段的痛苦而做的所有计划都是不可取的,因为这个阶段最多只会持续 1 年。问:看起来我们是不会开发双向链桥了,也不会开启转账功能。那要是 Phase 0 出了严重事故,验证者的资金不就被锁死在保证金合约里面了吗?如果面对这样的极端情况(希望不会发生),我们社区会怎么选?EF 又会承担什么角色?Justin: 解决这个锁定周期的问题确实是一个优先事项。但这也是一个棘手的问题,现在还没有完美的方案。以下是几种可能的结果:
我们在双向链桥实现之前,实现信标链上的转账功能。主要风险是会出现两个市场:一个是 ETH 的市场,一个是信标链 ETH 的市场。 实现一个较慢的、以两周为单位运行的双向链桥机制。这就是一个权宜之计,为避免出现分裂的市场的有点糟糕但务实的选择。 实现一个较快的、几分钟之内就能完成转账的机制。这个也是 Eth1 完全合并到 Eth2 之前的过度方案,而且相比(2)显得不是那么务实。不过更清楚、更强大。 Eth1 完全合并到 Eth2。这是最干净、但也最难的办法。还需要做大量的工作,尤其是 Eth1 的快速关停机制。 Danny:现在确实有一种担心,就是早期验证者锁定周期不确定的问题。理想一点来看,这对早期参与者也是一件好事,因为更少的 ETH 质押量可以得到更高的潜在收益。可能这就是不得不承受的代价吧(it can be a tough pill to swallow to b dedicated to such a lockup)。
也有几种可行的办法,能在 Phase 1.5 之前为信标链协议引入验证者转账功能,但都伴随着一些复杂性和风险。现在的计划是等待 Phase 1.5,这是在验证者引导文档中用加粗标示出来的,当然,肯定会有人持观望态度。在 Eth2 启动的早期阶段,ETH 毫无疑问会锁住,但锁定的时长就看别的正在开发的部分了 —— Phase 1、Phase 1.5、Eth1.x —— 在此过程中可以有妥协,但也会增加复杂性。
问:要是信标链在启动之后除了问题,它会影响到现在的以太坊区块链吗?信标链的暂停或者回滚会影响到 1.0 区块链吗?
Justin:这正是让信标链与 Eth1 链分离的用意。在 Eth2 的早期阶段,Eth1 区块链对信标链的存在完全无感。在一个平行世界里运行一个完全独立的 “实验性” 信标链对于 Eth1 链的安全性有巨大的好处。
Danny: 如果给定资金不能转移,如果出现了不可恢复的灾难,那么核心选择就是使用保证金合约里的同一批资金重启 Eth2。问:日后会有针对取款功能的测试吗?jgm在 Discord 里面说:“我仍然对取款凭证(withdrawal credential)从未经过任何测试耿耿于怀。很多环节都可能出问题的。我已经知道我们短期内是不会开启转账功能了,但我会希望有某种形式能支持取款。甚至是一个 API 端点,可以接受伪交易(附带由取款私钥签名的消息、取款私钥对应的公钥、以及取款凭证)来支持取出相应的保证金。”这是一个核爆按钮(nuclear option)。我们的出发点是只要还有办法能保证 Eth2 主网的连续性,就处理好所有事情、不去动用。
Danny: 密钥生成和存款有关的工具都能够、也必将测试取款条件。问:以太坊基金会推出一个私钥分割验证者的标准和实现吗?举个例子,以太坊基金会开发了 ”deposit launchpad“(保证金启动器)以及保证金 CLI(下一个测试网时就会推出!)可以在提交保证金前验证取款凭证。
虽然我们不是 “在链上” 做这个测试,但所有的保证金存入操作都应该做这个额外的验证操作。
从 编程/算法 的角度来看,取款凭证只是一个躲在一个哈希值背后的 BLS 公钥。我们还在很多其它环境下测试了哈希算法、BLS 密钥生成/签名验证方法,所以我并不担心,到时候一切都会顺利的。
Dankrad Feist: 本质上来说,取款凭证只是你使用取款私钥生成一个签名,然后让一个软件来检查一下。
我认为有一个服务或者一个正式的 软件/脚本 来做会好一点,我也很乐意支持这样的创造。
Aditya Asgaonkar: 我不确定以太坊基金会 应不应该/会不会 推出这样的私钥分割型验证者实现。我预计会有很多实体希望提供 开源/自由使用/商用 的实现。原文链接: https://www.reddit.com/r/ethereum/comments/ho2zpt/ama_we_are_the_efs_eth_20_research_team_pt_4_10/ 作者: Eth2 Research Team 翻译: 阿剑至于我们 Eth2 研究员,我们已经有过一些讨论。举个例子,这里有一个我一直在开发的 WIP 协议。