EIP-2929:状态访问操作码的 Gas 成本增加增加的 Gas 成本 SLOAD (0x54)至 2100,以及 *CALL 操作码家族(0xf1,f2,f4,fA)、BALANCE 0x31 以及 EXT*操作码家族(0x3b,0x3c,0x3f)、以及 2600 免 CD (ⅰ)预编译。此外,还可以改革 SSTORE 计量方式,确保对 SELFDESTRUCT 这些操作码中固有的「实际存储负载」进行正确定价。 通常,操作码 Gas 成本的主要功能是估计处理该操作码所需的时间,目标是使 Gas 限制对应于处理块所需时间的限制。然而,存储访问操作码(SLOAD,以及CALL,BALANCE 和 EXT操作码)在历史上被低估。在 2016 年上海 DoS 攻击中,修复了最严重的客户端错误后,攻击者使用的一直奏效的策略之一就是简单地发送可访问或调用大量帐户的交易。 提议的 EIP 将这些操作码的成本增加了大约 3 倍,从而将最坏情况下的处理时间减少到大约 7-27 秒。数据库布局的改进涉及重新设计客户端以直接读取存储而不是跳到 Merkle 树上,这将进一步降低这种情况,尽管这些技术可能需要很长时间才能完全推出,并且即使采用这种技术,访问存储的 IO 开销也会保持实质性。 EIP-1077: 合约调用的 Gas 中继采用 DApp 的主要障碍是需要多个 token 来执行链式操作。允许用户签名消息以显示执行意图,但允许第三方中继器执行消息可以避免此问题,尽管以太坊交易始终需要 ETH,但智能合约可以采用 EIP-191 签名并转发付款激励具有 ETH 的不受信任方执行交易。可以标准化它们的通用格式,以及用户允许以代币支付交易的方式,为应用程序开发人员提供了很大的灵活性,并且可以成为应用程序用户与区块链交互的主要方式。 EIP-1087:用于 SSTORE 操作的 Gas 计量该 EIP 提议对 EVMSSTORE 操作的 Gas 收费方式进行更改,以减少不必要的 Gas 成本,并为合同存储提供新的用例。 EIP-1285:在 CALL 操作码中增加 GcallstipendGasGcallstipend 将 CALL 操作码中的费用参数从 2,300 增至 3,500Gas 单位。 EIP-1380:降低了内部调用的 Gas 成本降低内部调用的 Gas 成本将极大地受益于诸如 Solidity 和 Vyper 之类的智能合约语言,这样他们便能够用 CALL 代替 JUMP 内部操作调用使用操作码。 EIP-1613: Gas 站网络通过允许合同接受「代收货款」并为 Gas 付费,使非 ETH 用户可以访问智能合约(例如 dapp)。 与 dapp 通讯目前需要向 ETH 支付 Gas 费,这限制了 dapp 的采用仅限于以太坊用户。因此,合同所有者可能希望为 Gas 支付费用以增加用户获取量,或者让其用户以法定货币支付 Gas 费用。或者,第三方可能希望补贴某些合同的 Gas 成本。如 EIP-1077 中所述的解决方案可以允许来自不包含 ETH 的地址的交易。 (责任编辑:admin) |