一、先说结论:链上没有手续费字段
比特币交易的原始结构里,费用没有专属字段。它的定义只有一条减法:花掉的输入总额减去写出的输出总额,剩下的就是矿工费。链上从来没有一笔交易的字节写着”本单费用五聪每字节”。所谓天价费用事故,正是这条规则的极端演绎:钱包构造交易时把某个找零输出算漏了、或者把整堆输入原样写出,差额在签字广播那一刻就永久生效,谁也无法在链上拦一下。
这个结构决定了手续费风险的全部形态:它不是一个数字设错,而是一次构造失误的不可逆后果。任何声称交易”自带费用标注”的工具提示,读的时候都要心里一紧——它展示的只是工具自己算出来的差值,不是链上存在的事实。

二、谁有权决定这笔差额
付款方。惯例与激励都指向这一点:构造交易的是付款方,输入是它的,签名是它签的,差额自然由它说了算。矿工在打包时把每笔交易的输入总额减输出总额算出来,和自己区块里 coinbase 写的归属地址配合,收取这笔费用。有一类历史事故顺便交代:矿工有权限不取满这笔钱,区块里没被任何地址认领的那部分直接永久销毁,这种事发生过上千次,近年越来越少。
收款方对费率的影响力接近零,这是理解一切费用纠纷的锚:收款方觉得你的费率低、单卡住了,能做的只有劝或者等;真正能改费率的是付款方——在交易还没进块之前,用替换机制重新构造一笔。进块之后,这笔差额连同整笔交易一起进入永久历史。
三、费率是算出来的,不是写上去的
钱包界面显示的聪每虚拟字节,是构造交易那一刻的反推:先估算自己这单大约多少虚拟字节,再按选定的目标确认速度反推该留多少差额。虚拟字节是隔离见证给交易记账定的单位——签名字节打折后的加权长度。同一笔金额、同样的收付款人,用不同的地址类型、不同的输入组合,虚拟字节可以差出好几倍,于是费用账单也差好几倍。这就是”同样转一笔钱,上次便宜这次贵”的第一层原因:不是网络涨价,是你这单的体积和输入拼法变了。
第二层才是市场:内存池里排队的人多,钱包按目标确认时间估算出的费率自然抬升。费率估算工具输出的是一个建议区间,不是保证价格——它统计的是历史上的打包费率分布,对下一块、下十块只发言论,不签合同。
四、由此推生的三条防御纪律
第一,把差额当输出审。签任何一笔交易前,把输入合计与输出合计各心算一遍,差值超出心理预期就停手,去查是不是混进了巨量小额输入或者丢了找零。大额离线签名场景,这一条能救回无数次构造事故。
第二,把找零当输出审。找零输出默认回到自己的新地址,它写没写、写到哪,直接进费用与隐私两本账。历史上”找零地址风险”类困惑的根源都在这一步:钱包归并了一堆旧 UTXO,差额被顺手算大。
第三,广播前保留最后否决权。任何工具在你点确认之前应给你完整的输入、输出、差额预览;一个跳过预览直接代签的产品,等于替你把减法做了。费用机制的信任分配很简单:规则在链上,数字在钱包,责任在最后按下签名的人手里。
风险提示:本文仅为比特币交易机制科普,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。