发送0.01 BTC不一定比发送1 BTC便宜。比特币矿工费主要取决于交易占用多少虚拟字节,以及你选择每虚拟字节支付多少聪;输入、输出和脚本类型决定大小,转账金额本身不直接决定大小。
四个单位先摆到工作台上
BIP 141为隔离见证引入了权重计算。先区分:
- Base size:去掉见证数据后的传统序列化字节数。
- Total size:包含见证数据的完整序列化字节数。
- Weight:
base size × 3 + total size,单位是weight unit。 - Virtual size:
weight ÷ 4并向上取整,单位是vbytes或vB。
把total size拆成base size加witness size后,也可以理解为:非见证字节按4 WU计,见证字节按1 WU计。折算不是说签名数据不重要,而是共识规则在区块权重中给见证数据较低权重。区块总weight上限为4,000,000 WU。
一个完整换算例子
假设某交易base size为120 bytes,包含见证后的total size为220 bytes:
weight = 120 × 3 + 220 = 580 WU
vsize = ceil(580 ÷ 4) = 145 vB
若钱包选择费率20 sat/vB:
fee = 145 × 20 = 2,900 sat
这只是教学数字。真实交易大小取决于地址类型、输入签名、脚本、输出和钱包序列化,费率则随内存池与确认目标变化。钱包给出的最终交易预览应是主依据。
为什么见证交易会有“折扣”
SegWit把签名等见证数据从传统交易标识结构中分离,并用区块见证承诺验证。BIP 141通过权重公式降低见证字节在容量计算中的权重,从而让P2WPKH、P2WSH或Taproot等交易的虚拟大小通常低于相同原始字节数全部按非见证计算的结果。
不要把折扣理解为所有新地址都固定便宜多少。一个多签P2WSH可能有更多签名,一个Taproot脚本路径可能携带复杂控制块;最终还是要看实际weight和vsize。地址类型基础见比特币地址类型是什么。
输入数量为什么最影响手续费
每个输入要引用过去UTXO并提供解锁条件,通常比一个普通输出占用更多虚拟空间。钱包为了凑出0.1 BTC,可能选择一个0.11 BTC的大UTXO,也可能选择二十个0.005 BTC的小UTXO;后者输入更多,vbytes和总费往往更高。
输出也会增加大小。常见支付包含收款输出和找零输出;批量支付则有更多收款输出。比特币UTXO与找零的关系可参考比特币UTXO是什么。不要为了少一个输出而把找零错误地并入矿工费。
sat/vB与总手续费分别回答什么
总手续费告诉你这笔交易一共支付多少BTC;sat/vB告诉节点和矿工每单位虚拟空间得到多少费用。内存池竞争通常按费率比较,而不是按总费比较。一个很大的交易即使总费高,sat/vB很低,也可能排在小而费率高的交易之后。
查看内存池时,应记录不同目标区间的费率分布,而不是只抄一个“推荐费”。相关读法见比特币内存池与费率怎么看。Bitcoin Core的estimatesmartfee按确认目标给出估算并说明错误或数据不足,但估算不承诺一定在目标区块内确认。
为什么钱包显示BTC/kvB而网站显示sat/vB
不同工具可能用BTC/kvB、sat/vB或sat/kwu。换算时必须确认是1000字节还是1000虚拟字节,以及是否按weight unit。常见换算中,1 BTC等于100,000,000 sat;但不要只凭单位名称心算,最好让工具显示总费与vsize再反算:
实际费率 = 总手续费(sat)÷ vsize(vB)
若反算结果与钱包标称差异明显,检查钱包是否包含服务费、加速费,或展示的是费率上限而非实际值。
卡住后修改费率会改变什么
RBF用更高费率的新交易替换可替换交易;CPFP通过高费率子交易提高父子交易包的综合吸引力。两者都会产生新的大小和费用关系,不能简单在原总费上加一个固定数字。选择方法见比特币RBF和CPFP怎么选。
交易广播前就应保存输入、输出、vsize、总费和sat/vB。广播后若要加速,再用当前内存池和钱包支持情况判断,不向声称“保证确认”的陌生服务发送私钥或助记词。
签名前的五项算术检查
- 输入总额减输出总额是否等于矿工费。
- 找零地址是否被钱包识别为自己的策略。
- vsize与输入、输出数量是否大致合理。
- 总费除以vsize得到的sat/vB是否接近预期。
- 当前费率是否匹配你的确认目标,而不是价格预测。
风险提示
本文仅用于比特币手续费与交易数据教育,不构成确认速度保证。内存池、节点策略、费率估算、交易包规则和钱包选币都会变化。错误地址、错误找零或过高手续费可能造成不可逆损失,请在可信钱包和硬件设备上核对实际交易,并在大额操作前小额演练。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。