引介 | EF Eth2 研究团队第五次 AMA 节选(路线图)

以太坊爱好者
以太坊爱好者 得得号

Nov 20, 2020

该文章已上链

摘要: 有关路线图的变更

 

编者注:北京时间 2020 年 11 月 18 日 21 时,以太坊基金会的 Eth2.0 研究团队在 Reddit 论坛上开展了新一期 AMA 活动。名义上,这是为 Eth2.0 的 Phase 0 创世而举办的一期 AMA,但网友们的没有局限在 Phase 0 创世上。实际上,与 Staking 相关的问题只占一小部分,更多的问题集中在两个方面:(1)Eth2.0 的未来路线图;(2)以太坊 1.0 和 2.0 的合并时间。这也很容易理解,一方面,大家希望知道 Eth2.0 的长期前景;另一方面,合并的时间也关系到用户存入的押金在什么时候能够释放出来(实际上关系更密切的是历程碑是押金什么时候开放转账,但在用户眼里,合并这个事件显然意味着更多)。

毫无疑问,这两个问题是相关联的;毫无疑问,所有人都在期待一个更清晰的答复;也毫无疑问,此次放出的信息,使路线图看起来大有不同。

我们节选了与 Eth2.0 未来路线图和 Eth1.0-Eth2.0 合并时间的问题,翻译了研究团队的回答。

这里是第一部分,有关 Eth2.0 未来的路线图。文末还附带了两个问题,有关 rollup 方案的技术潜力,以及自营 Eth2.0 验证者节点+信标链节点的开销。


 

路线图变更

 

嗨,伙计们,关于即将上线的主网,我的破冰问题是:你们认为 Phase 0 上线后,当前规范中哪部分的变化会最大?

Vitalik

这个问题有点突然,但是在过去的几个月中,路线图上有很多工作都在推进,我认为有必要总结一下有哪些部分已经发生了变化(这与接下来两年规范代码的发展有关):

最重要的三个变化是:

  • 以 rollup 为中心的路线图,将“phase 1”的设计简化为分片数据(shard data)(供 rollup 使用),更易于实现。
  • 简化 Eth1-Eth2 合并。根据这个路线图,(i)eth1 交易直接存在于信标链而非分片上,(ii)得益于乐观性执行(optimistic execution),合并阶段的执行暂停(execution pause)时间可能会大大缩短。这会让合并变得更容易实现,而且概念证明(PoC)已经开始实现。
  • 阶段性工作并行化。这是最新、可能也是最被低估的一个变化。从本质上来说,就是(i)轻客户端支持,(ii)数据分片(即 phase 1),(iii)合并,三者都独立于其它项来推进,这样每个部分只要准备好就可以实现,无论其它部分处于什么阶段。

这些变化的目的是让 eth2 能够尽早变得有用。轻客户端支持可能会在分片之前实现,让信标链尽快发挥作用,甚至成为用来在 eth1 上达成共识的工具。简化合并意味着双链合并将更早发生。阶段性工作并行化能够让合并比预期更快实现,甚至有可能比分片还要早

作为 “以 rollup 为中心” 策略的一部分,“phase 2”(原生的分片化执行)暂时不会再被强调。这是因为 “phase 2” 的 最终目标 (超高 TPS),让 “数据分片(phase 1)+ rollup ” 的方案来实现,效果会更好,而且后者还有望比 phase 2 更早实现。因此,现阶段我们最好将所有精力都放到如何推进这些方案尽快实现上。尽管如此,我们不会采取任何不可逆的措施,导致我们未来无法引入原生的分片化执行。在任何时候,我们的路线图都完全兼容原生的分片化执行。

一句话总结:合并会提前实现,PoS 会提前实现,我们将提前迎来 10 万 TPS。

Justin Drake

从长期来看,信标链的大部分逻辑都有可能发生巨大变化:

  • 轻客户端支持
  • 秘密的领袖选举,用于挑选区块提议者
  • 可验证延迟函数(VDF)的无偏倚随机性
  • 针对 eth1 合并的 eth 投票改造
  • 信标链区块的数据可得性(data availability)采样
  • 将 BLS 聚合签名升级成后量子替代方案
  • 将 Casper FFG 升级成 Casper CBC
  • (如果 SHA256 不再安全)将 SHA256 替换成算术化友好型哈希函数,或更安全的函数
  • 通过一些调整让状态转换函数对欺诈证明、SNARK 化 和/或 形式验证更加友好


 

那么,路线图中还有哪个部分,是你们没有头绪怎么做的吗?还是说都已确定有可能实现了?

Justin

我认为,实现数据分片和 Eth1/Eth2 合并的研究都完成了,或者说风险很低 —— 现在已经变成主要是工程和协调问题了。

我认为,我们最终会需要一个新的核心虚拟机(也就是 “Phase 2”)来替代 EVM。如果可以是一个 zkVM,也就是 EVM 的一个 SNARK 友好型替代方案,那就很棒了。在 Eth2 zkVM 的研究和工程方面仍有许多重大的开放问题。

Dankrad:

从研究的角度看,我会说,没有哪一个我们是有具体计划的(Phase 0,1,2)。不论是 Phase 1(数据可得性)还是 Phase 2(无状态执行,以及一个更大的问题,我们需不需要使用一个新的 VM 比如 eWASM),都还有实践(执行)问题需要解决。

在更长的路线图上,我们还需要量子安全性。这是一个我们仍需研究来使之变得可行的领域(虽然某些带有牺牲的系统可能可以安放在任意场景中)。

 

以太坊 2.0 的不同组件(轻客户端、分片、合并、eWASM、执行环境,rollup,等等)中,哪些仍然是研究课题,离实现阶段还有多远?

Danny

我不确定 eWASM 是不是真的会放到主网上。与 EVM 相关的合约、工具、语言、优化项,等等,数量都仍在急剧扩大。此外,从 eWASM 中获得的性能提升,与我们已有的 EVM 相比,可能微乎其微。更何况,EVM 本身已经成了一个区块链标准。

“执行环境” 提议也搁置了。尚不清楚,这种抽象层是否(1)能物有所值,带来对得起其复杂性的实质价值;(2)用 eWASM/EVM 来编写这些执行环境是否足够高效。

Justin

  • 轻客户端。研究和规范化工作大部分已经完成了。实现也相对简单。
  • 数据分片。研究基本上完成了,正在形成规范。数据可得性采样技术中有一些工程上的调整,但我们已经知道如何在委员会内部实现简单的数据分片。
  • 合并。预计针对合并的协调会很难,尤其因为要处理的是不断增生的 Eth1。
  • eWASM。Phase2(即,拥有一个 Eth2 核心虚拟机)对于以 rollup 为中心的短期路线图来说,不再具有最高优先级。在长期中,我估计我们会拥有一个核心 VM,WASM 是首要的种子选手。
  • 执行环境:在中期,rollup 及各种 VM 已足以替代 EE(从长期来看也有可能如此)。
  • rollup:rollup 技术本身并不是 eth2 的一部分 —— 它是一种新兴的 Laery-2 方案 —— 所以这个问题超出了我们研究团队的关切范围。


 

TXRX 团队在第 52 次 Eth2 实现者会议上说:

可执行信标链提议:直接将 eth1 链放到信标链上。这会降低通信复杂度,实现即时存取款,并为一些应用提供同步。下周将发布工作。

以太坊基金会会改变 eth2 的架构吗?

Danny

如果我们只有一条执行链(eth1),那么将这条链作为一等公民原生集成到信标链上能够提供最高的安全性,实现对分片数据承诺(sharded data commitments)的即时原生访问,并大幅降低共识难度。这是一个非常优雅的设计,而且目前正处于原型设计阶段(我们或许很快就能看到信标链合并测试网!)。到目前为止,我个人比较喜欢这种设计,但是几个月后我们将了解更多。

 

既然新的计划是放弃分阶段开发,转向轻客户端、合并和分片并行开发,那你认为三者的交付顺序会是怎样的?(哪些部分会更容易实现?)

Vitalik

我认为,轻客户端将在 2021 年实现,如果我们努力一下,甚至有可能赶在 2021 年年初实现。至于合并和分片,我预期我们将在 2021 年年底看到成熟的测试版本,但是不确定是否会主网上线。

Danny

轻客户端功能是在现有信标链基础上的简单升级,因此几乎可以肯定这会是第一个实现的。

除此之外,我并不是 100% 确定。我相信合并比分片容易实现,但是需要更多维护、测试和协调,因为这会影响到以太坊主网。鉴于这些复杂的因素,我目前还无法判定分片和合并的交付顺序。我想,这个问题的答案或许在第一季度末就会浮出水面。

Justin

交付顺序(相对来说比较有把握):

  • PoS —— “phase 0”
  • 轻客户端 —— “phase 0.5”
  • 数据分片 —— “phase 1”
  • 合并 —— “phase 1.5”
  • 高级虚拟机 —— “phase 2”

 

其他

 

为 phase 2 设想的所有执行环境都能在 rollup 上实现吗?在创新方面,以 rollup 为中心的路线图有哪些不足?

Vitalik

是的,任何执行环境都能在 rollup 上实现。我想说的是,以 rollup 为中心的路线图更有利于创新,因为它的免许可性更高(任何人都可以使用任何规则创建 rollup)。因此,对于不同的团队(包括与当前核心开发流程关系不大的团队)来说,更容易加入进来。

这一方案的主要缺点是,由于不同 rollup 的内部执行规则完全不同,我们有可能会失去开发者网络效应。尽管如此,我的预测是,如果出现这种情况,很快就会形成一套主流标准,其它标准则趋于小众化。

Dankrad

从本质上来说,rollup 就是 “谁来确保正确执行” 的问题。如果没有 rollup,那么提供 Layer 1 安全性的实体都是相同的(eth2 上的验证者)。在 rollup 中,会有其他实体来提供安全性,有两种方式:为正确执行创建零知识证明(zkrollup —— 目前不适用于通用执行)(译者注:创建的其实是计算完整性证明,未必具有零知识性),或生成欺诈证明(optimistic rollup)。

从功能上来说,任何执行环境都能在 rollup 上实现。zkrollup 可以提供与链上执行相同的安全性,但是需要很多资源来创建证明,这会影响到抗审查性。optimistic rollup 主要牺牲的是终局性——作为用户,你无法知道交易是否得到最终确定,除非你将之前的所有交易都执行一遍(译者注:即使不运行所有交易,optimistic rollup 的状态挑战期也是有上限的,因此只要相应的挑战期结束,相关的状态就获得了终局性,而不是像 Dankrad 说的这样只有自己运行才知道)。

Justin:

任何虚拟机都可以在 rollup 上实现,只要对欺诈证明(针对 optimistic rollup 方案)和/或算术化(针对密码学 rollup 方案)友好即可。

以 rollup 为中心的路线图非常有利于创新,因为我们将看到许多无需与 eth2 核心虚拟机竞争的实验。前面已经说过,以 rollup 为中心的路线图确实(在安全性和可用性方面)有一些权衡。我认为,eth2 核心虚拟机(“phase 2”)终将实现。

 

事实证明,推荐使用的验证者硬件至少需要 16GB 内存 + 至少 1TB 的固态硬盘。原因有两个:一个是因为,在网络无法获得终局性的时候,节点的资源使用量会大幅飙升;另一个是:为了对 eth1 的最新块投票,一般都建议使用 geth 客户端。

如果每一个验证者节点都要运行 Geth 客户端,或至少有能力运行它,为什么不让每一个信标链区块都包含一个新的 eth1 区块,让信标链区块生产者更快地替代矿工?

Vitalik

如果每一个验证者节点都要运行 Geth 客户端,或至少有能力运行它,为什么不让每一个信标链区块都包含一个新的 eth1 区块,让信标链区块生产者更快地替代矿工?

这是个事实,所以我们也正计划这样做(译者注:“planning on doing”的项目不明,Vitalik 说的可能是新路线图的思路,即让信标链区块本身包含(执行分片的)交易,而不是让信标链区块包含现在的以太坊的区块)

Justin

两个原因都只是暂时的,我估计能在 2021 年解决:

  • 缺乏终局性所导致的崩溃:客户端会找出办法来妥帖地处理无终局性的情形。(现在,终局性可以说是被拿来当拐杖用了。)我们已经计划开启一个长期运行的测试网,并且是禁掉终局性的,以此来强迫客户端提升性能。
  • Eth1 区块投票:以明文的 Eth1 区块头为基础构建一个简单的层级就能解决这个问题 —— 因为同步着的轻客户端就能下载所有区块头。具体来说,只需创建一个押金证明(即押金与 Eth1 区块头配套的默克尔证明)的 gossip 广播网络即可。

如果每一个验证者节点都要运行 Geth 客户端,或至少有能力运行它,为什么不让每一个信标链区块都包含一个新的 eth1 区块,让信标链区块生产者更快地替代矿工?

另外,要求区块提议者维护一个 Eth1 全节点,让我觉得很不舒服,这完全违背了我们 “在树莓派上就能运行一个 Eth2 验证者” 的设计目标。

原文链接: 

https://www.reddit.com/r/ethereum/comments/jvkoat/ama_we_are_the_efs_eth_20_research_team_pt_5_18/

作者: EF Eth2 Research team
翻译&校对: 闵敏 & 阿剑

作者:以太坊爱好者;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 以太坊爱好者 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信