匿名是研究隐私的最终目标,思考以下几点很有用:去匿名化就像一场游戏。
“猜猜我是谁?”中答案的熵——也称为香农熵——量化了学习结果的意外程度。例如,如果你已经发现对手的角色是秃头,那么当你得知他们没有黑头发时,你就不会感到惊讶;这个答案不包含任何额外的信息。
假设从候选集合中剩下两个选项;这基本上就是抛硬币,两个选项中的任何一个都应该有同等的可能性,因此也同样令人惊讶。得知是选项 A 就告诉你它不是选项 B——等价地,得知它是不是 B 告诉你它一定是 A ——因此只需要一个是或否的问题、一点信息,就可以消除所有不确定性。
该值可以根据概率分布计算出来,在这个二进制例子中,概率分布为 p=1/2。香农熵足够通用,可以量化非均匀分布。并非所有名字都同样流行,所以一个有趣的问题是,“?链接的帖子估计美国姓氏的编码大约需要15位。根据文献,美国名字大约包含10-11位。这些估计意味着每个全名的上限为26位,但请记住,像John Smith这样的常见名字所包含的信息量要比不常见名字少。(唯一地表示整个美国人口的信息量需要29位。)
允许用户例如,如果您观察到一个从 Tor 出口节点到您服务器的连接,那么据您所知,它可能是由数千个 Tor 用户之一建立的。通俗地说,假设去匿名化对手观察到了某个事件(可能是通过拦截网络中两个节点之间传输的消息),那么特定用户的匿名集就是指可能将该事件归因于的潜在用户集合。
这种韦恩图用两个重叠的圆圈表示两个集合,重叠部分突出显示,通常表示两个集合之间的交集。集合是元素的无序集合,例如数据库中的行、数字或任何其他可以用数学定义的元素。两个集合的交集是同时存在于两个集合中的元素的集合。例如,在选民登记名单中,我们可能会讨论邮政编码为 12345 的所有条目的子集,以及出生日期为 1970 年 1 月 1 日的所有条目的集合。这两个子集的交集是邮政编码为 12345 的条目的子集。和其出生日期为 1970 年 1 月 1 日。就州长而言,在条目子集中只有一个条目的属性值与选民登记名单中的属性相匹配。
Steven Goldfeder、Harry Kalodner、Dillon Reisman 和 Arvind Narayanan 在他们的论文《隐私泄露:两种攻击模式》中描述了两种独立但相关的攻击。或许更重要的是,他们清晰地展示了隐私泄露如何加剧,从而为更广泛的攻击提供了极具说服力的论据。
在比特币中,一种货币的匿名集的自然定义是该货币可能被合并到的集合。如果存在多个候选簇,则匿名集并非平凡,在这种情况下,合并将取决于获取更多信息。新交易可能会引入不确定性,因此需要为无法合并到任何现有簇中的输出创建新的簇。另一方面,新交易和带外信息也可以消除不确定性,促进簇的合并。最常见的情况是,如果多输入启发式方法被认为对此类新交易有效,那么输入货币的簇将被合并。然而,正如我们之前所见,存在许多启发式方法,其中一些的准确性令人震惊。
现在,论文中描述的第一次攻击已准备就绪。此次攻击是通过引入第三方资源(例如商家网站上支付处理器的 JavaScript)实现的。假设用于交易的支付地址被泄露给第三方,这将导致 Alice 的网络会话与她的链上交易关联起来。这篇论文发表于 2017 年,因此与网络相关的泄密细节如今已有些过时,但其背后的原理依然重要。
尽管第一笔交易本身并不能揭示太多信息,但假设 Alice 进行了另一笔交易。假设这笔交易是与另一个商家进行的,但该商家与第一笔商家使用相同的支付处理器。简单来说,下图似乎代表了 Alice 支付交易的隐私性,而攻击者需要 2 位额外信息(每笔交易 1 位)才能将这两笔交易归因于 Alice 的集群:
具体来说,在 CoinJoin 的背景下,这种关联发生的典型方式是,混合后支付交易的找零输出随后被 CoinJoin,并通过对输入进行聚类使其可关联。这也被称为“毒性找零问题”,如下图所示。请注意,本例中的白色区域并不代表单个聚类,只是缺少聚类信息。
不幸的是,Alice 的故事并没有就此结束。论文接下来指出,鉴于 CoinJoin 后交易之间存在这种关联,无论这种聚类是如何学习的,对 CoinJoin 交易本身的隐私进行交叉攻击也是可能的。
这就像对手在玩“猜猜我是谁?”游戏,并收到一笔支付交易,然后试图猜测资金的来源。考虑每笔 CoinJoin 交易的输入集。每一枚花费的币都被分配到某个集群。Alice 参与的每一笔 CoinJoin 交易都有一个输入,可以链接到以下某个集群:她集群。此类交易的隐私性源于与大量原本不相关的集群相链接。对手知道 CoinJoin 后交易将多个 CoinJoin 输出链接在一起,因此可以计算相关集群集的交集。随机个人用户参与的频率是多少每一个Alice 进行过哪些交易?如果不止一笔呢?这种情况并不常见。假设交集包含一个唯一的集群,这种情况最终可能会经常发生。在这种情况下,攻击者将能够将 Alice 的交易彼此关联,并将其与 CoinJoin 之前的交易历史记录关联起来,从而有效地撤销混合。
这表明,即使 CoinJoins 的功能像完美混合一样(但事实并非如此),混合后交易隐私不足也会进一步损害先前 CoinJoin 交易的隐私,而且速度比直觉上要快得多。连接比特币交易的图结构包含大量可供去匿名化攻击者利用的信息。
鉴于防止甚至控制隐私泄露的挑战,隐私问题常常被淡化。希望人们的意识能够提高,事情能够像过去几十年的密码学那样发展——无论是不再使用弱密钥,还是最初大多被忽视,但现在人们普遍认为它们实际上可以被利用,而没有考虑到它们的实现被认为是不安全的。话虽如此,它总是更具挑战性:在密码学中,我们有更多机会通过优先使用临时密钥而不是长期密钥,或者至少定期轮换长期密钥来限制意外泄露的危害。遗憾的是,我能想到的隐私领域最接近轮换密钥的方案是证人保护计划——这是一种相当极端且成本高昂的措施,而且远非完美有效。
对于现实世界中的隐私,CoinJoin 隐私的挑战依然存在。
这是这篇文章由 撰写,发布于 6 月 11 日。
骨髓 每周都会发布一些与比特币和比特币爱好者相关的热门话题的深度文章。如果 如果您有符合该模型的投稿,请随时联系 editor[at]bitcoinmagazine.com。