4

一文速览以太坊的最新进展:合并、上海升级、数据分片

 2 years ago
source link: https://www.tuoluocaijing.cn/kepu/detail-10072961.html
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.
neoserver,ios ssh client

一文速览以太坊的最新进展:合并、上海升级、数据分片

Unitimes 原创 2021-11-12 02:02 热度 9497
分享

微信扫一扫:分享



微信里点“发现”,扫一下 二维码便可将本文分享至朋友圈

75%7Cimageslim

撰文:Trent Van Epps,以太坊基金会成员

编辑:南风

以太坊是一个正在经历重大变化的协议。从中期来看,我们正在推动以太坊协议的升级,从而使其能够得以扩展并满足不断增长的全球需求,同时也改善以太坊网络的安全性和去中心化。这是一条漫长而曲折的道路,但以太坊「集市」中的研究者和开发者们比以往任何时候都更加活跃。

在阅读下文之前,请记住本文并不是一个“官方”的路线图,只是对以太坊现状的有限且主观的看法。

01. 命名已经改变

时间线→ 进行中

让我们首先来谈谈我们在以太坊领域中的命名。虽然从这个方面开始似乎有些奇怪,但要知道的是,以太坊的命名框架是由其发展路线图来决定的。下面是最近流行的术语变化的两个例子,以及这种命名变化背后的原因。

执行 & 共识

无论出于何种目的,“Eth1”和“Eth2”这两个术语已经不再用于以太坊的核心开发中,可参见 Tim Beiko 撰写的《Great Renaming》文档:

https://notes.ethereum.org/@timbeiko/great-renaming

这两个旧的命名方式表达了两个含义,即“Eth1在前,Eth2在后”和“Eth2诞生之后,Eth1就不复存在”。自 2020 年 10 月开始,以太坊核心研究者 Danny Ryan 就指出了这个问题。尽管 PoS 信标链自 2020 年 12 月初启动以来一直与当前的 PoW 以太坊主网并行运行,但使用 Eth1 和 Eth2 这两个术语会暗示当前的 PoW 以太坊在某种程度上已经消失了。实际上,当前以太坊主网上的链状态将会在合并发生之后无缝地与信标链结合。

不会有任何数据会被丢失,不需要进行任何迁移。

我们已经转向使用“执行”(Execution) 和“共识”(Consensus),而不再使用“Eth1”和“Eth2”这两个术语。我推荐你阅读 Dany Ryan 的这篇深入阐述的文章:

https://blog.ethereum.org/2021/01/20/the-state-of-eth2-january-2021/

简而言之,“执行”指的是用户层的所有东西,包括应用程序、账户余额、代币等,这也可以被称为“状态”(state)。“共识”就是指将所有这些东西绑在一起的 PoS 共识机制,包括事务 (交易) 的最终性 (finality)、分叉选择规则、验证者和激励机制。

在合并之后的环境中,执行层和共识层将一起共存。

“特性”,而非“阶段”

我们摒弃的另一个术语是“阶段”(Phases)。在过去,这是指一个特定的协议变更,比如“阶段0是指信标链”。

去年晚些时候,我们开始了非正式地、渐进地将“阶段”重构为“特性”(features)。首先,使用具体的“特性”来命名会更加灵活:当协议的设计更新或者范围扩大/缩小时,相比于直接使用该特性提案的名称来命名,使用“阶段X”的简写要更难以传达这些变更。

其次,“阶段”一词暗示了顺序性:“阶段X”之后必须是“阶段X+1”。这种命名方式行不通的一个很好的例子就是,当前正在进行中的「合并」(之前被称为“阶段1.5”) 的优先级要高于「数据分片」(之前被称为“阶段1”)。

偏向于使用具体的“特性”来命名意味着这些命名可以在需要时很容易重新排序,并更清楚地传达它们的最终影响。

认知的灵活性

更抽象地说,我倾向于认为上述两种变化都是基于认知的灵活性。换句话说,这是知识形成的一种灵活形式,让我们的社区更好地理解以太坊「集市」中诞生出的非结构化创造力。

我们之所以能够根据路线图来做出自适应的决策,是因为我们不拘泥于阶段或顺序。承认并内化我们没有完整的路线图是一种谦卑。这是以太坊哲学的重要组成部分,我很高兴看到它扎根于此。

更广泛的以太坊社区可能需要一段时间来适应新的命名规范,但我们会适应的!提前感谢你帮助我们完成这一重要的努力 :)

02. 合并

时间线→ 5-8 个月

既然我们已经讨论了命名的变更,让我们讨论下一个令人兴奋的以太坊特性:合并。合并指的是以太坊共识机制即将从工作量证明 (PoW) 转变为权益证明 (PoS)。

这是以太坊和更广泛的加密领域最受期待的协议变更之一。在区块链行业存在的大部分时间里,有关 PoW 及其对能源消耗的负面看法一直主导着大众媒体。以太坊将成为有史以来转变其共识机制的最大协议,并有望改变这种叙事。

合并给协议带来的好处

合并包含了对以太坊协议的许多重大改进:

当合并完成时,以太坊区块链将变得更加安全。区块将在某个时间点之后被“最终敲定”(finalized),同时将对重组区块链的验证者引入了罚没机制,也即抑制验证者对区块或者内部交易进行重组。

其次,PoS 消除了与 PoW 相关的大量能源消耗和硬件浪费。研究者们预计以太坊的能耗将在合并之后下降高达 99.95%。常规消费级硬件将取代目前运行以太坊共识的 ASICs 和 GPUs 硬件。这两大影响将为以太坊来带更加节能、更加多样化、地理上更加分散和抗脆弱的共识参与者。

第三,以太坊 PoS 将为实现分片 (sharding) 搭建平台,这也是一场重大的协议变化,将把以太坊区块链分成的许多并行运行的分片链。通过为数据可用性和结算增加可用的区块空间,分片将为 L2 扩容工作带来额外好处。

最后,合并将会减少 ETH 的年增发率,从当前的净 3.5% 到大约净 0%。

通往合并的道路

588744aa04f713b6f9f35e95ef3e74e7

为「合并」奠定基础的第一个重大事件是今年早些时候为期一个月的 Rayonism 黑客马拉松活动。这项工作模拟了合并之后以太坊区块链的样子,以及共识/执行客户端将如何彼此通信。

最近,我们进行了 Amphora 互操作性工作坊,这个为期一周的活动继续在 Rayonism 成功的基础上进行构建,并添加了从 PoW 过渡到 PoS 的关键时刻。10个客户端团队做出来贡献,且截至该周周末,一个对这场从 Pow 向 PoS 过渡进行建模的开发者测试网已经成功运行了!

596af76c77256abb1a61c077c52af6f9

如果你想要了解更多关于这场活动的信息,可以查看 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 等现有的测试网进行升级以匹配合并规范。

感兴趣的社区成员可以关注这个“The Merge Mainnet Readiness Checklist”(合并主网准备情况清单),上面对剩余未完成事项进行了全面概述:

https://github.com/ethereum/pm/blob/master/Merge/mainnet-readiness.md

03. 上海升级

时间线→ 10-12 个月

合并之后的以太坊的一个有趣的地方就是,虽然新旧两条链已经合并了,但客户端仍然是相互独立的:包括它们是如何架构的,以及致力于这些客户端的团队也是独立的。对于验证者来说,这意味着有大量的选择性:每个执行客户端都可以与每个共识客户端结合在一起,反之亦然。出于好玩,我罗列了这些客户端组合之后可能使用的新名称:

260ebfdd41426e97ec8b85fec74fa6da

推特来源:https://twitter.com/trent_vanepps/status/1445008969756467203?s=20

如果需要,独立的执行层和共识层还允许进行非耦合的升级过程。这很好地符合了以太坊的“对关注点进行分离”(separation of concerns) 的哲学。换句话说,相比于“单片式区块链”,此时的以太坊对于一些更小的变更将更容易管理。

然而,上海升级将会以耦合的方式同时对共识层和执行层进行升级,从而使验证者的取款成为可能,也即允许验证者将他们的 ETH 从共识层取款至执行层,从而将二者更加紧密地绑定在一起。当 ETH 从信标链 (共识层) 撤回至执行层时,ETH 就能像我们在当前的以太坊链上一样使用了:可以将 ETH 作为价值存储,或者用于支付 NFTs,或者支付交易费等等。当前还有一些针对执行层的其他的提案正在被考虑是否纳入上海升级中,但这些提案尚未正式被接受。

在合并实际上线之前,我们将无法知晓这一可接受范围。

04. 以太坊研究

时间线→ 进行中

在上述工作正在被规范、实现和测试的同时,还有其他并行的研究工作正在推动以太坊向前发展。

当以太坊转换为 PoS 之后,分片 (sharding) 可能是以太坊将会发生的最重要的变化。需要注意的是,当前的相关提案关注的是数据分片(data sharding),而不是分片执行。数据分片将为 L2s 网络提供更多可用于存储数据的区块空间,但这些分片还不支持像当前以太坊主网上我们所熟悉的本地用户交易执行功能。目前,Rollups 网络使用以太坊主网来进行此类结算操作。对于这种类型的分片的基础研究并不复杂,这意味着数据分片将可以更快地在主网上线并为 L2s 网络带来好处!

58b367263d5e5d999731d6abde52436f

上图:原始示意图来自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_vanepps) 来邀请你加入以太坊 R&D Discord 聊天频道。或者你可以前往 EthResearch 论坛进行深入了解:

https://ethresear.ch/top

🙏感谢阅读,也感谢 Danny Ryan、Tim Beiko 和 Mario Havel 的审阅。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK