ETH:一文了解以太坊上海升级潜在更新内容

原文标题:《EthereumAllCoreDevelopersCall#149Writeup》

原文作者:ChristineKim

原文编译:隔夜的粥

2022年11月10日,以太坊开发人员齐聚第149次全体核心开发者(ACD)电话会议,这次ACD电话会议由以太坊基金会的TimBeiko主持,本周,开发人员讨论了与EVM对象格式(EOF)以及proto-danksharding相关的代码更改进展,以实现合并后以太坊网络的首次重大升级。在这次电话会议期间,开发者们还讨论了其他四项可能纳入上海升级的EIP。虽然每个提案确实为以太坊带来了一些独特的优点及好处,但开发者们对优先考虑纳入哪些EIP的问题,仍存在较大的争议。除了上海升级的讨论之外,开发人员还简要谈到了抗审查性的话题,以及为了网络可扩展性而对以太坊的抗审查特性进行的潜在权衡。

上海升级计划

在之前的ACD电话会议中,以太坊开发人员同意将EIP的核心列表纳入上海升级。来自ACDCall#148的完整通话记录在这里。值得注意的是,从这份核心EIP列表中,开发人员同意将质押ETH提款提案纳入到上海升级之内,但并没有承诺在同一升级中纳入EOF或proto-danksharding,直到后两个提案的代码更改得到进一步充实。特别是关于EOF的话题,开发人员一直在犹豫是通过上海升级的一小部分EIP部分实现EOF,还是尝试将EOF的全部愿景捆绑在上海之后的以太坊升级中。

EOF实施

Hedera首席软件工程师DannoFerrin就本周关于上海EOF实施进展的电话会议进行了更新。他解释说,开发人员倾向于尽早将与EOF实现相关的大多数EIP捆绑到一次大型升级中。开发者考虑在上海升级中纳入与EOF实施相关的EIP有EIP3540、EIP3670、EIP4200以及EIP4750。对于是否应将EIP5450纳入与EOF相关的代码更改列表,开发者之间仍存在着分歧。

Erigon执行层(EL)客户端团队的AndrewAshikhmin也对Solidity智能合约语言团队是否能够完全支持和实施所有四个EIP表示担忧。Ashikhmin强调,在承诺在上海升级激活这些EIP之前,首先要确认Solidity团队已为这些EIP实现做好了准备。Ashikhmin在电话会议上表示,这是「一项必要的健全性检查」,GethEL客户端团队的MariusvanderWijden对此表示赞同。

Proto-danksharding

然后,开发人员继续讨论了proto-danksharding的最新发展。与EOF实现不同,只有一个EIP是与proto-danksharding代码更改相关联的,即EIP4844。DiederikLoerakker是OPLabs的研究员,据他表示,仍有一些与EIP4844相关的事项正在讨论中。以太坊基金会的AnsgarDietrichs补充说,其中一些事项与设置blob交易的最低价格以及降低上海升级的blob交易吞吐量有关。这些待办事项在Github上有总结。

禁用Self-Destruct操作码,以及其他潜在的EIP

在开发人员为上海升级准备EOF以及proto-danksharding工作的同时,开发人员初步同意继续研究其他四个EIP,以纳入以太坊的下一次升级。

1、EIP4758,禁用以太坊上的「selfdestruct」操作码:开发人员重新审视了上次ACD电话会议中关于禁用操作码的对话,该操作码被开发人员广泛认为是在智能合约以及去中心化应用中使用的不良做法。该操作码是为数不多的遗留操作码之一,这些操作码的部署gas成本固定,但网络的存储成本可能不受限制。独立开发人员MicahZoltu重申道,以太坊上的某些活动智能合约仍在使用selfdestruct操作码,禁用该操作码将破坏功能。TimBeiko表示,对于这些特殊的边缘情况,可能会有一些变通办法,并且需要以太坊基金会进行更多的社区扩展。

2、EIP1153,临时存储操作码的添加:Uniswap和Optimism团队的代表提出了一个令人信服的案例来引入临时存储操作码,它的行为与以太坊上的常规存储操作码相同,除了这两个新操作码TLOAD和TSTORE的值将在每次交易后被丢弃。瞬时存储的动机有很多,正如Optimism的MarkTyneway所解释的那样,其中之一是节省gas成本。仅在Uniswap上,这个EIP就有可能为用户每年节省300万美元的gas成本。此外,使用临时存储而不是常规存储将有助于减少以太坊的技术债务。Uniswap和Optimism团队做了大量工作来帮助在多个不同的以太坊软件客户端中创建此代码更改的实现,并为EIP构建了一个全面的测试套件。Besu(EL)客户端团队的DanielLehrner对外部开发人员为实现EIP1153准备工作的呼吁表示感谢。即便如此,并非所有开发人员都认为纳入EIP1153所带来的额外测试负载是值得的。Geth开发人员MariusvanderWijden警告说,EIP1153可能会干扰正在进行的EOF相关EIP的准备工作,并造成复杂性。尽管如此,vanderWijden表示,他对增加对代码更改的测试工作仍持「观望态度」。开发人员同意在Uniswap和Optimism团队的外部开发人员的帮助下继续测试EIP1153,以便将其纳入上海升级。

3、EIP2537,添加BLS预编译:以太坊基金会的AlexStokes介绍了将BLS预编译添加到以太坊的优点。Stokes解释说,这有很多原因,包括创建更安全的密码学证明的能力、与以太坊信标链更好的互操作性以及去中心化质押池增加的功能。VanderWijden同意添加BLS预编译是一项重要的代码更改,甚至可能优先于EOF实施以及EIP1153。但是,由于实施EIP2537需要进行大量测试,vanderWijden表示他担心增加这一代码更改将推迟上海升级。以太坊基金会的JaredWasinger提到,他正在研究一个并行的EIP,它可以提供比EIP2537更简单的实现路径。开发人员同意研究EIP2537并开始减少不同BLS预编译的数量,以便可能纳入上海升级。

4、EIP2294:最后,Google的软件工程师ZainanVictorZhou介绍了EIP2294,其代码更改比较简单,只是简单地限制了以太坊的链ID字段的字节大小,即传统上用于帮助硬分叉后的节点发现。VictorZhou在电话会议上表示,由于以太坊未来可能会出现分片和多链,链ID的用例将变得更大、更重要。为了防止人们试图在链ID字段中存储其他类型的数据来利用该字段,VictorZhou呼吁对链ID大小进行显式绑定。所有开发人员都同意这一更改很重要,而且易于实现。MicahZoltu强调称,这样的代码更改只需要软分叉,这意味着以太坊客户端团队可以在各自的时间线上实施更改,而无需为更改协调特定的区块高度。关于是否在调用结束时将链ID大小限制为64位或256位,开发者们也进行了一些讨论。TimBeiko鼓励开发人员离线讨论,并在Discord聊天中异步计算出数字。

基于计划在上海升级中纳入的EIP列表在不断增加,开发人员对于优先考虑纳入核心列表之外的哪些EIP存在着分歧。一位化名为「lightclient」的以太坊基金会开发人员提议坚持开放提款,并仅优先考虑另一个主要的EIP,无论是proto-danksharding、EOF实施还是电话会议上提出的四个EIP之一。TimBeiko认为,在下一次升级中尝试捆绑EOF实现、proto-danksharding、BLS预编译以及添加临时存储操作码是不现实的。由于会议时间不足,Beiko提出了上海升级规划的讨论,并鼓励开发人员准备在下一次ACD电话会议期间讨论上海升级除了质押ETH提款之外的最高优先事项。

如何降低以太坊节点的运营成本?

在关于上海升级的谈话中,独立以太坊开发者MicahZoltu提出了一个关于以太坊抗审查的重要讨论事项。Zoltu解释说,几乎没有以太坊用户会运行自己的节点来执行交易,人们都依赖于Infura或Alchemy等中心化服务,而这些服务会积极审查来自特定国家的用户,并审查以太坊上的去中心化应用,例如TornadoCash。尽管开发人员正在努力通过EIP4844提高以太坊的可扩展性,但在降低运行以太坊节点成本以及鼓励更大程度地保证以太坊抗审查方面缺乏努力。以太坊Teku(CL)客户端团队的开发人员MikhailKalinin提议在实施EIP4844后专注于降低运行以太坊节点的成本。来自Erigon的AndrewAshikhmin则认为,以太坊开发人员可以同时关注这两者。而AnsgarDietrichs表示,出于务实的原因,以太坊开发者应在短期内为实现可扩展性而牺牲抗审查性,并在长期内专注于抗审查性。

以太坊基金会研究员DankradFeist的观点则是,EIP4844对节点运营商运营成本的边际增加可以忽略不计,并且不会对以太坊的抗审查特性造成实质性损害。Feist还补充说,大多数以太坊用户不运行自己的节点不是因为成本,而是因为用户体验差。DiederikLoerakker表示,为了创造更高水平的去中心化,扩容应该是以太坊开发人员的优先事项,因为像EIP4844这样的代码更改将使以太坊的使用成本更低,并为世界各地更多的人降低进入壁垒。

NethermindEL客户端团队的LukaszRozmej还质疑EIP4844是否会对以太坊的抗审查性产生负面影响,因为理论上许多交易将在L2rollup上执行。Zoltu解释说,虽然EIP4844可能会让验证者在未来更难审查单笔交易,但目前L2rollup的操作是中心化的,因此是可审查的。在结束这次讨论时,TimBeiko表示,改善运行以太坊节点的用户体验应该是社区向前发展的重点领域。Beiko建议与以太坊核心开发人员相邻的开发团队应帮助简化以太坊节点的运行,并努力让普通用户更容易访问它。

其他杂项

除了以上的内容,以太坊开发人员在这次电话会议上尚未讨论到一些事项,它们包括:

EngineAPI规范改进提案:Teku开发者MikhailKalinin为改进以太坊的EngineAPI规范创建了一个提案。作为背景,EngineAPI是一种软件,使以太坊节点的EL和CL客户端之间能够轻松通信。对EngineAPI的拟议更改,可能会放到下周四的以太坊CL会议上进行讨论。

上海「Core」vs原型开发者测试网:为上海升级测试EIP将需要创建多个专用测试网络。山东是以太坊基金会JavaScript团队推出的一个测试网络,除了一些与EOF实现相关的EIP外,其已实现了EIP4895、EIP3860、EIP3651以及EIP3855。在接下来的几次ACD电话会议中,开发人员将协调创建更多专用测试网络,供客户端团队测试上海升级EIP。

Ropsten测试网结束日期:AfriSchoeden是维护以太坊测试网络Goerli的开发人员之一,他提出了一个提案,在计划的时间线上启动和弃用以太坊测试网络。这是为了回应应用开发人员和基础设施提供商对多个以太坊测试网络被弃用的沮丧情绪。开发人员被鼓励在这个以太坊魔术师论坛贴中分享他们关于如何负责任地弃用像Ropsten这样的公共以太坊测试网络的想法。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-3:618ms