跳转到正文
buybitcoinsmart

术语表 /隐私与安全

避免合并

避免合并是什么?
避免合并是指从不在同一笔交易中花费您的两枚币,使钱包的不同部分不会在公开链上被关联在一起的做法。

这一术语出自 Mike Hearn 于2013年12月发表的一篇文章,当时输入聚类已是推断某人持有量最简便的方法。他的提议不止于谨慎花费:付款方向收款方的多个地址发送若干笔并行交易,这样没有任何一笔交易会汇集全部资金。如今它作为一种操作准则保留下来,而不是一项协议。

运作方式

避免合并的规则是否定式的,因此容易遵守,也容易忘记:不要构建输入来自两枚您希望保持分离的币的交易。

在实践中,这意味着把钱包看作一组罐子,而不是一个余额。一个罐子存放从已验证的交易所账户提币所得的币。另一个存放通过点对点方式购买或作为付款收到的币。第三个存放长期储蓄。每次花费只从一个罐子中取币;如果罐子里没有一枚足够大的币,您要么少发一些,要么改从另一个罐子发送,要么接受这笔付款会合并两枚币,并对由此产生的关联有所准备。

Hearn 的更强版本把工作交给付款方。付款方不是用三枚币拼成一笔交易,而是向收款方提供的三个地址广播三笔独立的交易,这样付款完整到账,而链上数据中没有任何内容能把这几部分联系起来。他当时设计的支付协议支持在一次请求中使用多个输出地址;该协议多年前已被弃用,目前没有任何主流钱包自动执行这种做法。

代价是真实的,而且要在之后支付。拒绝合并意味着持有许多小额币,而小额币的转移成本很高:花费一个原生 SegWit 输入约需68虚拟字节,因此在网络繁忙的150 sat/vB 费率下,费用为10,200聪,相当于一枚20,000聪的币价值的一半。再进一步,币会低于粉尘阈值,花费它们的成本超过其自身价值。避免合并通过接受永久的手续费负担,以及币的有效面额存在下限,来保护隐私。

在哪里会遇到它

避免合并是重视隐私的钱包所提供的一项功能。

Sparrow、Wasabi 和 Electrum 都会在您签名之前显示一笔花费将动用哪些具体的币,使原本不可见的合并变成可见的选择。冻结是一种粗放的强制手段:冻结您不打算花费的那个罐子里的币,自动选币就无法动用它们。有些人做得更彻底,使用独立的钱包,或在同一助记词下使用独立的账户,这样任何一个发送界面都看不到两堆币。

它不可或缺的场景是在 coinjoin 之后。混币后的输出之所以具有隐私性,是因为它们与他人的混币输出无法区分;一旦把其中两个一起花费,就立刻证明它们属于同一个人,整个混币成果随之作废。进入混币时剩下的找零也是如此:它必须永远保持分离,否则这次混币就毫无意义。

避免合并 vs CoinJoin

Hearn 在原文中把避免合并和 coinjoin 视为两种可选方案,这一比较至今仍然成立。避免合并不花钱,不需要交易对手,也不会引起注意,因为它产生的交易与其他人的交易看起来没有区别。它无法处理已经存在的关联:它保护的是未来,而不是过去。coinjoin 则相反,它要花真金白银,并产生一笔明显带有协作性质的交易,换来的是对历史已经公开的币的模糊化。只做后者而不做前者,是白白浪费钱。

请勿混淆

常见问题

为了避免合并而承担更高的手续费,值得吗?

这取决于您要保护什么。把从交易所提币所得的币与在其他渠道获得的币分开,通常值得花几千聪;而在一份已经共用同一历史的储蓄中再斤斤计较,则不会带来任何好处。

如果没有任何一枚币足够支付一笔款项,会怎样?

您可以少发一些,从另一个罐子支付,或有意识地接受合并。没有任何钱包功能能在不可见的情况下合并币,因此您始终要在这笔付款和由此产生的关联之间做出选择。

相关术语

隐私与安全中的更多术语

阅读本页英文版