Vitalik提出多维EIP1559方案,优化gas模型并增加DoS保护

Vitalik提出多维EIP1559方案,优化gas模型并增加DoS保护

以太坊虚拟机(EVM) 中的许多资源都具有以下属性:它们对突增容量(即我们可以为一个或几个区块能够处理的容量多少)和持续容量(即我们可以长时间拥有的容量多少)有非常不同的限制。举一些例子:

EVM使用量:区块处理时间偶尔在 2 秒可能没问题,但是每个区块都花费这么长时间则会使保持节点同步变得非常困难

区块数据:客户端有足够的带宽来处理 2 MB 的区块,但没有足够的磁盘空间来存储它们

见证数据:与数据相同的问题 - 客户端有足够的带宽来处理中大型见证,但没有足够的磁盘空间来存储它们

填充的状态大小:基本上没有限制让状态在单个区块中增加多少(如果状态在一个块中从 45 GB 激增到 46 GB,但之后的状态增长恢复正常,谁会注意到?)只要见证人可以处理它,但我们不能在每个区块中都出现快速的状态增长

我们当前使用的方案是将所有资源组合成一个单一的多维资源(“gas”),在处理这些差异方面做得很差。例如,平均而言,交易数据加上调用数据会消耗区块中约 3% 的gas。因此,最坏情况区块包含的数据比平均情况多约 67 倍(包括来自 EIP 1559 的 2 倍松弛(slack))数据。见证(witness)的大小是相似的:平均情况下的见证只有几百 kB,但最坏的情况下,即使进行了 Verkle gas 改革,见证的大小也有几兆字节,增加了 10-20 倍。

将所有资源硬塞到单个虚拟资源(gas)中会迫使最坏情况/平均情况比率变成基于使用情况,当基于使用情况的比率以及我们知道客户端可以处理的突发限制和持续限制的比率非常不一致时,会导致非常不理想的 gas 成本。

本文为这个问题提出了一个替代解决方案:多维 EIP 1559。

假设有 n 个资源,每个资源都有一个突增限制 bi 和一个持续目标 Si(我们需要 bi>>si)。我们希望任何单个区块中的资源 i 的数量永远不会超过 bi,并且资源 i 的长期平均消耗等于 Si。

解决方案很简单:我们为每个资源维护一个单独的 EIP 1559 目标(targeting)方案!我们维护一个基本费用(basefees)向量 f1...fn,其中 fi 是一个单位资源 i 的基本费用(basefee)。我们设计一个硬性规则,即每个块消耗的资源 i 不能超过 bi 单位。fi 由一个targeting规则调整(我们将使用指数调整,因为我们现在知道它具有更好的属性):

Vitalik提出多维EIP1559方案,优化gas模型并增加DoS保护

为了在以太坊环境中完成这项工作,其中只有一种资源(gas)从父调用传递到子调用,我们仍然以 gas 收取所有费用。

选项 1(更简单但不那么纯粹):我们保持执行 gas 成本固定,保持当前的 EIP 1559;让 f1 成为基本费用(basefee)。所有“特殊”资源(调用数据、存储使用……)的 gas 价格变为 fi/f1。区块既有当前的 gas 限制,也有每个资源的限制 b1...bn。优先费用的运作方式与今天相同。

选项 2(更难但更纯粹):gas basefee 固定为 1 wei(或者,如果我们想要,可以为1 gwei)。使用每种资源(其中执行一次)的 gas 价格变为 fi。没有区块gas限制;每个资源只有 b1...bn 的限制。在这个模型中,“gas”和“ETH”成为真正的同义词。优先费用通过指定百分比来运作;支付给区块生产者的优先费用等于basefee乘以该百分比(一种更高级的方法是指定 n 个优先费用的向量,每个资源一个)。

多维定价与背包问题(knapsack problem)异议

历史上对多维定价模型的主要反对观点是,它们对区块构建者强加了一个困难的优化问题:区块构建者不能简单地按照每gas费用从高到低接受交易,他们必须不同维度之间平衡,并解决多维背包问题。这将为性能明显优于库存(stock)算法的专有优化矿工创造空间,从而导致中心化。

这个问题在两个关键方面已经比以前弱得多:

矿工可提取价值 (MEV) 已经为经过优化的矿工创造了机会,因此stock算法的“船已经出港”以有意义的方式被优化。提议者/建造者分离 (PBS) 解决了这个问题,将区块生产的规模经济从共识层隔离开来。

EIP 1559 意味着任何达到限制的资源都属于边缘情况而不是平均情况,因此朴素的算法只会在少数异常区块中表现不佳。

版权声明:
作者:matrixzzz
链接:http://www.mdcbiotech.com.cn/oyjys/2186.html
来源:okex注册_欧易交易所app下载_okex交易所登录
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码