原作者:VitalikButerin翻译:凯尔以太坊虚拟机(EVM)中的许多资源具有以下属性:它们对突然增加的容量(即我们可以为一个或几个块处理多少容量)和连续容量(即我们可以长期拥有多少容量)有非常不同的限制。。举几个例子:我们未来要用的方案是把所有资源组合成各种多维资源("气体"),在处理这些差异上很差。比如买卖数据加通话数据平均会在区块内消耗3%左右的气。因此最差情况的块包含的数据比平均情况多67倍(包括来自EIP1559的2倍松弛数据)。见证服务器的大小是相似的:平均来说,见证服务器只需要几百kB,但是在最坏的情况下,即使停止了Verkle气体创新,见证的大小也有几兆,增加了10-20倍。强迫所有资源进入单个虚拟资源(gas)将促使最坏情况/平均情况比率变得基于使用。当基于使用情况的比率与我们知道客户可以处理的突发限额和连续限额的比率非常不一致时,就会招致非常意外的气息。为此,本文提出了一个可供选择的处置方案:多维EIP1559。。假设有n个资源,每个资源都有一个突增极限bi和一个持久均值Si(我们需要Bi
Si)。我们希望任何单个块中的资源I的数量永远不会超过bi。并且资源I的临时平均消耗等于Si。处置方案非常复杂:我们为每种资源维护一个单独的EIP1559目标方案!我们维护一个基本费用向量f1…fn。,其中fi是单位资源I的basefee,我们设想一个硬性规定,即每个块消耗的资源I不能超过bi单位。Fi通过目标规则进行调整(我们将使用指数调整因为我们一直知道它有更好的性质):为了在以太坊环境中履行这个义务,从父调用到子调用只传递一个资源(gas),我们仍然用gas来收取所有费用。。方案一(比较复杂但不那么地道):坚持实施燃气兴趣活动,坚持EIP1559;将来;设f1为基本费用。。所有汽油的价格"特别"资源(调用数据、存储和使用.)变成了fi/f1。区块对每种资源都有未来天然气限制和b1…bn限制。优先费用的操作方式和明天一样。。方案二(难度更大但也更真实):气基费活度1威(大概,假设我们想要,可以是1gwei)。使用每种资源的气价(实现一次)变成fi。。没有阻塞气体限制;每个资源受限于b1…bn。在这种模式下,"气体"和"ETH"成为真正的同义词。。优先费按规定的百分比运行;支付给块消费者的优先级费用等于基础费用乘以这个百分比(一个更基本的方法是指定n个优先级费用的向量,每个资源一个)。历史上多维定价模型的主要支撑概念有它们对块生成器施加了困难的优化效果:块生成器可以';他们不接受根据每气成本从高到低的销售,他们必须平衡不同的维度,并处理多维背包效应。。这将为功能明显优于股票算法的独家优化矿工创造空间,从而导致集中化。这种影响在两个关键方面比以前弱得多:理解为什么(2)是这样。我们需要注意一个非常重要的梦想:在多维EIP1559中,Slack资源的最大目标可以远高于2x。。这是因为明天';s2x松弛参数创建突然增加/持续差异,其叠加在来自不可预测使用的生成/持续差异上,而在多维EIP1559中,松弛参数表示整个突然/持续差异。例如,我们可以把calldata的使用量瞄准到~256kB(比明天多8倍),上面还有一个8倍的Slack参数(bisi),仍然有相当于明天的突增极限。假设证人气体兴趣保持不变。我们可以将见证大小绑定到另一个2MB左右,见证大小的Slack参数是6倍左右。对240个最新数据块的调查表明,即使在4倍calldataSlack的参数下,,只要这些块中有一块会达到极限!这说明了多维EIP1559的一个好效果:它会让优先拍卖的边际情况更加罕见,更快地消除销量骤增。我们可以从基础的结尾开始:分割之后,,或者您可以将碎片数据添加到此列表中。这给我们带来了很多好处,可以支持更多的可扩展性,降低使用量突然增加带来的风险。从长远来看。我们甚至可以把定价做得更精细:这样做的主要价值在于,它会增加另一层DoS保护:假设每个操作码都是只分配的,比如最大预期实现时间100毫秒,那么假设攻击者发现一个操作码或预编译的速度降低了10倍。他们只能将900毫秒的预期实现时间添加到块中。与明天形成鲜明对比的是,他们可以使用操作码或预编译来填充整个块。因此,任何单个操作码或预编译都可能被减慢10倍,从而使攻击者能够创建无法在单个距离上及时处理的块。