18 / 736SAT/vB

Transaction Fees

交易手续费

为什么小额付款可能比大额转账更贵,手续费归谁,以及交易等待确认时能做什么。

Transaction Fees 是为将交易纳入区块而支付的比特币手续费。它归把交易纳入有效区块的矿工所有,并非由银行或全网统一价目表决定。钱包通常根据交易大小和你希望的确认速度建议手续费。但出价更高,不等于预约了确认时间。

Transaction Fees:交易大小与手续费估算交易的虚拟大小、按自定费率计算的手续费,以及其在所选货币中的参考价值。

假设钱包使用了你之前收到的 100,000 聪。聪,缩写为 sat,是 BTC 的最小单位。钱包给收款人发送 60,000 sat,再将 38,000 sat 作为找零返还给你。剩下的 2,000 sat 就是手续费。使用的资金称为输入;为收款人和找零新建的金额称为输出。普通交易的手续费等于输入总额减去所有输出总额。它不是另外发送到特殊地址的一笔付款:矿工可以把它加到 coinbase 交易的奖励中;coinbase 是区块里的第一笔交易。 [2] [3]

成本取决于交易需要多少空间,而非转账 BTC 金额的百分比。钱包可能用之前收到的许多笔资金拼成一笔小额付款,每多一个输入就会增加数据。因此,仅使用一个输入的大额转账反而可能更便宜。sat/vB 表示每个虚拟字节支付多少聪,虚拟字节是计算手续费时使用的大小单位。例如,200 vB 的交易按 10 sat/vB 计算,手续费为 2,000 sat。两笔交易大小不同,即使费率相同,总手续费也不同。 [1]

建议费率是根据待确认交易和以往确认情况作出的估算。节点把待确认交易放在各自称为 Mempool 的本地暂存区中。如果更多人开始争用有限的区块空间,原本足够的费率可能不再能换来快速确认。矿工还可能一起考虑存在先后依赖关系的交易。提高费率会让你的报价更有吸引力,却不保证进入某个具体区块。因此,发送前应同时比较总手续费和预计等待时间。交易所的提现费用还可能包含其服务收费,并不一定等于你的付款实际支付的网络手续费。 [3]

有些钱包支持提高手续费。Replace-by-Fee (RBF) 会创建一笔替代交易,花费至少一个相同输入并提供更高的手续费;能否接受取决于节点规则。Child Pays for Parent (CPFP) 则在一笔手续费更高的新交易中,花费待确认交易的一个可用输出。矿工要获得这笔新手续费,也必须纳入前一笔交易,因此会评估整个交易包。你需要控制相关资金,而且钱包必须支持。这并不是加速他人付款的通用办法,两种方法都不保证确认时间。 [3] [4]

比较钱包数据时,这个细节很有用:虚拟大小不一定等于实际存储的数据字节数。SegWit 引入了交易重量,对基础数据和用于验证签名的数据赋予不同权重。BIP 141 把虚拟大小定义为重量除以四后向上取整。普通付款无需自己完成这项计算。只要记住,输入类型和交易结构可能改变交易大小,从而改变相同费率下的手续费。 [1]

示例 · SAT/vB

费率 × 虚拟大小

140 vB 的交易按 12 sat/vB 支付 1 680 sat 手续费。只要虚拟大小和费率相同,无论发送 0.001 BTC 还是 10 BTC,计算都不变。

要获得更完整的理解,请将本词条与以下词条结合阅读: 交易, Mempool, 挖矿, Block Subsidy, SegWit. 反向关联还来自: 挖矿, 交易, Block Subsidy, Mempool.

01Bitcoin 手续费是发送金额的百分比吗?

不是。手续费取决于虚拟大小和所选 sat/vB 费率,而不是转移 BTC 金额的百分比。建议费率只是估计,不能保证确认时间。

02发送后可以提高费用吗?

有时可以。Replace-by-Fee (RBF) 按节点规则提出一笔未确认的替代交易。CPFP (Child Pays for Parent) 花费父交易的可用输出,提高交易包的整体费率。需要花费权限和钱包支持;两种方法都不保证确认。

DOC · 001BIP 141: virtual size一手来源 DOC · 002Bitcoin Core v29.0: transaction fees一手来源 DOC · 003Bitcoin Core v29.0: block assembly一手来源 DOC · 004Bitcoin Core v29.0: replacement policy一手来源
修订日期: 来源优先 · 非投资建议