Tor 或 VPN 能让比特币交易变得私密吗?
Tor 或 VPN 改变的是谁能观察你的钱包连接。交易仍会进入公开账本,账户记录也仍可能把它和你联系起来。
打开钱包或节点,弄清楚究竟是什么在广播这笔交易。正是这一个问题决定了哪些隐私设置真正重要,而人们往往漏掉的恰恰是这一步。一个通过 Tor 运行的浏览器标签页,并不能告诉你钱包自身连接的任何情况。
弄清究竟是什么在发送交易
钱包通过三种方式之一广播:经由厂商的后端服务、经由别人交给你的远程节点,或经由你自己运行的节点。每一种都有不同的观察者。后端服务同时看到你的 IP 和交易,远程节点看到的也大致相同,而你自己运行的节点则看到它所传播的那些对等节点。在配置任何东西之前,先确定你属于哪一种。
如果答案是厂商后端,那么任何本地代理设置都改变不了这条路径。传输通道属于厂商,你对它的信任才是真正的决定。
在拥有传输通道的程序里配置它
对于你自己运行的节点,代理设置位于节点自身的配置中,而不在桌面环境里。Bitcoin Core 的 Tor 文档把 proxy、onion 和 listen 设置放在一起讲,它们只对那个进程生效。指向该节点的钱包继承的是节点的连接性,而不是你浏览器的连接性。
最小化的出站配置如下,它作用于整个节点,而不是单个钱包:
proxy=127.0.0.1:9050
onion=127.0.0.1:9050
bind=127.0.0.1
onlynet=onion
前两行是出站要求;bind 和 onlynet 两行则收紧其余一切。重启之后,要确认节点实际做了什么,而不是相信配置文件。 bitcoin-cli getpeerinfo 会为每个对等节点报告 network 字段,如果目的是只用 onion,那么每条记录都应显示 onion。
如果这份列表里仍能看到 ipv4 对等节点,说明设置并没按你设想的方式生效,无论配置文件怎么写,交易都在公开网络上传播。
观察者仍然能看到什么,就跟进什么
Tor 把你所连接的对等节点与你的地址隔开,并把目的地与你的网络运营商隔开。但它并不隐藏某个节点在某一时刻中继过一笔交易这一事实,也无法阻止对等节点把你中继的内容与你之后请求的内容关联起来。VPN 会把可见地址转移到服务商,从而让服务商多当一个观察者。
真正有用的问题不是哪一层更强,而是你想排除哪个观察者,以及你实际部署的配置是否排除了它。
然后再单独看账本
交易一旦被挖出就是公开且永久的。地址、金额以及连接它们的图谱对任何愿意分析的人都始终可得,而这份记录与字节是如何传输的无关。 比特币隐私指引 对此直言不讳。
链外的记录会把事情办完。一次从服务提现、一张发票、一条发给收款人的消息,或一个被重复使用的地址,都能在完全没有网络观察的情况下把交易与某个人联系起来。更改传输通道触及不到这些记录。这就是为什么单次公网 IP 检查是如此薄弱的测试:它只测量一层,却对所有层下结论。
网络来源层面的隐私与交易的关联性是两种不同的主张,需要不同的证据。
在相信标签之前,先检查你自己的设置
挑一笔真实交易,沿着你自己的技术栈追踪它。哪个程序签的名,哪个程序广播的,哪些对等节点最先看到,目标地址在区块浏览器上是什么样子。如果其中任何一个答案是猜测,那么工具上的标签就在替验证干活。
对你所选的传输通道使用受支持的配置,并检查程序实际打开的连接。然后按账本和账户痕迹各自的标准来评估它们,因为任何传输设置都不会改变它们。