ALL:核心开发者:梳理以太坊合并最新进展_ETH

原标题:《AllCoreDevsUpdate010》

作者:TimBeiko,AllCoreDevsUpdates

编译:EthereumCN

摘要

自一月份以来,发生了很多事情,以至于我一直在努力找时间把它们写下来。以下是本次更新的重点:

-最新的合并测试网Kiln已经启动。在上面进行的PoS过渡揭示了一些实现上的问题,现在所有人都把工作重心放在合并测试上?

-下一次的以太坊升级上海升级在拟定中,计划中有EVM升级、信标链提款、L2费用减少等?

-?以太坊执行层的可执行规范正在顺利进行。下一步:协调EL+CL的升级过程?

-?协议公会,一个为客户端开发者和研究员提供基于通证的补偿倡议,现在有超过100个成员,并很快推出试点

Kiln测试网

继Kintsugi后,Kiln测试网最近也启动了了。根据在Kintsugi测试网上发现的临界情况,Kiln加入了一些变更和重命名到合并规范。尽管合并的规范现在看上去几乎接近最终版了,在Kiln上运行的过渡在各个客户端中浮现了实现上的问题。团队现在正加倍努力进行测试,以确保所有实现都是安全和稳定的。Danny在最新的Finalized更新里谈到了这点。

假设没有发现重要的问题,Kiln将是最后一个发布的新公共测试网。下一步,一旦我们对客户端的实现和基础设施/工具的准备情况感到满意,我们将在现有的测试网(像Ropsten、Goerli、Sepolia等)进行合并。

与每次升级一样,我们将在升级后监测测试网,以确保它们是稳定的。一旦我们确信测试网按预期运行,我们将为以太坊主网计划过渡!

虽然我们已经很接近合并了,而且这对整个社区来说是一个非常令人兴奋的时刻,但过渡能安全进行比任何目标日期更重要,是合并的头等大事。这是迄今为止以太坊进行的最复杂的升级。我们不想出错。

一旦决定了,测试网和主网升级的时间线将会在各社区宣传渠道公布,例如每周以太坊进展(ThisWeekinEthereum)、Eth2进展更新(What'sNewinEth2)、以太坊基金会博客(theEFblog)等。目前任何声称是目标日期的都是错的,因为我们还没定这个日期。在接下来的几个月里,要对潜在的/虚假公告保持额外的警惕!

关于难度炸弹

在去年的ArrowGlacier?升级中,难度炸弹被推迟了,预计今年六月在网络上能感受到难度炸弹的影响。这篇贴文在追踪它的进展情况。虽然在我们需要推迟难度炸弹前实现PoS过渡是最好的,但有三点值得注意:

1、炸弹对出块时间的影响是渐进的。这意味着一旦开始感到到它了,就将有4—8周的时间出块会变慢,但不是急剧变慢(大概14-17秒)。?

2、在过去,当要推迟难度炸弹,我们会选择推迟6个月左右,因为我们通常计划在那时进行下一次的网络升级。也就是说,关于难度炸弹要推迟多久是没有硬性规定的。如果推迟一、两个月比推迟6个月更合适,这也是完全可以的。?

3、同样,安全的合并>>>快速的合并。我们希望过渡能顺利进行,以太坊的稳定和安全是我们最关心的。

上海升级

如上一次更新所说的,随着合并的规范基本接近冻结,我们已经开始了上海升级的计划工作。这里是升级的规范。这次升级暂定有三项重大变更,以及一些小项。下面逐一深入说明!

EVM对象格式

研究员和客户端开发者多年来一直努力在不破坏现有合约的情况下改进EVM。去年,Ipsilon团队想到了一个聪明的解决方案:给有特定标识符的合约提供新功能,而现有的合约按原样执行。这现在以EVM对象格式(EVMObjectFormat)为人所知,简称EOF。

在伦敦升级里,我们通过拒绝以0xEF字节开头的新合约的部署来保留这个标识符的部分。在伦敦升级被激活前,有些以这个字节开头的合约被部署了,但现在已经不能这样做了,我们可以给前缀0xEF添加第二个字节(被称为MagicByte),得到一个我们可以保证不被任何合约使用的序列。

EIP-3540对这个内容进行了详细描述,并强调了该方法的第一个实际好处:代码与数据的分离,这有利于链上代码验证。这还为引入新合约代码部分类型铺平道路,这有助于实现现在看来很复杂的功能,例如账户抽象、EVM里的控制流以及EIP-3074。

EIP-3670是3540的配套EIP,它引入部署时EOF合约的代码验证。

信标链提款

上海升级的另一个主要功能是激活信标链提款。经过几份提案后,我们得出了一个客户端团队都满意的设计:EIP-4895:Beaconchainpushwithdrawalsasoperations(信标链作为系统操作的推式提款)。

这个元规范概述了整个运作流程。从高层次来说,在每个slot里,信标链都会处理一定数量的全额或部分提款。这些提款会在收据里被追踪,这些收据包含每笔提款的数额、目标地址和唯一的索引。作为区块创建和验证过程的一部分,这些提款随后会在执行层上分发出去,与今天工作量证明分发给矿工一样。

对于在共识层上需要做出的多个变更有一个追踪问题,这个内容现在已经在consensus-specs(共识层规范)的仓库里了。部分提款的选项将允许验证者提出他们获得的奖励,同时保持在链上有做验证者所需的32个ETH,继续赚取奖励。

L2费用减少

我们希望纳入上海升级的最后一个大事项是减少在二层的费用。因为二层会在一层发布交易数据(和/或证明),终端用户的交易费用有很大一部分来自一层的数据存储。分片为二层发布数据提供一个更便宜的替代方案,然而尽管这个提案似乎已经定下来了,完整的分片实现还没有准备好。

同时,现在有两个可用选项可以减少这些开销:在主网上降低CALLDATA的开销,或「proto-sharding」实现,这个方案会在以太坊上引入一种新的交易类型,被称为分片blob交易(ShardBlobTransactions)。

降低CALLDATA开销

降低在L2上的交易费用的最简单方式就是降低在L1上存储数据的开销。EIP-4488?提议这样做,把CALLDATA的开销从每字节16gas下调到3gas。存储开销的减少会转化为更低的二层费用。

尽管降低gas开销本身是个简单的变更,但它会带来一些次级效应。首先,增加区块里的CALLDATA会导致更大的区块容量。为了平衡这点,这个EIP提出在一个区块里需要有一个CALLDATA最大数量的上限。第二,即使有了这个上限,这个EIP也会加快执行层上历史链数据的增长速率。为了解决这个问题,我们需要开发频带以外的数据检索,并像EIP-4444?提议般,在以太坊P2P网络里对历史数据存储的保证需要改变。

虽然历史链数据的增加本来就会逐渐发生,纳入这份EIP意味着它部署后我们需要更加迫切地处理这个问题。另外,这个EIP基本没什么内容可以在完整分片中得到重复使用。它主要是一个临时的解决方案。也就是说,这个EIP是一个相对简单的实现变更,并确实能明显地降低L2的费用。

分片blob交易

另一个提案是EIP-4844?,它使我们更靠近完整的分片部署。与信标链提款一样,这个提案也有一个元规范,链接到共识层规范和其他资源。

从高层次来说,这个新交易类型会包含对数据blob的承诺,该承诺会在信标链广播。这个提案可以被认为是要给「小型分片」提案,它不依赖于数据可用性采用,网络的每个节点都需要验证blob里的数据。就像在完整分片里,这些数据blob只保证在网络的一定时间内可用,而不是永远存储。为了使节点要求还是可管理的,blob数据被限制在1MB/slot而不是在完整分片里的16mb/slot。

EIP-4844将为完整的分片实现奠定必要的基础。值得注意的是,所有未来的变更都只会发生在共识层。从执行层的角度来看,分片只是启动和运行!

一直在这个EIP上努力的Optimism团队推出一个提供这个EIP概览的网站,它汇总了各种规范链接,并放了社区对这个EIP的积极反应。

由于L2交易定价还涉及其他构成,这个减少不会是完整的5倍。Optimisim的这篇文章对L2费用的构成有很好的解释。而且,ZKrollup不会像Optimisticrollup般从这个EIP获益。EIP-4488(降低CALLDATA开销)和EIP-4844(分片blob交易)作为竞争提案,它们的EIP号也太相似了吧。小型改进

除了这三个大型变更,上海升级还在考虑进行一些小型改进,即:

EIP-3651提议降低访问COINBASE地址的gas开销,修正EIP-2929?的疏忽?

EIP-3860?提议给initcode的大小设限,并引入给这个字段的gas计量。?

EIP-3855?提议新增操作码PUSH0,把0推入EVM堆栈。

此外,还有其他几个EIP被提议进行升级(参阅这个粗略列表)。EOF、提款和减低二层费用已经使得上海成为迄今为止最大的升级之一,所以我们需要非常认真得斟酌纳入内容的优先次序。

一旦我们开始实现和测试各种EIP,我们将更加清楚我们是否有额外的能力去实现其他提案。当然,在此之前,我们仍然需要先完成合并!

以太坊执行层规范(EELS)

正如你可能已经注意到了,上海的几个提案现在同时跨执行层和共识层。在过去,在不同的层上我们使用不同程序来引入变更。

在执行层上,核心EIP?包含变更的规范。《以太坊黄皮书》是网络的参考规范,但往往在升级被部署了后才会更新黄皮书,有时会有更大的延迟。这意味着执行层的有效规范往往是「黄皮书+EIPX、Y、Z」。

在共识层上,用作参考的是一个可执行的规范,变更会直接在上面详细说明。然后,该规范就可以用于为变更生成测试。

因此,虽然社区能很好地理解执行层的流程(并提供一个易于参考的变更描述),从技术角度来说,这并不理想。相反,尽管共识层的流程在技术上更简洁,但对于更广泛的社区来说更难理解。幸运的是,在EELS上的工作已经开启了:以太坊执行层的可执行规范!

在执行层和共识层上都有可执行的规范,这将使我们能够协调两层的变化流程。仍然有许多问题需要解决,但关于如何能最好地迁移的对话已经开始了。在EthereumMagicians论坛这里的讨论是专属这个话题的。尽管EELS仍然在开发中,我们可能可以在上海升级里用上它,与目前的流程并行。

希望执行层和共识层流程的合并会比实际的执行层和共识层合并更简单。

协议公会

最后但并非最不重要的,我想谈谈协议公会(ProtocolGuild,PG),它现在已经有一个完整的解释网站。对协议维护者的补偿是最近一个热门话题,PG希望参与解决这个问题。充分披露:我是PG成员并将从中获得资金。

你可以把补偿想成有三类:基本工资、激励和潜在的上升空间。目前,客户端开发者和研究员的基本工资是他们各自的雇主解决的。尽管他们有些会以股权形式提供激励,但以太坊基金会去年公布了其39,000个ETH的客户端激励计划,以确保所有客户端团队在以太坊上都有重大利益。

PG与基本工资和激励计划不同,因为它旨在使其成员可以出现在基于ETH的各种项目通证上,而不是ETH本身。公会由协议工程师、研究员和很多协调协议工作的人组成,例如我自己。现在大概有100名成员。

简单来说,公会允许赞助者捐赠Token,然后随着时间推移,Token会给到接受者。接收者集是可以更新的,这使得新的贡献者可以定期被加进来,而已经觉得厌倦的人也可以定期被移除。

这个公会是一个早期实验,但如果成功了,可以成为对像Gitcoin和追溯性公共产品资助这种专注于底层的倡议的补充。

在Gitcoingrant?的成功后,PG的下一步是测试智能合约架构。与此同时,将开始寻找初始捐赠者。我们的计划是用有限的捐款运行PG一年,以确保技术和治理部分都顺利进行。希望这个试点都能证明我们可以在以太坊上创建新的机制来协调公共产品和资金!

后续工作

我们的首要任务还是合并,并重新把重点放在测试上。在接下来的一个月里,我们希望能最终敲定实行,运行多个短期的开发者测试网,并从应用、基础设施和工具提供商收集反馈。其他事情(上海升级、执行层规范、协议公会)也应该在同时继续推进。

请期待一两个月后的更新,同时,我们也将有机会在Devconnect?上面对面讨论所有这些问题——阿姆斯特丹见!

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

大币网

[0:0ms0-4:435ms