在《哈利·波特》的世界里,当你需要在决斗中阻止某人泄露你的秘密计划或胡言乱语时,有一个方便的咒语,它被称为Mimblewimble,也被称为“绑舌头的诅咒”。这同时也是针对加密货币的一种隐私技术的名字。
第一批使用Mimblewimble的币种是Grin和Beam——都是在一月份推出的。但在一名独立研究人员演示了一种攻击后,引发了关于其底层协议隐私程度的争论。Mimblewimble的支持者表示可以解决这个问题。但是Mimblewimble的局限性——以及最近几周Zcash和Monero的漏洞——提醒我们,在数字货币领域保护隐私是多么困难。
Mimblewimble的问题在于用的人不够多
隐私币的诞生是因为人们意识到比特币根本没有秘密。人们普遍认为比特币交易是私密的,但警察和犯罪分子早就知道这是个错误的想法。所有比特币交易数据都是公开和开放的,可供所有人分析;再加上一些策略性的传票,要求加密货币交易所收集客户的个人数据,弄清楚谁是谁是非常简单的事情。
这个过程已经发展成为一项大生意。联邦采购数据显示,美国联邦调查局和国土安全部等机构现在每年花费数百万美元购买软件,以帮助追踪交易背后的人员。因此,暗网在很大程度上转向了隐私币,希望能保持隐蔽。
这是一个艰巨的任务。以Mimblewimble为例,它的隐私来自于将大量交易收集到一个单一的、不可预测的程序包中。这使得作恶者很难分析具体的交易。
Grin和Beam使用的另一个组件称为Dandelion(蒲公英),能够确保在交易广播给网络中的其他节点之前进行聚合。(首先出现的是连接节点的“茎”,在这里交易将被合并,然后是“花”,当交易实际广播时,“蒲公英”就出现了。)
但是前谷歌工程师Ivan Bogatyy说,这个协议是有缺陷的,因为攻击者可以建立一个监听其他节点的节点。这样的“超级节点”几乎总是会在聚合之前阻止交易,并且可以用来发现谁和谁之间进行了交易。
这一攻击显示了Mimblewimble的一个已知的局限性,卡内基梅隆大学的教授、Dandelion的设计者之一Giula Fanti说:
她补充道,问题的一部分在于这两种币还没有被更多人使用。更多的交易意味着更快的聚合,使得超级节点更难从中找出特定的交易。Fanti指出,这一原则适用于许多匿名技术,这些技术通常依赖于在人群中隐藏自己。
Grin开发者表示这类攻击并没有那么可怕。Grin的开发团队表示,他们很清楚Mimblewimble的隐私模型并没有解决这个问题,并一直致力于寻找解决方案。Beam方面则表示,他们已经通过使用使聚合更有效的诱导性交易来缓解这个问题。
伊利诺伊大学教授、Zcash基金会董事会成员Andrew Miller指出,不过,证明理论上的攻击是低成本且实际的仍然是有用的。“它改变了现状,”他说。“这甚至不需要付出太多努力。这表明,考虑到目前的网络规模,这个问题有多么普遍。”
侧通道攻击可能危及隐私
斯坦福大学密码学研究员Florian Tramer表示,作为一个相对年轻的协议,Mimblewimble还不能提供与Zcash和门罗相同的隐私保护。他补充道,它们存在的时间更长,依赖于经过实战检验的密码技术,如环签名和零知识证明。
“在这个领域要解决的大问题是我们对隐私的期待来自不同的技术。”
即便如此,根据Tramer的说法,隐私问题仍然棘手。他最近发表了一系列针对门罗和Zcash的攻击,这些攻击之所以引人注目,是因为它们甚至不需要使用复杂的密码学。他补充称:
在这种情况下,Tramer和他的同事们开发了“侧通道攻击”,这种攻击瞄准的是私人钱包和面向公众的网络之间的交互。因为交易的细节是加密的,所以钱包需要检查它看到的每一笔交易是否是与自己有关。
Tramer的团队发现,钱包根据问题的答案执行不同的密码检查。对手方可以通过注意时机和行为上的细微差别了解到很多东西。使用Tramer开发的技术,攻击者可以发现网络中任何匿名交易的收款人,并定位持有公共地址私钥的计算机的IP地址。
这些漏洞已经告知门罗和Zcash,Tramer说他很高兴看到两个团队很快就修复了这些漏洞。Monero的修复方式相当简单,因为它的设计已经试图将钱包和网络分开;重叠实际上是一个必须填补的漏洞。
Zcash有一个更棘手的问题,因为钱包和网络进程是相互连接的。这在一定程度上是网络的原生问题,包括在比特币的基础上添加隐私技术,而不是从零开始。这种攻击之所以成为可能,部分原因是由于在构建客户端时没有考虑到隐私和匿名性。这是Zcash团队非常清楚的,Tramer说。
这些问题都得到了解决,而且就目前而言,隐私币的匿名性仍远远超过比特币交易,后者可以被监控,并在事后多年进行追踪。Miller说,社区将需要密切关注其他类型的侧通道攻击,特别是如果目的与隐私币应用有关。例如,使用Zcash、门罗或Grin为在线服务付费可能会带来新的问题,即当你与应用程序交互时,会泄露哪些类型的信息。
Tramer说: