如何匿名使用比特币
比特币在设计上是公开的,但依然可以私密地使用。本指南讲解如何匿名使用比特币:先说明比特币支付是如何被追踪的,再介绍让你的身份、地址和IP地址彼此分离的六个步骤。

简短回答
比特币是假名的,而不是匿名的。每一笔支付都会永久记录在公开账本上,因此隐私取决于有什么能把你的地址和你本人联系起来。想要匿名使用比特币,你需要切断三条关联:
- 身份:你的币从哪里来?这个来源知道你的名字吗?
- 链上:你的地址和支付在账本上如何相互关联。
- 网络:哪个IP地址在广播你的交易、查询你的余额。
三条都切断,外部观察者只能看到陌生人之间的支付。只要留下一条,另外两条的作用就会大打折扣。
是假名,不是匿名
中本聪(Satoshi Nakamoto)在比特币白皮书原文中描述比特币时,隐私只来自一个思路:让公钥保持匿名。外界能看到某人向另一个人发送了一笔金额,却不知道双方是谁。白皮书第10节把它比作证券交易所:每笔成交的时间和规模都是公开的,而交易者保持匿名。
这个模型只在没有任何地址与具体某个人挂钩时才成立。现实中,一条关联就足够了。一旦某个地址与你的名字联系起来,这个地址经手过的一切都可以在区块链上向前、向后追溯。这就是研究人员称比特币为“假名”的原因:地址就像一张面具,但每次付款你都戴着同一张面具公开露面。
比特币支付是如何被追踪的
区块链分析并不神秘。它依赖少数几种模式,这些模式至少从2011年起就有文献记录。那一年,Fergal Reid 和 Martin Harrigan 发表了 An Analysis of Anonymity in the Bitcoin System。主要模式包括:
- 地址重复使用。同一个地址多次收款,会让所有打入该地址的款项都显示为属于同一个人。
- 共同输入所有权。当一笔交易同时花费多枚币时,分析人员会假定它们都属于同一个钱包。一次支付就可能把多年彼此独立的历史合并在一起。
- 找零识别。大多数支付都会产生一个返回给发送方的找零输出。整数金额、地址类型或之后的花费方式,往往会暴露哪个输出是找零。
- 时间与金额。币从一个地方转出,几分钟后以几乎相同的数额出现在别处,很容易被配对。
- 身份锚点。要求身份验证的交易所、掌握收货地址的商家,或者贴在个人主页上的捐赠地址,都会给分析人员提供一个可以入手的名字。
- 网络数据。最先广播某笔交易的IP地址,或者在公共区块浏览器上查询余额的IP地址,都可能指向你的位置。
单独看,每种模式都只是推测。组合起来,就能形成地址集群,并以惊人的准确度对应到真实的人。
比特币隐私的三个层面
| 层面 | 泄露什么 | 用什么保护 |
|---|---|---|
| 身份 | 姓名、身份证件、与购买关联的银行账户 | 无需身份验证获得的币 |
| 链上 | 地址之间的关联、找零、合并的币 | 新地址、币控制、比特币混币器 |
| 网络 | IP地址、位置、你查询了哪些地址 | 自己的节点、Tor、不在公共平台查询自己的地址 |
下面的步骤按照币的流转顺序覆盖这三个层面:流入、经过、流出。
第1步:从不与你名字挂钩的币开始
在需要了解你的客户(KYC)审核的交易所买入的币,从一开始就与你的身份绑定。只要交易所保留这份记录,它就一直存在,通常长达数年。
想持有身份关联更少的比特币,可以通过工作或出售商品收取比特币、面对面用现金交易,或者挖矿。每种方式在便利性和价格上各有取舍。如果你的币确实来自经过验证的账户,就把它们视为已被标记。后面的步骤正是为了在这个标记和你接下来的操作之间拉开距离。
第2步:别让你的IP地址暴露
向第三方服务器查询余额的钱包,会告诉那台服务器哪些地址属于你,服务器同时也能看到你的IP地址。最有效的办法是运行自己的全节点,例如 Bitcoin Core,这样你的钱包就永远不需要向别人询问你的币。
如果运行全节点不现实,就让钱包通过 Tor 连接。Tor 会对钱包通信的服务器隐藏你的IP地址。不要把自己的地址粘贴到公共区块浏览器里:每次查询都会把该地址和你的网络连接关联起来。
第3步:每笔收款都使用新地址
现代钱包每次都能免费生成一个全新的收款地址。每次都使用这个功能。永远不要用同一个地址接收第二笔款项,也不要在两个地方公开同一个地址。永远不要把找零发回它原来所在的地址。
新地址无法隐藏币的来源,但能防止彼此独立的支付被默认归为一组。
第4步:控制花费哪些币
一个钱包里有许多彼此独立的币,称为未花费输出。付款时,钱包会挑选其中一些作为输入。如果它挑选了来自两个不同来源的币,就会公开地把这两个来源绑在一起。
币控制(coin control)可以解决这个问题。支持币控制的钱包可以让你精确选择一笔支付要花费哪些币。按来源给币加上标签,并把不同来源分开:
- 不要把来自已验证交易所的币和私下收到的币合并使用。
- 尽量整枚花费,这样就没有找零输出把这笔支付关联回你。
- 如果无法避免找零,就给它标注来源,并把它视为与那笔支付相关联。
Bitcoin Wiki 隐私页面对这些模式有更深入的说明。
第5步:用比特币混币器切断追踪链
第2步到第4步可以阻止新的关联形成,却无法消除已经存在的关联,比如经过验证的购买记录与你的币之间的关联。这正是比特币混币器的作用,它也被称为混币服务(tumbler)。
混币器的工作原理就像针对币的混合网络。你把比特币发送到一个一次性地址。经过你选择的延迟时间后,来自共享储备的另一批币会到达你提供的新地址。在账本上,你转入的币和转出的币之间没有任何交易相连。
想获得最佳效果:
- 用一个全新的地址收款,而且所在钱包从未存放过你的其他币。
- 选择较长的延迟,避免时间把你的两笔支付配对起来。
- 发送不那么可疑的非整数金额,或者让到账分几笔完成。
- 保留服务提供的凭证,直到到账得到确认。
第6步:花费时不留回溯线索
私密的币只有在与你的公开生活保持分离时才能保持私密。为每个身份单独准备一个钱包,永远不要在它们之间合并币。避免把混币后的币直接发回认识你的地址,比如以你本人名义开立的交易所账户。向商家付款时也要使用 Tor,这样商家就不会在看到你付款的同时看到你的IP地址。
其他比特币隐私技术
一些协议层面的技术也有帮助。下面是它们各自的作用:
- CoinJoin 把多个人的支付合并为一笔交易,让人无法判断哪个输入支付了哪个输出。Gregory Maxwell 于2013年在 Bitcointalk 上发表 CoinJoin: Bitcoin privacy for the real world,提出了这一方案。
- PayJoin 让收款方也向支付中加入一枚币,从而打破这笔交易的共同输入所有权假设。
- Lightning Network(闪电网络) 把支付转移到链下,单笔支付永远不会出现在公开账本上。不过,开启和关闭通道仍然在链上进行。
- Taproot 让许多复杂的花费条件在账本上看起来和普通的单签名支付一样。
这些技术都不能取代上面的基础做法。如果在重复使用的地址上、通过家庭IP使用隐私技术,信息照样会泄露。
破坏比特币隐私的常见错误
- 在公开的个人主页上发布收款地址,然后用同一个钱包处理其他所有事情。
- 在一笔支付中把来自已验证交易所的币和私下收到的币合并。
- 用家庭网络在公共区块浏览器上查询私密地址。
- 把混币后的币直接发回以你本人名义开立的交易所账户。
- 一笔不寻常的金额刚到账,就立刻原样转出。
- 在同时存放你公开币的钱包应用中恢复私密钱包。
比特币隐私快速检查清单
- 币来自不知道你名字的来源,或者已经过混币器处理。
- 你的钱包运行在自己的节点上,或者通过 Tor 连接。
- 每笔收款都使用新的收款地址。
- 已开启币控制,币按来源加上标签。
- 每个身份都有自己的钱包,从不与其他钱包合并。
- 通过 Tor 进行花费,且不发回认识你的地址。
常见问题
比特币默认是匿名的吗?
不是。比特币是假名的:地址不带姓名,但每一笔支付都是公开且永久的。匿名性取决于你如何获取、保管和花费比特币。
比特币支付可以被追踪吗?
可以,只要链条中任何一个地址与某个人关联起来。分析人员会追踪地址重复使用、合并的输入、找零输出、时间,以及经过验证的交易所账户等身份锚点。
硬件钱包能让比特币变得匿名吗?
硬件钱包能保护你的私钥不被盗,但它本身对隐私毫无帮助:地址、输入和网络查询的泄露方式与任何其他钱包相同。
使用比特币混币器合法吗?
隐私工具在许多国家是合法的,但各司法辖区的规定不同。使用前请先查明适用于你的法律。
闪电网络比链上比特币更私密吗?
就单笔支付而言,通常是的,因为它们不会出现在公开账本上。但通道的开启和关闭仍在链上,因此为通道注资的币仍需要同样谨慎地处理。
混币器的延迟应该设多长?
越长对隐私越好。几个小时的延迟会让人更难把你发出的币和收到的币配对,尤其是在金额不同的情况下。
延伸阅读
- 中本聪(Satoshi Nakamoto),Bitcoin: A Peer-to-Peer Electronic Cash System,第10节。
- Fergal Reid 和 Martin Harrigan,An Analysis of Anonymity in the Bitcoin System。
- Gregory Maxwell,CoinJoin: Bitcoin privacy for the real world,Bitcointalk。
- Bitcoin Wiki 上的隐私页面。
- 维基百科上的加密货币混币器词条。