粉尘限额(Dust Limit)
一句话定义: 输出被视为粉尘的门槛,低于它会被节点默认策略拒绝(如传统 P2PKH 约 546 聪)。
粉尘限额是 Bitcoin Core 的策略门槛:输出低于它即被视为「粉尘」,整笔交易被当作非标准交易处理——节点不会中继它,也不会把它收进自己的内存池。
确切阈值取决于输出的脚本类型,因为计算时摊销的是日后花费该输出的成本:如果花一个输出所需的手续费超过其价值,它就是粉尘。截至 2026 年:
- P2PKH(传统):约 546 聪。
- P2SH:约 540 聪。
- P2WPKH(原生隔离见证):约 294 聪(隔离见证输入更小,所以更低)。
- P2TR(Taproot):约 330 聪。
- OP_RETURN 输出豁免——它可证明不可花费(没有未来花费成本需要摊销)。
Bitcoin Core 里的公式:dust_threshold = (output_size + input_size) * dustRelayFee / 1000,其中 dustRelayFee 默认 3,000 聪/kvB。运营者可以调整费率,阈值随之等比变化。
「非标准」在实践中意味着:
- 默认配置的 Bitcoin Core 节点不会中继含粉尘输出的交易。这笔交易对网络的大多数部分实际上不可见。
- 默认挖矿策略不会把这类交易收进候选区块。
- 共识规则并不拒绝它们。 含粉尘的交易理论上可以进区块;这个限额是中继/标准化层面的过滤器,不是硬性规则。部分矿工和矿池接受场外付费提交的含粉尘交易。
限额为何存在:
- UTXO 集膨胀。 节点存储每个输出都要花内存。永远没人花的粉尘输出会让 UTXO 集永久虚胖。
- 经济理性。 花费一个输出的成本若超过其价值,它就永远不会被花——钱永久卡死。不如从一开始就别创建。
- 抗垃圾。 微小输出是廉价滥用网络的方式,粉尘限额抬高了成本。
普通用户只会在边缘场景撞上粉尘限额——构造找零极小的交易,或试图发送极小额。钱包要么把粉尘并入手续费,要么拒绝构造交易,取决于各自的交互设计。
相关词条: 丢弃阈值(Discard Threshold) · 粉尘(Dust) · 粉尘攻击(Dust Attack) · 粉尘清扫(Dust Sweeping) · 交易手续费(Transaction Fee) · UTXO(未花费交易输出)