跳转到正文
buybitcoinsmart

术语表 /隐私与安全

合并交易

合并交易是什么?
合并交易是同时花费您两个或多个地址中的币的一种交易,它会公开表明这些地址属于同一个所有者。

白皮书在2008年就指出了这一信息泄露问题,并警告说多输入交易 "necessarily reveal that their inputs were owned by the same owner"。研究人员后来把这句话发展为共同输入所有权启发式,自 Meiklejohn 于2013年对比特币经济的研究以来,它一直是钱包聚类的基础。合并交易并不是对您的攻击,而是您自己的钱包在提交一份声明。

运作方式

比特币交易中的每个输入都是单独解锁的,其证明写入交易本身。

要花费一枚币,您需要用控制它的密钥生成一个签名。要在同一笔交易中花费两枚币,您需要生成两个签名,每个输入一个,这意味着同一个签名方在同一时刻掌握了两把密钥。这一点无法隐藏:签名是每个节点验证、每个区块浏览器显示的数据的一部分。这种关联不是概率,而是结构性事实,因此分析人员对这一启发式的信任超过他们使用的任何其他规则。

其影响是双向的。向后看,被合并的币会把各自独立的历史拖入同一个聚类,因此一枚可追溯到已验证交易所账户的币,会把另一枚币拉入同一个已识别的群组。向前看,收款方可以把您花费的每个输入的金额相加,看出您钱包这一部分持有多少,而不只是其账单上的金额。

只有两种设计会刻意打破这一规则。coinjoin 把互不相关的人的输入放进同一笔交易,使该启发式得出错误的聚类;payjoin 则在一笔正常付款中以较小规模做同样的事。您的钱包所做的其他一切操作都遵循这一规则。

在哪里会遇到它

合并交易通常自动发生,而且恰好发生在您没有考虑隐私的时候。

选币是主要原因。当没有任何单枚币足以覆盖您要发送的金额时,钱包会不经询问地再选取第二枚,合并交易随即公开。“全部发送”会把整个钱包扫入一笔交易,合并您拥有的所有币。把旧的纸钱包或礼品卡中的币转入主钱包,也会把这枚币合并进您的聚类,而任何整合操作都是您有意进行的合并交易。

有时合并是诚实的选择。Bitcoin Core 在版本0.17.0中加入了-avoidpartialspends选项,它始终把位于同一地址上的所有币一起花费,即使这会多花手续费。其逻辑是,支付到同一个被重复使用的地址的币在公开层面已经相互关联,将它们分开花费并无益处,而在不同时间分别花费反而会泄露更多信息。

在合并发生之前看到它的方法是币控制:开启它,查看钱包已勾选了哪些币,并取消勾选您不想动用的币。

合并交易 vs 以太坊 Merge

搜索"the merge",得到的多半是另一个网络的历史。The Merge 是以太坊于2022年9月15日从工作量证明切换到权益证明,这是一次共识机制变更,使以太坊挖矿一夜之间停止。比特币没有发生过类似事件,仍然使用工作量证明来保护其区块链。在比特币语境中,合并始终指在一笔交易内把币合并在一起,唯一涉及的是隐私。

请勿混淆

常见问题

如何知道一笔付款是否会合并我的币?

请开启币控制,并在签名前查看输入列表。Sparrow、Electrum 和 Bitcoin Core 等钱包会准确显示一笔交易将动用哪些币,输入多于一个的交易就是合并交易。

合并交易可以撤销吗?

不能。交易一经确认,两个签名就永久留在区块链上,任何人都可以看出同一方控制着两把密钥。之后的交易可以增加模糊性,但无法删除这一证据。

相关术语

隐私与安全中的更多术语

阅读本页英文版