GasToken:我为何不再担心 gas 价格飙升(下)( 二 )
for { } lt(i, end) { i := add(i, 1) } {
mstore(ptr, i)
pop(call(gas, keccak256(data, 85), 0, 0, 0, 0, 0))
}
}
为简洁起见 ,
destroyChildren
字节码的反汇编是由阅读器来完成的 , 总的流程与 GST2 类似 , 但是进行了一些修改来降低CREATE2
目标地址查找的难度 —— 这就是效率提高 10% 的由来 。
为什么要关注 GasToken2020 年之前 , 几乎没有人公开关注 GasToken 1、2 或 CHI 。 然而 , 到了 2020 年 , DeFi 热潮引发了 “gas 大战” , gas 费飙升至 500 GWei 以上 , 并触发了 Geth 的默认设置内存池溢出 —— 导致以太坊交易丢失!
然而 , 在这个默默无闻的以太坊小工具上出现的讽刺事件是 , 当网络拥堵最严重时 , GasToken 的价格(以美元计价)也在 Uniswap 等去中心化交易所上达到顶峰 。 因此 , 卖出 GasToken 来赚取利润的生意 , 因为 gas 本身价格的高涨 , 并不令人轻松;而且 , 小数额的卖出 , 很容易错过一段时间内的高点 。 (注:这绝不是投资建议 。 )
根据定义 , GasToken 当然是最具实用性的代币 , 因为它直接充当网络的交易池 。 有些人建议使用 GasToken 来实现一种基于合约的公益品融资 。 或许这比 Near Protocol 强制规定的智能合约开发者收取基础交易 gas 成本总额的 30%(后者也存在自身的问题 , 例如 , 鼓励效率低下的智能合约设计)更好 。
非正统 GasTokenDefiSaver 旨在为用户提供更加友好的方式 , 以便其与不同的 DeFi 协议交互 。 这一工具通过函数修饰符在合约中使用 GasToken 。 这个修饰符使用正统的 GST2 合约 , 目前在几乎所有 DefiSaver 包装的协议函数调用中都使用硬编码的值进行调用 。 一个有趣的分析是 , 随着时间的推移 , 这种方法可以节省多少交易费 。 Tenderly 等新型以太坊工具凭借其优越的 GasProfiler 和仿真模式使之成为可能 。
虽然这种硬编码模式肯定有效 , 但是经过改进的设计需要依赖当前 gas 价格——这时 , chainlink 等信息输入机制就派上了用场 。 设计上必须谨慎 , 因为这可能会带来很高的成本(lastestAnswer()
的成本约为 15000 gas) 。
其它著名用例/设计有 GasToken 工厂和将 CHI GasToken 纳入 MakerDAO 质押品的提案 。
铸造 GasToken那么 , 为什么没有更多合约使用 GasToken?状态膨胀(即 , 节点的存储量大小)的问题越来越严重 , 或许这就是 GasToken 被视为有害状态操作的原因 。 就像一些持纯粹主义的比特币持有者拒绝采用 OP_RETURN
比特币脚本操作码来 存储/销毁 比特币区块链上的任意数据的做法 , 称这会导致不必要的状态膨胀 。
状态租赁这一想法似乎已经被放弃 , 一方面是因为可能会引入过多的复杂性 , 另一方面是因为无状态客户端的出现和 ETH 2.0 有望引入另一种状态存储架构 。 虽然可能性很低 , 但是 ETH 1.0 的矿工可能会抵制状态膨胀 , 选择审查类似 GasToken 的机制的交易 , 因为状态膨胀会直接增加运行全节点的成本 , 尽管增加的成本很少 —— 256 比特的存储插槽的真正成本几乎可以忽略不计 。
另一个更加实际的因素是 , GasToken 从中长期来看存在操作码重新定价的风险 。
没有风险的修改提议由于伊斯坦布尔硬分叉引入了 EIP 2200 , 存储操作码已经过大规模重组 , 不过这些更改涉及特定情况下的 记账/计量方式;SLOAD
的 gas 价格上涨 , SSTORE
则没有 。
最近 , EIP-2929 提议了一些修改 。 这些修改源自一篇帝国理工学院(Imperial College London)的论文 。 此前 , 这篇论文还被用来详细分析操作码的 gas 定价(过低)问题 。 这个 EIP 提议增加交易首次使用 SLOAD
、*CALL
、BALANCE
、EXT*
和SELFDESTRUCT
所需的 gas 成本 , 因为考虑到这些操作码读取的状态量和访问状态所需的时间 , 它们都存在定价过低的问题 。
特别要指出的是 , 这个 EIP 流程提议增加交易范围内的 addresses_accessed
和accessed_storage_keys
集合 , 以便区分冷热状态访问 , 向冷账户/状态访问收取额外的 2600 gas , 并将热状态存储访问的 gas 成本减少至 100 gas 。
由于 COLD_SLOAD_COST
是基于SSTORE_RESET_GAS
收费的 , 基于存储的GasToken1 的经济机制就不那么有吸引力了 。 GasToken 1 似乎不常用 , 因为它只能在较小的 GasPrice 率范围内节省成本 。 所以再见了 , GasToken1 。
对 SELFDESTRUCT
的修改提议不会影响 GST2 或 CHI 和
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 当初|这是我的第一部华为手机,当初花6799元买的,现在“一文不值”?
- 发展|我省要求互联网平台坚持依法合规经营 推动线上经济健康规范发展
- 页面|流程图怎样画?老板要我帮他做个组织结构图
- 深度|iPhone12到底值得买吗 深度体验一周我发现了这些
- 效果|周冬雨化身美妆效果评测员?相比美妆数码宅的我更期待OPPO新机
- 退费|女子公众号上买菜,出现问题时已充上万元,公司:我们没有退费规矩
- 自助|新型通道-健康码自助核验闸机
- 环境|环境标识认知转盘游戏
- 手机壳里头|为什么要在手机壳里面夹钱?10个有9个不懂,我才知道大有讲究