← 最新论文
💻 computer science

A Tattered Cloak of Invisibility: Measuring Anonymity Loss in Railgun on Ethereum

本文表明,尽管 Railgun 在以太坊上拥有强大的密码学基础,但用户行为模式(如时间、地址复用和交易金额)可能会显著损害匿名性,使得启发式算法能够将 17.65% 的提款与存款唯一地关联起来,并导致中位匿名性损失为 3.42 比特。

原作者: Kanan Huseynov, Ali Shahzaib, István András Seres, János Tapolcai

发布于 2026-06-25
📖 1 分钟阅读☕ 轻松阅读

原作者: Kanan Huseynov, Ali Shahzaib, István András Seres, János Tapolcai

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你走进了一家巨大的、透明的银行,每个人都能看到你的名字、余额以及你曾经进行过的每一笔交易。这就是大多数公链(如以太坊)的工作方式。为了解决这个问题,人们构建了像 Railgun 这样的“混币器”。把 Railgun 想象成一件高科技的、神奇的隐身斗篷。你走进去,交出你的钱,然后斗篷会将你的钱与成千上万其他人的钱混合在一起。当你走出来时,你会拿回你的钱,但理论上,没有人知道你最初投入的是哪一堆现金。

你提供的这篇题为 《破损的隐身斗篷》(A Tattered Cloak of Invisibility) 的论文提出了一个简单但可怕的问题:这件斗篷真的破了吗?

作者们(来自匈牙利的一个研究团队)认为,虽然斗篷背后的数学是完美的,但穿着斗篷的却很笨拙。即使魔法本身无懈可击,用户也会留下行为足迹,让观察者能够将斗篷重新缝合起来,从而查出你的身份。

以下是他们如何发现斗篷上的漏洞,通过日常类比进行的解释:

斗篷破损的五种方式

研究人员确定了用户无意中泄露身份的五种特定方式:

1. “同一扇门”错误(地址复用)

  • 类比: 想象你通过一扇贴着“约翰”标签的前门进入魔法房间。你穿上隐身斗篷,混合你的钱,然后决定通过完全相同的、贴着“约翰”标签的前门离开。
  • 现实: 在数字世界中,这被称为地址复用(Address Reuse)。如果你使用同一个数字地址进行存入和取款,斗篷就失效了。研究人员发现,大约有 6% 的用户犯了这个错误,瞬间将他们的存款与取款联系在了一起。

2. “友好的挥手”(直接交易)

  • 类比: 你进入魔法房间,穿上斗篷,然后立即走出来并向你的朋友(正站在房间外)挥手。即使你在里面是隐形的,那次挥手也会将你与你的朋友联系起来。
  • 现实: 用户经常将钱从他们的“存款”地址发送到“取款”地址(或反之),以支付 Gas 费用或补充余额。这创造了一个直接的数字握手。研究人员发现这种情况大约发生在 9% 的案例中。

3. “出租车司机”泄露(Gas 支付者复用)

  • 类比: 为了离开魔法房间,你需要付钱给一名出租车司机(“中继器/Relayer”),因为你身上没带现金。通常,由陌生人开车送你。但有时,你自己开车。如果你自己开车,你的车牌(你的存款地址)是可见的,这会暴露你的身份。
  • 现实: 在取款时,你需要支付交易费用。如果你不使用第三方“中继器”来支付这笔费用,你可能会从自己的存款地址中支付。研究人员发现许多用户都这样做,将约 2% 的取款直接与他们的存款联系起来。

4. “拼图”(背包匹配问题)

  • 类比: 想象你向机器投入了三张特定的钞票:一张 5 元,一张 10 元和一张 20 元。稍后,你取出了正好 35 元。即使机器混合了钱,但“5 + 10 + 20 = 35”这个事实就是一个巨大的线索。
  • 现实: Railgun 允许你存入任何金额。如果你存入特定金额(例如 1.5 ETH 和 2.3 ETH),随后又取出了正好 3.8 ETH,计算机就可以解开这个“数学谜题”(称为背包问题),并推测你的取款正是来自于这些特定的存款。这并不总是能给出 100% 的匹配,但它极大地缩小了嫌疑人的范围。

5. “指纹”(金额指纹)

  • 类比: 你存入了一笔非常具体、奇怪的金额,比如 12.3456789 美元。当你取出来时,你取出的也是 12.3456789 美元(减去微小的费用)。这串特定的数字序列就像是一个独特的指纹。
  • 现实: 与只接受整数(如正好 100 美元)的旧版混币器不同,Railgun 接受任何数字。如果你存入一个“具有心理显著性”的数字(如 1.234567),你往往会在取款时保留这些特定的数字。研究人员发现,虽然这本身不能构成完美的关联,但它增加了其他线索的权重。

重大结果

通过结合这五个线索,研究人员能够将 17.65% 的所有取款唯一地链接到特定的存款。

可以这样想:如果有 100 个人走进隐形房间,数学理论上他们应该是完全匿名的。但由于这些行为上的失误,研究人员可以自信地说:“我们确定知道 17 号人就是刚才走出去的 42 号人。”

此外,他们使用计算机程序解决了“数学谜题”(背包问题)。这并不总是能给出单一答案,但它使每笔交易的“匿名性”(即可能的嫌疑人数)降低了约 3.4 个比特(bits)。用通俗的话说,这意味着潜在嫌疑人的池子显著缩小,使得猜测谁是谁变得容易得多。

“快进”问题(时间)

论文还强调了一个时间问题。许多用户将混币器视为一个快速通道:他们存入资金后几乎立即取出(通常在一天之内)。

  • 类比: 如果你走进一个拥挤的房间,并在 10 秒钟后走出来,那么你可能只是其中的几个人之一。如果你在里面待上一个月,你可能是任何人。
  • 现实: 研究人员发现,中位数用户的等待时间不到一天。这个极短的时间窗口使得无论池子里有多少人,都极易推断出谁存了什么。

你该怎么做?(建议)

论文最后为想要保持匿名的人提供了一份“禁令”清单:

  1. 永远不要使用同一扇门: 始终使用全新的地址来提取你的资金。
  2. 不要向朋友挥手: 不要把钱在你的存款地址和取款地址之间转移。
  3. 乘坐出租车: 始终使用第三方“中继器”来支付费用,这样你的地址就不会被发现是在支付退出费用。
  4. 不要具有可预测性: 不要存入和取出完全相同的金额。把金额打乱,或者在池内进行一些内部交易(如代币交换)来搅乱数字。
  5. 等待时间: 不要急于求成。在池中停留数周或数月,这样你的取款就会淹没在更庞大的群体中。

核心结论

论文的主要信息是:隐私不仅仅关乎数学,更关乎行为。 即便你的“斗篷”是由最强大的魔法织物制成的,如果你穿着它向朋友挥手、直线奔跑或在泥地上留下脚印,斗篷也无法救你。研究人员并没有破解魔法,他们只是展示了用户是如何在无意中亲手撕裂这件织物的。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →