十几笔零碎余额变成一个代币,余额页面终于清爽了,而这一次点击背后的账,一点也不清爽。灰尘转换不是一次清理操作,它是一批处置加一次取得,每一条腿都得留在你的记录里。下面讲清这个操作到底做了什么、记录会落在哪一类里,以及按下按钮之前该先留下什么。
为什么小额余额会堆起来
每个账户都会攒下零头。部分成交留下你本来要买的那份资产的一个零头,质押奖励到账的数量小到没法交易,空投扔下一点你从没要过的代币,链上付款的找零回来时是一笔比转移它所需手续费还小的输出。这些都不是失误,它们是日常活动在算术上的残渣。
让一个零头变成灰尘的,是转移它的成本。Bitcoin Core 对这个门槛的定义走的是一个中继费率,而不是一个固定金额:当花掉一笔输出所付的手续费比这笔输出本身还多时,它就算灰尘。所以这条线是会动的,而且手续费上涨时它朝对你不利的方向动。
在交易所账户里,机制不一样,结果却押着同一个韵。那里没有未花费输出可花,只有一行账,而这一行卡住是因为它低于该资产所有交易对的最小下单量。它不是转移不划算,而是压根没资格交易。两种零头最后落到同一个地方:一串你一笔一笔单独拿它没办法的余额。
两种都叫转换灰尘的操作
第一种是链上合并。你在一笔交易里花掉许多小额输出,把总额发到你自己控制的一个地址。这里有一笔真实的交易、一笔真实的网络手续费,还有一个谁都能查到的交易哈希。什么也没有被换掉:事后你持有的还是同一种资产,只是块数更少、单块更大。
第二种是账户层面的转换。平台把你账户里那些小额余额收走,换给你一种指定的资产,全程不碰任何区块链。几种资产进去,一种资产回来,这个动作只存在于平台的内部账本里。
这两者不是同一个功能的两种变体,而你做的是哪一种,决定了事后留下什么证据。
| 差别在哪 | 链上合并 | 账户层面的转换 |
|---|---|---|
| 动的是什么 | 同一种资产,合成更少的输出 | 几种资产出去,一种资产回来 |
| 发生在哪 | 在链上,在一笔广播出去的交易里 | 在平台账本里,不上链 |
| 花什么钱 | 一笔网络手续费 | 平台设定的一笔转换费 |
| 公开证据 | 一个交易哈希和它的那些输入 | 没有,只有你的账户记录 |
| 资产变不变 | 不变 | 变 |
从记账角度看,一次转换是什么
账户层面的转换,是一批交易套着一个按钮。每一笔小额余额被处置掉,一种资产被取得,中间某处还收了一笔费。不管界面愿意显示几行,这就是你的记录必须还原出来的形状。
算术不大,但也不是没内容。假设三笔零头在你转换的那一刻分别值 4.20 USDT、1.50 USDT 和 0.30 USDT,合计 6.00 USDT。本例把转换费率设为 5%,于是你收到 5.70 USDT。一次点击,三笔处置,一次取得,一笔费用,以及好几个事后都得说得出归属的金额。
这一批算不算应税事件,取决于你在哪里申报,而这里是科普不是税务建议。值得知道的框架是:把一种资产换成另一种,本身就可能是一次处置 —— 美国税务机关把数字资产当作财产而不是货币来处理,把“把数字资产换成另一种数字资产”列在你要申报的处置里,并要求你保留每一次买入、收到、卖出、交换或其他处置的记录。这里面没有哪一条为“数额小”开口子。
记录会落在哪里
你的订单历史记的是你下过的单,成交历史记的是真正撮合掉的部分。一次转换两者都不是:你没有下单,也未必产生一笔通常意义上的撮合成交。第一件要确认的事,是你的平台把它归到哪一类记录里 —— 一行你找不到的记录,就是你的账会悄无声息漏掉的一行。
第二件要确认的事是颗粒度。一次转换可以写成一行汇总,也可以写成每处置一种资产就一行。汇总行更好读、更难用,因为它把好几笔各有取得日期、各有成本的独立处置压成了一个数。如果只有汇总行,逐笔明细就得从别处找,或者靠反推。
链上合并的形状正好相反。证据是公开而且永久的:一个交易哈希、许多输入、一个输出。但合并是在你自己控制的地址之间挪动价值,所以什么也没被换掉,也没有实现任何盈亏。那里记录中真正要紧的,是你付掉的网络手续费,以及那些输出现在已经并到一起这件事。
它对你的成本基础做了什么
余额没了,你为每一笔被转换资产付出的成本基础不会跟着没。每一条腿都关掉一个曾经有成本的仓位,而你收到的那种资产按贷记给你的价值开出一个新仓位。如果上面那三笔零头当初取得时一共花了 9.00 USDT,把它们换成 5.70 USDT 就实现了 3.30 USDT 的亏损,摊在三笔独立处置上。
这个数只有在取得那一侧被记下来过的时候才拿得回来。那些零头来自奖励、返还、部分成交和空投,这类进账到账时没有一张订单可以挂靠,所以等到它们被转换的时候,原始数额可能已经在好几次导出之前,落在一段只能回溯到某处为止的历史里。
另一个陷阱是精度。小额余额带着很多位小数,而记录导出会做舍入。对一个只值零点几个单位的数额来说,一个被舍入过的成本基础单看永远看不出问题,汇总起来又永远对不平。平台如果给选,就按完整精度导。
链上合并带来的隐私问题
把输出并起来,是一次关于所有权的表态。一笔合并交易里的每一个输入,都是同一个持钥人在花,而这条关联正是撒灰攻击想拿到的东西。如果有一笔来路你说不清的灰尘落进来,把它和你其余的币一起扫走,就等于替发送方把活干了。
账户层面的转换什么也不广播,所以不产生这种链上关联。它换来的是另一种不可逆:小额余额没了,你收到的资产和那个余额里的其他部分完全同质,而这个操作没法倒着跑一遍去查清当初进去的是什么。转换之前你没记下来的东西,转换之后就找不回来了。
转换之前该先留下什么
先导出,再转换。你想要的那份记录,在操作之前是完整的,在操作之后是汇总的,所以最省事的做法就是趁余额还逐笔列着的时候导一次。
| 该留下什么 | 为什么要紧 |
|---|---|
| 每一笔余额及其完整精度的数量 | 每条腿处置的那一侧 |
| 每一笔余额在转换那一刻的价值 | 归到那条腿上的处置所得 |
| 每一笔余额是怎么来的、什么时候来的 | 成本基础与持有期 |
| 那笔费用,以及它是用哪种资产收的 | 它改变了你实际收到多少 |
| 平台给这次操作分配的标识 | 把各条腿串起来的那一个把手 |
还有一件事值得在事前而不是事后确认:平台允不允许你把某种资产排除在这一批之外。一次把所有小额余额都扫掉的转换,会连你本来有意不去碰的那笔来路不明的灰尘一起扫掉,而让那笔余额留着不动,比它能添上的那点价值更值钱。
小结
灰尘转换拿一个清爽的余额页面,换来一份比它替掉的那堆乱账更难还原的记录。在链上它是一次合并:同一种资产、更少的输出、一笔网络手续费,以及你控制的那些地址之间一条公开的关联。在账户里它是一批处置加一次取得,按你按下按钮那一刻定价,并收取一笔费用。
先判断你做的是两者中的哪一种,弄清它落在哪一类记录里、颗粒度是什么,然后趁余额还逐笔列着的时候把它导出来。牵涉的金额不大,而事后把它们还原回来的工夫,并不与这个金额成比例。想系统学习更多加密基础知识,可以关注 Bitbase(币贝)学院的后续内容。
相关阅读
币贝上与本主题相关的其他文章:
- 趋势、区间与突破
风险披露:本文为 Bitbase(币贝)学院的科普内容,仅供教育与信息参考,不构成任何投资、交易、税务或财务建议。加密资产波动剧烈,请自行评估风险。本文撰写于 2026 年 9 月,请以官方最新信息为准。
参考资料
[1] Bitcoin Core 源码,src/policy/policy.cpp(标签 v28.0),GetDustThreshold github.com
[2] 美国国税局,数字资产 irs.gov






