把Gas变成ETH直接付:EIP-7791的变现设想 图 1
把Gas变成ETH直接付:EIP-7791的变现设想 · 图 1

合约作者怎么收钱

今天智能合约的编写者想让使用付费,路径相当别扭:发一个代币再设法让它有市场,或者在协议费里切一刀,或者靠捐赠和基金会。多数公共物品性质的合约——编译器、库、地址解析、数据格式转换——没有发行代币的动机,也雇不起商务。用户为调用支付了 Gas,钱流向了提出区块的验证者,作者分文不取。EIP-7791(2024 年 8 月创建,Charles Cooper 与 pcaversaccio 撰写)瞄准的就是这个断层:给 EVM 加一条 GAS2ETH 指令,让交易签名字节码里消耗的燃料可以按 gas 单价折算成 ETH,直接转给作者地址。

机制怎么限制滥刷

光能转还不行,关键在预算。提案设计了两层额度:每笔交易有一份全局 GAS2ETH 预算,初始等于交易自身的 gas 上限;每个调用帧从转发给自己的 gas 派生一个局部额度。想转多少钱,就先得在帧和全局两个池子里扣掉对应燃料;额度不够时,转账额被自动压到剩余允许值。指令按 EIP-2929 框架取交易的 gas 价乘出 wei 数,到账地址不执行代码、不会拒收。遇到回滚,已经发出去的 GAS2ETH 金额必须退回两级预算。提案还特意划清会计边界:经 GAS2ETH 支付的 Gas 不计入区块 gasUsed、不进基础费与销毁,也不会和验证者奖励重复计——它是签名者对收款地址的直接支付,借用的是 Gas 这个计价单位,而不是区块费用的资金池。

为什么这可能改变激励

用 Gas 计价收费的好处是自动与网络忙闲联动:高峰期作者收入水涨船高,低谷期收费自然回落,无需任何人调价。对调用方,体验就是”这笔调用的部分燃料费直接进了协议金库”,不新增代币、不改钱包。提案作者直言动机是让合约作者、验证者与网络激励对齐——驱动区块空间需求的好合约,第一次能顺着这条需求直接分到钱。

一笔类比账

把一笔交易想成一张加油小票:你加了多少油(Gas),加油站按当日牌价(gas price)结账,钱进了油站(验证者)。GAS2ETH 相当于在小票上加一栏”附加费转付”:按同样牌价,从同一箱油里划出一部分直接付给发动机设计师,而这部分不计入油站营收也不进慈善池。类比能帮你抓住这个设计最容易被误读的一点——它挪用的是计价单位而不是资金池,预算约束则保证”划拨的额度”永远来自你已经买下的那箱油,不会出现凭空多出来的油。

草案阶段的冷思考

截至本文核验,EIP-7791 停留在 Draft(草案),未进入任何升级清单。争议至少有四:它把交易费体系劈成内外两套账,简单性受质疑;作者地址如何登记、要不要治理,容易复制出代币发行时的寻租问题;Gas 到 ETH 的汇率完全跟随 gas price,行情剧烈波动时收入难以预算;以及部分 Gas 不再进销毁池,对 EIP-1559 的供应机制有边际影响。这些都是没有结论的开放问题,读它时应把它当作对”协议如何养公共物品”的一次结构化提问。

快速问答

问:GAS2ETH 会让我付的 Gas 变多吗? 答:按提案规则不会凭空变多——被转换的燃料先从预算里扣除,等价于同一份钱换个去向。

问:现在有什么替代办法给合约作者付费? 答:常见的是协议费开关与代币回购,均依赖合约自己发币;这正是本提案想绕开的路径。

问:为什么转账时不执行目标地址的代码? 答:为了杜绝接收方合约在 fallback 里重入或拒绝收款导致逻辑分叉;这也是它和普通 CALL 在安全语义上的关键差别。

风险提示

本文为协议机制科普,不构成投资建议。任何代币、费用机制相关项目都可能存在风险,请独立核实并自担决策后果。