过去几个月来,以太坊核心开发者正在忙于“伦敦”升级,即4月上线的柏林升级之后的下一次升级。虽然激活的时间尚未确定,但是“伦敦”升级中包含的EIP已经确定。根据“伦敦”升级规范,这些EIP分别是: EIP-1559:ETH 1.0链的费用市场改革 EIP-3198:BASEFEE操作码 EIP-3529:降低gas退款 EIP-3541:拒绝以0xEF字节码开头的新合约 EIP-3554:难度炸弹推迟至2021年12月1日 我们来详细看一下每个EIP! EIP 1559:ETH 1.0链的费用市场改革 EIP 1559是最受瞩目的以太坊变革之一,也是“伦敦”升级即将引入的最大改革。EIP 1559将在区块中引入“基础费用”,基础费用会追踪以太坊网络的gas价格(gas价格取决于用户对区块空间的需求)。这意味着,钱包和用户将更容易准确地预估交易费。另外,EIP 1559增加了一种新的交易类型,让用户可以指定其愿意支付的最高费用,及其愿意支付给矿工的最高费用。用户指定的最高费用与(基础费用+矿工小费)之间的差额将被退还给用户(译者注:假设有差额的话)。最后,EIP 1559会销毁部分交易费,以太坊社区有很多人都认为这是对以太坊网络经济机制的一大重要改进。 EIP 1559的运作方式、优点和影响是一篇文章远远无法涵盖的。点击此处,可查看关于EIP 1559的全部材料。点击此处,可观看《带你看EIP》系列视频中关于EIP 1559的部分。 EIP 3198:BASEFEE操作码 EIP 3198是EIP 1559的配套EIP。这个EIP只添加了操作码BASEFEE。这个操作码会返回其所在区块的基础费用的值。这样一来,智能合约就能在链上访问该值,这有助于提交欺诈证明和创建免信任的gas价格衍生品。关于该提案的完整介绍,请观看《Ratan Rai Sur带你看EIP 3198:BASEFEE操作码》。 EIP 3529:降低gas退款 “伦敦”升级引入的另一大重要变革是取消了SELFDESTRUCT操作码的gas退款,并降低了SSTORE操作码的gas退款。虽然gas退款最初是为了激励开发者在可能的情况下清除状态,但是实际上在Gas Token出现后,gas退款反而导致状态规模增加。用户可以在gas价格较低时铸造Gas Token,然后在gas价格较高时将其销毁,获得退款。 除此之外,gas退款也会导致区块执行时间发生变化。在“伦敦”升级之前,最高50%的gas退款可以用来在同一区块中执行进一步计算。这就意味着,区块大小最高可达gas上限的1.5倍。EIP 3529会将“执行退款”从50%降至最低20%。这一变革可以在一定程度上抵消EIP 1559造成的区块大小差异(1559让区块的gas使用量最多可达当前gas上限的两倍)。 EIP 3541:拒绝以0xEF字节码开头的新合约 EIP 3541是一个简单的变化,为EIP 3540的EVM改进提议奠定了基础。一旦EIP 3541实行,以0xEF字节码开头的新合约将无法部署。已有合约不会受到影响。“伦敦”升级启动后,字节码最短序列以0xEF开头、但又与现存合约的起始序列不符的合约部署将会被回滚,以确定兼容EIP-3540语义的合约。请注意:EIP 3540需要另外部署网络升级。另外还需要注意的是,如果EIP 3540没有部署,EIP 3541也可以用来保留起始字节,以便用于其它方案。 (责任编辑:admin) |