我把AEGIS安全分析里的手续费修复重新拆了一遍,核心落在一条很朴素的等式:gas_limit × gas_price = max_fee。这里不是拿三个数字做展示,AEGIS要求先用受检查的乘法计算前两项,再确认结果与交易已经证明的max_fee完全一致;同一条约束还要在mempool准入和VM执行各检查一次。

两层检查看起来重复,我觉得恰恰是这次修复最值得理解的地方。mempool这一层负责在交易传播前拦住参数互相打架的输入,可以少让无效交易继续往后走;但区块提议者并不需要保证所有内容都按普通节点的入口路径进来。于是VM再算一次,等于把“入口检查”升级成“执行规则”:就算有人绕开前门,进入状态执行前仍要满足同一条等式。

最容易误读的一点,是把“mempool已拒绝”当成完整的协议安全边界。前者更像节点操作层的筛选,后者才是每次状态执行都必须重算的约束。这个差别决定了绕开入口的人有没有例外。BTC没有Gas退款这层结构,用它作参照时,反而能看出Dusk为什么要把费用一致性一直带到执行层。

ETH用户对Gas上限和Gas价格很熟,容易把这件事理解成单纯的费用估算。AEGIS处理的重点更细:证明、签名、执行和退款使用的费用语义要绑定在一起,不能前面承诺一套、后面计算另一套。这里多了一层“费率数据必须一致”的约束。

对普通用户,这不代表手续费以后一定更低;它改善的是异常参数进入执行路径的空间。@Dusk_Foundation 的这份分析让我更关心钱包最终能不能把最大费用、实际消耗和退款结果分开显示。$DUSK 作为网络手续费资产,页面只给一个“Gas估算值”并不够;后续我会盯的是失败原因和退款结果能否被普通用户直接读懂,以及不同客户端是否始终按同一套规则处理,而不是再猜某个平均费率高不高。
#dusk