在 Solana 上付过手续费的用户大多只看到一个总数,但这笔钱在链上被拆成两半、走了两条完全不同的路:一部分永久退出流通,一部分进了出块验证者的口袋。两条管道的比例还不一样。本文按官方文档拆解这笔分配账:基础费怎么按签名收、哪一半被烧掉、优先费为什么一分不烧,以及这些规则对钱包与费用的实际含义。
总费用怎么算:两条独立相加的管道
Solana 交易的总费用由两部分组成:基础费加优先费。基础费按签名数量收取,当前每个签名 5000 lamports,执行前从付款账户扣除。计费对象是交易里的全部签名,包括 Ed25519 原生签名,也包括通过 secp256k1、secp256r1 预编译程序验证的签名。也就是说,一笔多签交易或带外部签名验证的交易,基础费按签名个数线性放大。优先费则来自计算预算指令:用每计算单元的微 lamport 报价乘以计算单元上限,除以一百万并向上取整得到 lamports 金额。交易无论执行成功还是失败,费用照收不误——失败只是状态改动回滚,签名验证与调度资源已经消耗。
五五开的去向:基础费一半烧掉一半给验证者

基础费的分配由运行时的费用计算函数决定:总额的百分之五十被销毁,退出流通;另外百分之五十归出块验证者。官方文档把销毁比例写成常量,即默认烧币百分比为 50。这个设计让 Solana 的费用体系带有一个自动的微型通缩阀门:网络越忙,单位时间内销毁的 SOL 越多,但它不像以太坊那样把基础费全额销毁,验证者始终保留一半的基础费收入作为签名验证的补偿。
全额归出块者的优先费
优先费的分配走的是另一条规则:百分之百给出块验证者,一分不烧。这条规则来自 SIMD-0096 提案,把此前”优先费同样五五分”的方案改成了全额归验证者。官方给出的动机是费用市场设计:优先费本质是用户为”插队”付出的竞价,全额归出块者能让验证者在拥堵时更有动力调整交易排布;如果一半要烧掉,竞价信号会被稀释。于是同一笔交易里出现了有趣的分工:基础费承担供应侧的销毁职能,优先费承担调度侧的激励职能,各管各的账。
对使用者的直接推论是:拥堵期真正推动成交的是优先费而不是基础费——提高签名数只会加倍销毁加验证者分成的固定成本,对排队的帮助有限;调高每计算单元的报价才改变你在下一个出块者视角里的位置。这也是官方指南反复强调”先把计算单元上限设准、再谈加价”的原因:报价乘的是上限,上限虚高一倍,付出的优先费就白多一倍。
版本格式带来的口径变化
官方文档同时提示,即将到来的 v1 交易格式里,优先费将改为在消息配置中直接写一个 lamports 总额,而不是继续用”单价乘上限”的乘积式。这意味着未来钱包端展示与估算优先费的换算逻辑会变化,但对分配规则本身没有影响——烧一半拿一半的基础费、全归出块者的优先费这两条线不随格式版本改变。核对历史交易时,则要以当时的规则解读当时的收据。
普通用户核对什么
第一,看手续费收据时把两笔账分开:基础费部分要按签名数数,多签交易的固定成本更高;优先费部分回头查自己设的计算单元上限与报价乘积。第二,交易失败也扣费是正常规则,不是扣款 bug,重试前应修正的是导致失败的原因而非盲目加价。第三,想理解”这笔费有多少永久消失了”,只需记住:签名费用的一半加零。销毁量不进入任何验证者或平台的账户,这部分账可以在通缩类数据面板里交叉核对。
边界提醒: lamports 单价、销毁比例、SIMD-0096 的生效范围都可能随协议演进调整,正文数字以官方文档当前值为准;涉及费用的比较不构成任何投资或迁移建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。