原文:《#152以太坊核心开发者会议笔记》
编辑:Stephanie,ECN
一文了解上海升级的最新进展。
编辑的话
有看ECN每周更新的“以太七日谈”的朋友可能会发现,“七日谈”已经停更了将近一个月。除了由于前段时间编辑感染Covid无法保持更新外,ECN也在思考是否应该继续“七日谈”的编辑。在新的一年,ECN计划做一些内容运营上的调整,其中就包括“七日谈”。
如果对以往“七日谈”中哪些部分的内容特别希望我们保持更新的,欢迎在各个社交媒体上私信我们,我们非常愿意听到大家的反馈,以提升我们的内容质量。
在第152次ACDE上,开发者们就从上海升级中移除与EOF实现有关的代码修改达成共识。关于EOF的更多信息,可阅读《以太坊核心开发者会议更新014?》。他们还就不再接受任何添加到上海升级的EIP达成共识,这主要是为了确保提款质押的ETH的时间表不会被推迟。作为上海升级唯一的大型代码修改,提款质押的ETH目前正在以开发者为中心的测试网络上进行测试。开发者的目标是在下个月(2023年2月)上线用于上海/Capella升级的公共测试网,然后在3月上线主网。开发者随后讨论了EVM升级的更周详考虑、以太坊执行层/共识层之间不同的序列化方法、以及引入Poseidon哈希函数作为EVM的预编译的EIP。
数据:以太坊链上借贷清算集中区为1459美元与1193美元:5月27日消息,根据 parsec.finance 数据显示,以太坊链上借贷清算集中区为 1459 美元与 1193 美元,其中 1459 美元处约有 3.4 亿美元清算金额,主要由 Maker 产生;1193 美元处约有 4.2 亿美元清算金额,主要由 Aave 产生。[2022/5/27 3:45:43]
以下为详细笔记
上海升级的进展
在上海升级方面,在圣诞节前已经上线了第一个开发者测试网,所有客户端组合都在上面运行,大家可以看看以太坊基金会devops的仪表盘?。有些客户端组合出现了问题,但开发者们将尽快推出一个新的开发者测试网。
(https://t.co/HBkcidHvMq)
此外,Geth团队的Marius@vdWijden提出对EIP3860(对initcode的大小设限并引入gas计量)设计上的小修改——纠正该EIP中一个令人困惑的错误模式,即违反initcode限制导致的是零地址错误而不是OOG(gas不足)错误。这项提议得到开发者们的认同,即将错误模式改为OOG错误,然后终止或中止执行,而不是返回一个零地址,这样将减少在客户端实现中的混乱和漏洞。以上是客户端团队的意见,如果智能合约开发者强烈反对这个修改,可能就不修改了。
以太坊客户端Erigon发布v2021.07.03版本,配置中添加伦敦升级区块:官方消息,以太坊客户端Erigon发布v2021.07.03版本,变更包括在配置中添加伦敦升级区块、EIP-1559支持eth_call和trace_*API、eth_syncing阶段性展示进度等。[2021/7/15 0:54:03]
EOF相关EIP被移除出上海升级
接下来,会议主要讨论EOF相关话题。
Geth团队的开发者@lightclients给大家更新了12月进行的EOF小组会议的情况。(EOF即EVM对象格式,它会为以太坊的代码环境引入一些变化。与之相关的EIP将更明确地区分智能合约的代码和数据,并使得EVM在未来更容易升级。)简单来说,规范被敲定,并做了两个小型修改:删除JUMPF并使得数据EOF合约必须包含数据部分。
在测试方面,Geth团队的@mhswende已经开始对实现做模糊测试,在所有客户端上都发现了漏洞并修复了。现在的模糊测试主要针对在客户端上EOFcontainer123rong/结构的实现,但不包括部署的EOF代码。以太坊基金会测试团队的MarioVega@elbuenmayini补充道,由于EOF的复杂性,可能很难对错误情况写静态测试用例,因为实现可能会在遇到确切测试用例前先遇到另一个错误。
DeFi+NFT项目“古国序列”正式上线以太坊和Conflux公链:据官方消息,以中国全系列神话传说为背景的打造的NFT项目“古国序列”于5月29日同步上线以太坊和Coflux网络。
该项目由多位艺术家以中国上古神话为蓝本,携手打造了10个母题和130个各具风格的神话人物,集成DeFi+NFT 藏品+卡牌对战玩法。
MEME NFT及Conflux 链上相关NFT的持有者都可进行无损挖矿及兑换限量版古神卡。[2021/5/30 22:56:37]
在客户端团队方面,Geth和Besu已经有完整实现并通过了大部分的测试。Nethermind也已经有实现了,但不确定最好使用哪个测试套件。而Erigon将使用Geth的EOF实现。
基于EOF的实现和测试情况,Vitalik也表达了对仓促实现EOF的担忧,并发表了EOF提案:禁用EOF账户的代码自省(codeintrospection):https://ethereum-magicians.org/t/eof-proposal-ban-code-introspection-of-eof-accounts/12113
以太坊未确认交易为128,387笔:金色财经消息,据OKLink数据显示,以太坊未确认交易128,387笔,当前全网算力为352.24TH/s,全网难度为4.68P,当前持币地址为54,354,911个,同比增加216,271个,24h链上交易量为3,119,902.86ETH,当前平均出块时间为13s。[2021/2/8 19:15:31]
Vitalik在会议上阐述了这个提案背后的思考,以及解释为什么修改EVM通常比其他协议修改更困难。他指出,从以太坊中删除工作量证明比弃用操作码来得更容易。这是因为以太坊应用/合约依赖EVM的特定行为,因此修改必须向后兼容,否则将破坏已部署的合约。而协议其他方面的修改只需要每个人在特定时间进行更新,除此之外,不会破坏网络上的任何东西。
这意味着,当我们改进EVM,或引入新版本,例如EOF,我们很可能需要永远与它们共存,因为我们不能弃用之前版本。理想情况下,我们想让EVM更简洁/简单,但如果我们只能在它上面添加东西而从不删除东西,这就会变得很难。删除东西最大的挑战之一是EVM中的代码自省。
以太坊未确认交易为97,391笔:金色财经消息,据OKLink数据显示,以太坊未确认交易97,391笔,当前全网算力为239.24TH/s,全网难度为3.18P,当前持币地址为48,025,479个,同比增加189,462个,24h链上交易量为2,440,933.9ETH,当前平均出块时间为13s。[2020/9/27]
因此,Vitalik的提案是在EOFv1中添加更多内容,这将极大地限制EOF合约中的代码自省,从而有可能使其在未来更容易升级。Ipsilon团队的@alexberegszaszi提到,EOF提案的作者们其实之前有考虑过类似的功能,决定放弃是想保持EOFv1简单。他还提出一个替代方案,将Vitalik的提案纳入到EOFv2:https://ethereum-magicians.org/t/eofv2-aka-what-evm-2-0-could-look-like/12442
但是,对于这份在EOFv1基础上添加内容的提案,客户端团队担心整体的修改规模过大。@lightclients也表示,基于目前EOF测试的进度,把它纳入上海升级可能会延迟大概一个月的时间。如果想要在二月初能上线主网测试网升级,EOF的部分应该未能准备好。而且,这是一个很重要的决定,因为EVM的变更一旦部署了就不能修改。
经过讨论,开发者们最后决定要再多花时间考虑EOF的问题,因此将其从上海升级移除,但会保持EOF上的工作。他们应该能够在坎昆升级中部署某个版本的EOF与4844。在这次会议上,开发者们没有对坎昆升级做出正式决定,并将在下次会议再讨论。
那上海升级是否需要补充其他的EIP呢?经过讨论,开发者们决定不再添加其他EIP,免得延迟上海升级。
其他EIP的讨论
随后,开发者们还讨论了Nimbus团队的EtanKissling的提案:在ExecutionPayloadHeader的交易列表里添加十六进制树根。https://github.com/ethereum/consensus-specs/pull/3078
简单来说,现在执行层区块头和共识层执行负载头(ExecutionPayloadHeader)之间使用不同的序列化格式编码的字段。这两个字段编码格式不同给钱包和以太坊轻客户端构建带来额外的开销和复杂性。Kissling提议向执行层添加CL的SSZ序列化格式,或共识层客户端采用多种方式支持执行层的RLP序列化格式。这个提案与上海升级中的提款相关,因此相对紧急。这个问题将在这周的共识层会议(ACDC)上再次讨论,即1月12日。
会议最后还讨论了EIP-5843(EVM模块化的算术扩展)的和EIP-5988(添加Poseidon哈希函数预编译)。由于EIP-5843的作者未能与会,开发者们同意之后再对此EIP进行讨论。而5988由StarkWare提出,旨在在以太坊网络上提高运行零知识证明的效率。但这可能给以太坊的安全性带来未知后果。
编译来源为@TimBeiko和@christine_dkim的笔记
https://twitter.com/TimBeiko/status/1611042386611929089?s=20
https://www.galaxy.com/research/insights/ethereum-all-core-developers-execution-call-152/
会议视频:
https://www.youtube.com/watch?v=SmcMwdHZqg8
会议议程:
https://github.com/ethereum/pm/issues/700
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。