摘要

➤ 是的,某些操作码调用将需求更多的 gas 开支,但有必要这样做来进步安全性。

➤ 但另一方面,一直以来应该更廉价的操作 (存储后加载相同的 slot) 最终会变得更廉价。

➤ 另一个重要裨益是,适度进步 gas limit 现在变得更安全。现在限制 gas limit 进步的主要原因跟多在于状况巨细问题。

柏林硬分叉中引起 gas 开支变化的 EIP 有:EIP 2565 (降低ModExp 求模求幂运算的 gas 开支 )、EIP 2929 (进步SLOAD 与 CALL 的 gas 开支)、以及 EIP 2718 和 2930,用以支撑受 gas 开支增加影响的合约的兼容性,以及为未来的晋级衬托。

现在,这些 EIP 中最重要的是 EIP-2929。它的核心内容是:SLOAD 的 gas 开支从 800 增加到 2100,CALL 的 gas 开支 (包含STATICCALL 、 DELEGATECALL和其他操作码) 以及外部合约查询 (BALANCEEXTCODESIZE 等) 从 700 增加到 2600,但这种状况仅会在地址和存储 slot 在买卖里首次被拜访时发生。

这样做的意图是进一步进步对 DoS 进犯的抵挡能力:早期的研究显示,以太坊协议现在最大的 DoS 漏洞在存储拜访,并且是有可能能够创立一些区块对很多账户作简略重复的拜访,处理时刻可能长达 80 秒。解决办法是一个简略的快速修复:使这些操作继续更长的时刻 (存储拜访需求磁盘拜访) 以耗费更多的 gas,最终 DoS 问题会被削弱大约 3 倍。与此同时,客户端团队进行了一些超卓的工作——实现磁盘存储缓存、削减存储加载所需的数据库查询次数、以及更长远地堵住这个漏洞。

gas 开支从头定价加上这些客户端的改善使得现有的区块链更安全,也使得供给 gas limit 比现在愈加安全。在 EIP-2929 后,防止大幅 gas limit 提升的主要原因实际上不再是 DoS 进犯问题,而是状况巨细的增加 (这两方面互相影响:当存储负载变大后存储加载耗费的 gas 会更多)。因而,状况过期和无状况会变得十分重要,甚至能够说是“合并” 后的首要任务。

这次的从头定价产生的第二大长期裨益是无状况验证的见证巨细理论上最大能削减 3 倍。关于代码读取,我们还需求一次从头定价 (类似于:每拜访 31 字节代码需求 500 gas),但这一点能够在未来实现。

请注意:这份 EIP 只增加每笔买卖第一次拜访的 gas 开支。往后的拜访实际上是更廉价的 (任何状况下都是 100 gas)。另外,对预编译的调用一直只耗费 100 gas,包含首次调用。这样做有带来以下正面影响:

➤ 在同一个 slot 里,任何SLOAD后的SSTORE(或许SSTORE后的 SLOAD) 都会变得更廉价。这是由于第一次存储读取或写入以及支付了拜访存储 slot 的 gas 费了,因而该存储 slot 已经“预热了”,第一次读取和写入都会更廉价;这样,我们需求支付的 gas 不是 800 + 5000,而是 2100 + 2900 (大约),削减了大约 800 gas。这可能使选用 ERC20 协议规范代币的转发更廉价。

➤ Self-calling 变得更廉价

➤ 对预编译的调用变得更廉价 (这关于低 gas 开支的预编译来说特别有价值,这些预编译需求倍调用十分多次,比方 ECADD)

增加第一次拜访规则是由于当一个账户或存储 slot 被第二次拜访时,该账户或存储 slot 应该已经在内容里有缓存了,因而就不需求进行贵重的磁盘拜访了。当然,对同一个数值的两次拜访也只需求一次的见证条目。

视野开拓

我的研究是:长期来看,股票的回报率不紧大大超过了其他所有金融资产的回报率,而且当我们把通货膨胀因素考虑在内时,股票甚至比债券更安全,也更具有可预测性。由此,我得出的结论是:股票显然是那些追求长期收益的投资者的最佳选择。-《股市长线法宝》

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注