以太坊是一个正在经历重大变化的协议。从中期来看,我们正在推动以太坊协议的升级,从而使其能够得以扩展并满足不断增长的全球需求,同时也改善以太坊网络的安全性和去中心化。这是一条漫长而曲折的道路,但以太坊「集市」中的研究者和开发者们比以往任何时候都更加活跃。
在阅读下文之前,请记住本文并不是一个“官方”的路线图,只是对以太坊现状的有限且主观的看法。
命名已经改变
时间线→ 进行中
让我们首先来谈谈我们在以太坊领域中的命名。虽然从这个方面开始似乎有些奇怪,但要知道的是,以太坊的命名框架是由其发展路线图来决定的。下面是最近流行的术语变化的两个例子,以及这种命名变化背后的原因。
执行 & 共识
无论出于何种目的,“Eth1”和“Eth2”这两个术语已经不再用于以太坊的核心开发中,可参见 Tim Beiko 撰写的《Great Renaming》文档:
https://notes.ethereum.org//img/2022812104720/0.jpg">
为「合并」奠定基础的第一个重大事件是今年早些时候为期一个月的 Rayonism 黑客马拉松活动。这项工作模拟了合并之后以太坊区块链的样子,以及共识/执行客户端将如何彼此通信。
最近,我们进行了 Amphora 互操作性工作坊,这个为期一周的活动继续在 Rayonism 成功的基础上进行构建,并添加了从 PoW 过渡到 PoS 的关键时刻。10个客户端团队做出来贡献,且截至该周周末,一个对这场从 Pow 向 PoS 过渡进行建模的开发者测试网已经成功运行了!
如果你想要了解更多关于这场活动的信息,可以查看 Tim Beiko 的这篇文章《Amphora: A Major Merge Milestone》:
https://blog.ethereum.org/2021/10/15/amphora-merge-milestone/
从这次活动中获取的经验已经纳入到了最新版本的合并规范“Kintsugi”中。与此同时,还有一个称为 Pithos 的长期开发测试网。这种情况将在 2021 年 Q4 至 2022 年 Q1 期间重启多次,从而使用更新的规范来重新测试从 PoW 过渡到 PoS 的时刻。一旦这种过渡变得相当稳定,就可以对 Goerli 等现有的测试网进行升级以匹配合并规范。
Coinbase:支付问题已经解决:6月28日消息,加密货币交易所Coinbase表示,支付问题已经解决。(金十)[2022/6/28 1:35:18]
感兴趣的社区成员可以关注这个“The Merge Mainnet Readiness Checklist”(合并主网准备情况清单),上面对剩余未完成事项进行了全面概述:
https://github.com/ethereum/pm/blob/master/Merge/mainnet-readiness.md
上海升级
时间线→ 10-12 个月
合并之后的以太坊的一个有趣的地方就是,虽然新旧两条链已经合并了,但客户端仍然是相互独立的:包括它们是如何架构的,以及致力于这些客户端的团队也是独立的。对于验证者来说,这意味着有大量的选择性:每个执行客户端都可以与每个共识客户端结合在一起,反之亦然。出于好玩,我罗列了这些客户端组合之后可能使用的新名称:
推特来源:https://twitter.com/trent_vanepps/status/1445008969756467203?s=20
如果需要,独立的执行层和共识层还允许进行非耦合的升级过程。这很好地符合了以太坊的“对关注点进行分离”(separation of concerns) 的哲学。换句话说,相比于“单片式区块链”,此时的以太坊对于一些更小的变更将更容易管理。
然而,上海升级将会以耦合的方式同时对共识层和执行层进行升级,从而使验证者的取款成为可能,也即允许验证者将他们的 ETH 从共识层取款至执行层,从而将二者更加紧密地绑定在一起。当 ETH 从信标链 (共识层) 撤回至执行层时,ETH 就能像我们在当前的以太坊链上一样使用了:可以将 ETH 作为价值存储,或者用于支付 NFTs,或者支付交易费等等。当前还有一些针对执行层的其他的提案正在被考虑是否纳入上海升级中,但这些提案尚未正式被接受。
在合并实际上线之前,我们将无法知晓这一可接受范围。
4. 以太坊研究
时间线→ 进行中
在上述工作正在被规范、实现和测试的同时,还有其他并行的研究工作正在推动以太坊向前发展。
当以太坊转换为 PoS 之后,分片 (sharding) 可能是以太坊将会发生的最重要的变化。需要注意的是,当前的相关提案关注的是数据分片(data sharding),而不是分片执行。数据分片将为 L2s 网络提供更多可用于存储数据的区块空间,但这些分片还不支持像当前以太坊主网上我们所熟悉的本地用户交易执行功能。目前,Rollups 网络使用以太坊主网来进行此类结算操作。对于这种类型的分片的基础研究并不复杂,这意味着数据分片将可以更快地在主网上线并为 L2s 网络带来好处!
上图:原始示意图来自Hsiao-wei Wang,由 Quantstamp设计
这种优先考虑数据可用性,符合了在过去 18 个月里可扩展性研究和 dApps 领域的动态进展。Vitalik 在 2020 年 10 月发表的《以 Rollup 为中心的以太坊路线图》贴文很好地阐述了这一可能的未来。这是以太坊社区认知的灵活性的一个很好例子!
在未来某个时候,以太坊社区可能会决定增加分片执行功能。但这仍然是一个有待研究的问题。
状态到期 & 弱无状态性
这一领域的研究将改革以太坊协议处理状态 (state) 的方式。状态是指所有的用户记录,包括合约、代币、NFTs 和地址。在当前的以太坊中,用户每次交易都会产生一笔一次性的成本,从而使该笔交易记录无限期地保存在以太坊状态中。从长远来看,这是不可持续的。
在过去几年中,一些有着不同权衡的提案已经被探索,包括诸如状态租金 (state rent) 和 ReGenesis 等。
其中一个主要的提案被称为“Weak Statelessness”(弱无状态性),该提案将变更以太坊节点存储和处理状态的方式:具体来说,只有区块提议者 (block proposers) 将被要求存储状态,而所有其他节点都无需存储状态即可验证区块。以下是这种方式将对不同参与者产生的影响:
用户:可以丢弃状态,但在提交交易时还需要提交一个“见证”(witness)。见证是指随交易一起发送的、用于证实交易有效性的证明 (proofs);
非验证者的节点:可以丢弃状态;
验证者/区块提议者:如果依赖于第三方来生产区块,则可以丢弃状态;
区块生产者:仍然需要存储所有状态。负责使用用户提交的见证 (witnesses) 来生产出包含有效状态变更的区块。
另一项提案成为“State Expiry”(状态到期)。根据此提案,如果状态在一段规定时间内没有被访问,那么该状态可以变为非活跃状态,或者从活跃状态变为“过期”。这可能是处于冷存储状态的 ETH,或者某个社区离开之后废弃的 ERC20s 代币等等。如果某个用户想要重新激活其状态,那么该用户发送的任何交易都需要附上一个见证 (weitness)。对以太坊活跃状态的大小进行限制的一大好处就是,节点在同步网络和继续维护时将变得更容易。
这两个概念都正在被积极研究、进行基准测试并通过概念证明 (PoC) 进行实现。想要更深入地了解目前的进展,可参考:
Guillame Ballet 整理的附有链接的摘要:
https://notes.ethereum.org/@gballet/Sy-a6T5St
EthR&R Discord Guidebook 上的这些链接:
https://github.com/tvanepps/EthereumDiscordGuidebook#statelessness--state-expiry
… 还有更多
我还要更多内容可以写的,比如 EVM (以太坊虚拟机) 的改进和增强共识机制的方法,但我将把这些内容留着下一篇文章中讲述。
撰文:Trent Van Epps,以太坊基金会成员
https://ethresear.ch/top
感谢阅读,也感谢 Danny Ryan、Tim Beiko 和 Mario Havel 的审阅。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。