据 GitHub 显示,2 月 28 日 Vitalik 已更新 EIP-3298 提案,提案内容为在伦敦升级中移除「执行 SELFDESTRUCT 获得 Gas 费退款」的规则。虽然该提案至少要等到 7 月才有望执行,但 Gas 费周末的确有所下降,截止发稿时,Gas 费平均水平在 76 gwei 左右。据律动此前报道,伦敦升级将在 7 月中旬左右执行。
那么 SELFDESTRUCT 是什么?
自毁操作 SELFDESTRUCT(EIP6 之前称为 suicide)的功能是允许人们通过删除旧的或者未使用的合约来清理区块链,该操作系统会提供 Gas 退款,激励用户删除存储状态的方式释放资源,删除智能合约并不会清除合约之前历史的交易记录,区块链本身并不可改变。
Twitter ID 为 @n2ckchong 的交易员 Nick Chong 进一步解释了 SELFDESTRUCT 是如何影响了 Gas 费用,并且为何在 V 神更新提案后,Gas 费大幅下滑。
律动将 Nick Chong 推文整理并翻译如下:
当前每个在以太坊上的交易都需要 Gas 费用。而通常交易越复杂,交易消耗的 Gas 费就越多。而 SELFDESTRUCT 是 EVM 级别的操作码,可将合约的余额发送到「地址」。它的独特之处还在于,执行操作码会直接销毁合约,但 EVM 实际上会退还给用户一些手续费用,以消除状态膨胀,从而帮助节点管理状态(State)大小。
这听起来可能并不有趣,但一些聪明的开发者意识到,你可以通过在 Gas 价格低廉时在合约中储存 Gas 费用,将廉价的状态空间保持下去。
存储的方式简单来说就是,在 Gas 费便宜的时候铸造或者购买 Gas 费代币,比如 GST 和 1inch 团队推出的 CHI,然后在 Gas 费波动的时候通过销毁这些代币实现收益。
律动注:Gas 代币将 Gas 费通证化为一个 ERC20 Token,允许用户直接买卖,或者作为将来使用 Gas 的预付费。在 Gas 价格便宜时用户可适当购买、储存,然后在 Gas 价格高涨时可以使用。
具体而言,在 Gas 价格较低时,Gas 代币鼓励用户到合约中创建或铸造代币 GST1/GST2,此时 Gas 代币将用用户提供的资金以较低的费用存储数据/创建合约。待 Gas 价格暴涨时,用户可以使用或消耗 GST1/GST2,Gas 代币便通过删除数据或合约(也就是 SELFDESTRUCT)的方式,获得网络奖励或者称 Gas 退款,由此实现以较低的价格消耗 Gas。
这也就解释了为什么很多在以太坊浏览器 Etherscan 上的套利交易,在查看交易细节之前都会有「自毁合约 0x…」的提示。
这种方式很聪明。
当一个运行中的套利机器人每天花费价值数千美元的以太坊交易费时,随着时间的推移,他们通过使用 Gas 代币节约手续费用可以省下来不少钱呢。
一些人认为,Gas 代币的存在导致了相当大的状态膨胀,因为当 Gas 币还便宜的时候,以太坊节点中注入了很多「无意义的」合约。通过增加状态膨胀,叔块的比率可能会增加。
以上大概就是为何 Vitalik 昨天建议在伦敦升级中取消 SELFDESTRUCT 的 Gas 退款规则。
不管怎么说,还是感谢 V 神的这个提议,在这个提议发出之后,Gas 费用大幅下滑,回到了较为正常的水平。而 Gas 费代币 CHI 和 GST 代币价格也出现了跳水:CHI 价格下降了 40%,GST 下降了 30%。
而一旦提案正式执行,这些代币可能很快就会变得无用,因此可能没有任何诱因让用户铸造 CHI 或 GST。