隐私货币:第一部分

  • bhargav
  • 发布于 2024-05-21 17:56
  • 阅读 23

本文分析了 Monero 在隐私保护方面的局限性,例如环签名系统容易受到集合相交攻击,以及诱饵重用问题。同时介绍了 Zcash 如何利用零知识证明实现更强的隐私保护,并着重介绍了 Project Tachyon 如何提升 Zcash 的效率和安全性,使其在网络规模扩大时反而增强隐私性。

关于隐私货币

Monero 的局限性

加密货币领域最引人入胜的发展之一是专注于隐私的加密资产类别。Monero 目前在该类别中以使用量居首(市值 67.3 亿美元,24 小时交易量 1.1049 亿美元),但它并非没有局限性。

Monero 的环签名系统为每个交易输入提供一个包含诱饵输出和真实输出的环。理论上,观察者不应该知道环中的哪个输出是实际花费的。但在实践中,集合交集攻击 和其他启发式方法暴露了其隐私模型的局限性。

在集合交集攻击中,攻击者分析多个环中共享共同输出的交易,以便通过相交这些集合来区分真实的支出。例如,假设 Alice 拥有一个旧的 Monero 输出 AAA。她在 Monero 主链上的一笔交易中花费它,形成一个环

Tx1={A,B,C,D,E} \text{Tx1} = \{A, B, C, D, E\}Tx1={A,B,C,D,E}

由于 Monero 的环签名,观察者无法分辨这五个输出中哪个是真实的输入。现在假设 Alice 还在一个 Monero 分叉上花费了相同的输出:

Tx1’={F,G,A,H,I} \text{Tx1'} = \{F, G, A, H, I\}Tx1’={F,G,A,H,I}

每个环都有 5 个输出,但 AAA 是两者中唯一共同的输出,这并不好。在 Monero 中,用户的真实支出应该在计算上隐藏在许多诱饵中,但跨多个环 重复使用 相同的输出会打破这种假象。根据 Cypher Stack 最近的一项审查,这仍然是一种实际的 攻击媒介

在 Monero 中重复使用诱饵会产生一些严重的连锁反应。如果单个输出的真实支出被披露——通过交易所、用户失误或巧妙的分析——它不仅仅影响该笔交易。它让任何人都可以排除该输出作为它出现的任何其他环中的诱饵。反过来,这有助于缩小这些环中真实支出的范围,并且该过程可以在网络中重复。在 Monero 的早期,这尤其糟糕——超过 65% 的输入甚至没有使用诱饵,因此它们很容易被暴露。即使在添加了混淆之后,研究人员发现,通过重叠正确的环并 消除可能性,仍然可以追踪到另外约 22% 的输入。

更令人不安的是,一个强大的攻击者可以将他们自己已知的诱饵添加到环中。通过用重复使用已知或受控输出作为诱饵的交易淹没网络,他们可以“毒害”匿名集。一旦知道了一些真实的支出,这些被毒害的环使得去除诱饵和追踪其他交易变得更加容易。它产生了一种连锁反应,即使是那些注意保护自己隐私的用户,如果他们的交易进入了与攻击者相关的环中,最终也可能被暴露。

这种集合交集效应准确地解释了为什么 搅动 ——将资金发回给自己以“清理”它们的做法——在 Monero 中尤其危险,以及为什么任何隐私泄露(例如使用 KYC 交易所或泄露单个地址)不仅会危及单个交易,还会危及整个匿名集。当用户花费之前在公共或可追踪的上下文中使用的资金时,它会污染该输出出现的任何环。即使与中心化服务间接交互,或者粗心使用暴露扫描模式的钱包,也可能蔓延到取消匿名数十甚至数百名其他用户。

尤其令人不安的是,普通用户——仅仅是试图转移资金或使用交易所的人——可能会在不知不觉中削弱整个网络的隐私。每次有人泄露支出,即使是无意的,也会缩小其他所有人的有效匿名集。随着时间的推移,这些小泄漏会累积起来,网络变得更容易分析。在 Monero 中,隐私侵蚀并不总是由攻击者造成的——它可以从系统的工作方式中有机地产生。

现代 Monero 已经加强了其针对交集攻击的防御,尽管主要是通过补丁而不是严格的密码学保证。强制执行最小环大小和改进诱饵选择等技术有助于缓解“封闭集”交集攻击,在这种攻击中,输出仅彼此出现,因此可以链接。尽管这些措施使得分析比 Monero 的早期更难——当时研究人员只需要 ~$1,000 就可以取消匿名高达 90% 的交易——但拥有足够数据且资源充足的攻击者 仍然 可以执行大规模的交集攻击。

Monero attack resistance matrix

图:Monero 对各种分析技术的抵抗力,改编自 Goodell, B. (2024)。Monero 安全分析的历史和现状。如表所示,Monero 仍然容易受到攻击。

Zcash 的数学保证

与 Monero 不同,Zcash 不依赖于带有诱饵的概率论证。相反,它使用零知识证明来实现 账本不可区分性。Zcash 中的每个屏蔽交易在密码学上都与随机噪声无法区分。现在,它正在 Zcash 工程师 Sean Bowe 的 Tachyon 项目 中加速发展。简而言之,以下是 Tachyon 如何解决 Monero 的局限性:

问题 Monero 如何受影响 Tachyon 如何解决
节点资源使用 必须跟踪每个诱饵;环签名和 Bulletproofs 增加了区块大小 带有聚合 zk-SNARKs 的 Zcash 区块保持小巧且验证速度快
诱饵分析 集合交集和定时泄漏仍然部分有效 Zcash 中不存在诱饵;每笔交易都无法区分
用户隐私权衡 远程节点或轻钱包可能会看到你扫描哪些输出 隐蔽同步服务可以在不了解你的笔记的情况下推进钱包状态
交易吞吐量 Monero 在垃圾邮件期间达到实际限制(例如 2024 年 3 月) PCD 允许扩展到高吞吐量,同时保持小区块大小和低验证器负担

在 Tachyon 项目中,Bowe 重新思考了钱包如何以安全的方式同步以及与区块链交互。Tachyon 引入了一个模型,其中钱包维护其自身同步的证明(通过 携带证明数据 ),允许验证器修剪几乎所有历史数据。通过将秘密分发转移到链下,并消除对账本中加密 note payload 的依赖,它可以实现精简、无状态的钱包和小而高效的区块。

随着网络的增长,由于链膨胀、重复的诱饵重用和复合交集攻击,Monero 的隐私会降低 ,而 Tachyon 将 Zcash 推向了相反的方向:更大的使用量会产生更高的效率/安全性。实际上,Monero 的规模是一种负担,而 Zcash 的规模则成为一种优势。Tachyon 将传统的隐私权衡转变为隐私优势。

有关完整的技术分解,请查看 Sean 关于 Tachyon 项目 的博客。在接下来的几篇博客中,我们将从零开始完成 Tachyon 项目中累加器的玩具实现!

  • 原文链接: bhargav.wtf/blog/zcash-p...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
bhargav
bhargav
江湖只有他的大名,没有他的介绍。