手续费针对的是行为,而非金额
银行收取百分比费用或固定费用,无论哪种方式,费用都是金额的函数。区块链按空间收费。一笔比特币交易只有几百字节,每个节点都必须永久存储,矿工按字节定价;一笔以太坊交易消耗的gas与其触发的计算成正比,发送者为gas付费。在这两种情况下,转移的价值都不会影响价格。在同一笔交易中发送一个聪的成本与发送一个比特币的成本相同。
这就是灰尘的全部来源。因为费用由行为决定,余额可以任意小,总存在一个余额阈值,低于这个阈值转移就毫无意义:费用会吞掉它。在网络繁忙的日子,随着费用上升,阈值也会上升,周日值得转移的余额到周一可能就不值得了。费用文章讨论为什么费用会波动;这篇文章讲的是费用留下什么。
灰尘从何而来
- 余数。提取大部分余额,从剩余部分扣除的费用会产生一个本身从未有价值的小数。
- 四舍五入。交易所和网站显示余额精确到小数点后几位,但内部存储更多位数;显示范围以下的部分是真实的,按定义就是灰尘。
- 部分成交和转换。用一种币交易另一种币,订单末尾的零星部分是你卖出的币种中的灰尘。
- 陌生人。未经请求转入几分钱的价值不是慷慨。这要么是广告,要么是试图链接你的地址,要么是地址投毒的第一步:一个看起来相似的地址植入你的历史记录中。不要理它。
比特币有一个正式的阈值版本。运行参考软件的节点不会中继创建输出值低于灰尘限额的交易,标准输出的灰尘限额为几百聪,因为这样的输出花费成本高于其价值,否则会永久污染账本。该限额是网络政策而非协议规则,但实际上意味着低于某个大小的比特币支付根本无法进行。
本网站的最低额
提取窗口在一个字段中遵循相同逻辑。本网站支持的每种币都有最低提取额和手续费,两者都以该币的最小单位存储,并在表单下方的警告文本中转换为普通单位后显示给你。低于最低额的提取会在浏览器中被拒绝,显示最低额和币种的消息,永远不会到达钱包服务。
ENGINE-VERIFIEDstore/CoinStore.ts:每种币将fee、minWithdraw和minDeposit作为最小单位的整数存储,minWithdrawView和feeView除以10^precision用于显示。component/common/popup/wallet/deposit.tsx和withdraw.tsx:金额验证器拒绝低于selectCoin.minWithdrawView的值,并显示minWithdraw消息;提取警告为选定的币打印{min}和{fee}。
最低额不是你拥有的限制。低于它的一切仍然是你的余额,仍然可以投注,并且一旦加入足够达到要求就可以提取。它是拒绝执行一笔交易,该交易会在网络上花掉你的钱但给你什么都不会,而这正是小于自身手续费的提取。
如何处理灰尘
- 用它投注或充值。低于最低额的余额可以像其他任何余额一样在这里投注;只是网络无法到达。添加余额直到达到最低额是另一条出路。
- 通过更少、更大的转账提取。每次转账只支付一次行为费用。将余额分成多次小额提取会在两端制造灰尘。
- 先检查费用,再检查金额。如果费用是你发送金额的可见比例,转账很昂贵;如果费用超过金额,网站会拒绝,你也不应该想要这样做。
- 永远不要与你自己没有发送的灰尘互动。不要清扫它,不要回复它,不要从它出现的行中复制任何地址。
最低额和手续费因币种和网络而异,可能随网络情况变化;提取窗口显示当前值。本文描述的是机制,而非关于任何特定金额的承诺。
常见问题
加密货币中的尘埃是什么?
余额太小,不值得转移,因为发送它的网络费用会等于或超过该金额。它源于余数、舍入、部分成交和偶尔的未请求转账。
为什么网络费用不随金额调整?
因为区块链根据交易的大小或计算量收费,而不是其价值。在同一交易形式中,发送一个聪的费用与发送一个比特币的费用相同。
为什么这个网站有最低提现额?
每种币都有一个最低额和费用,以其最小单位存储,并在提现窗口中显示。低于最低额的提现会花费网络费用而不能交付任何东西,所以窗口会在发送前拒绝它。
低于最低额的余额会丢失吗?
不会。它仍然属于你,可以被质押,一旦余额超过最低额就可以提现。
有人给我发了一笔我没要求的微小金额。那是什么?
通常是地址投毒攻击或尝试关联你的地址。不要与它交互,永远不要从该交易中复制地址。
来源与参考
- Bitcoin Core — dust output policy(非经济产出的中继阈值)
- Betkyo client source: store/CoinStore.ts(费用、minWithdraw、minDeposit、View getters)、component/common/popup/wallet/withdraw.tsx(最低额检查和警告文本)