比特币粉尘为什么不是一个固定金额?

 / 
6

比特币粉尘没有一个固定的金额,因为"粉尘"从来不是一个由协议写死的数字,而是一条经济判断:如果一个交易输出(output)将来花掉它所需的手续费,比它本身的价值还高,那它就是不经济的,节点会倾向于拒绝转发或打包它。手续费会变,输出类型会变,所以门槛也跟着变。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

判断标准是"花费成本 vs 输出价值"

Bitcoin Core 对粉尘的定义很直接:如果你花掉某个输出要付的手续费,超过了这个输出本身的价值,它就是粉尘。这里的关键变量是"花费这个输出需要多少字节",而不是一个拍脑袋的聪数。

一笔比特币交易的花费成本,取决于这个输出是什么类型。同样价值的一个输出,如果是老式的 P2PKH(以 1 开头的地址),花掉它需要占用更多区块空间,手续费就更高;如果是原生隔离见证的 P2WPKH(以 bc1q 开头),花费所需字节更少,成本就更低。所以同一个金额,在一种地址类型下可能已经"不经济",在另一种下却还值得花。

不同输出类型,门槛不同

按 Bitcoin Core 默认的 dustRelayFee(3000 聪/kvB)计算,常见输出类型的粉尘门槛大致如下:

输出类型花费所需大致字节默认门槛(约)
P2PKH(传统地址)182 字节546 聪
P2WPKH(原生 SegWit)98 字节294 聪
P2TR(Taproot)110 字节330 聪

你经常看到的"546 聪"只是 P2PKH 这一类输出在默认费率下的结果,不是比特币网络统一的粉尘线。换成隔离见证地址,门槛就降到 294 聪左右;换成 Taproot,又是另一个数。这本身就说明"粉尘金额"不是固定的。

费率一变,门槛也跟着变

dustRelayFee 是节点的一个转发策略参数,不是共识规则。它默认设为 3000 聪/kvB,但节点运营者可以调整。更重要的是,这个参数只是一个"参考费率"——粉尘判断的核心逻辑是"花费成本是否超过价值",而花费成本最终取决于你实际支付的手续费率。

当链上拥堵、手续费率上升时,一个原本"值得花"的输出可能变得不经济;当费率回落时,同样的输出又可能重新变得划算。所以即便输出类型相同,在不同市场条件下,边界也会浮动。

一个容易混淆的地方:粉尘攻击里的"粉尘"不是同一个概念

你可能看到过"粉尘攻击"的报道,攻击者向大量地址发送几百到几千聪的 BTC,试图通过后续花费行为把地址关联起来。这里的"粉尘"描述的是金额很小、容易被忽略的特征,但它和节点判断"是否转发/打包"的粉尘限额不是同一回事。许多粉尘攻击使用的金额其实高于粉尘限额,目的就是确保交易能被网络处理,而不是被节点过滤掉。理解粉尘限额时,不要把安全话题里的"粉尘"和协议策略里的门槛混为一谈。

常见问题

那 546 聪到底是不是粉尘?
在默认费率下,一个 P2PKH 输出如果金额低于约 546 聪,通常会被 Bitcoin Core 默认策略视为粉尘而不转发。但如果你用的是原生 SegWit 地址,294 聪左右才是那条线;如果是 Taproot,大约是 330 聪。所以"546 聪"只在特定输出类型和默认参数下成立。

交易所提币时提示"金额太小",是按哪个标准判断的?
交易所通常会参考 Bitcoin Core 的默认粉尘策略来设置自己的最小提币金额,以避免发出的交易被节点拒绝。但不同交易所的具体阈值可能不同,也可能随费率环境调整。遇到提示时,以该交易所页面显示的最低金额为准,不要拿一个固定的聪数去套所有平台。

粉尘限额未来会变吗?
会。它本质上是节点策略,不是共识。Bitcoin Core 的代码注释、默认参数或社区讨论都可能影响这个门槛。更根本的是,只要手续费市场在波动,"花费成本超过价值"这个判断本身就会浮动。所以没有一个可以永久引用的固定数字。

欧易OKX交易所
全球领先的加密货币平台,适合新手与进阶交易者
新手福利:注册即享20% 交易手续费减免!

参考资料

  1. Bitcoin Optech·Uneconomical outputs,日期:2026-11-09
  2. Bitcoin Core PR #30023·doc: add dustThreshold explain of P2SH & P2TR,日期:2026-11-09
  3. Binance Academy·什么是粉尘攻击?,日期:2026-11-09
  4. CoinMarketCap·What is Dusting Attack in Crypto?,日期:2026-11-09