矿视界译文:为什么《攻破MimbleWimble隐私模型》不适用于BEAM

[复制链接]
10367 |0
发表于 2019-11-22 17:22:53 | 显示全部楼层 |阅读模式
前几天,一场关于 Mimblewimble 隐私保护的辩论在推特上引起热烈地讨论。该事件源于 Dragonfly Capital 研究员 Ivan Bogatyy 发布在 Medium 上的一篇文章。在该文中,Ivan Bogatyy 明确表示:“Mimblewimble 的隐私保护功能从根本上是有缺陷的。”受此影响,Grin、BEAM、Sero 等隐私币出现不小跌幅。
该译文来自 BEAM 官方针对 Ivan Bogatyy 提出的问题作出回应并解释 BEAM 是如何缓解这些问题的。本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处。
全文概要:《攻破 MimbleWimbl 隐私模型》一文中提到的攻击对 BEAM 来说无效,因为 BEAM 的诱饵输出使构建交易图变得难上加难。即使是面对更加复杂的攻击,即将上线的 Lelantus-MW 功能也将让攻击者几乎不可能构建交易图。
以下是全文(查看文中链接需科学上网):
我们想对 Ivan Bogatyy 发布的文章(https://medium.com/dragonfly-res ... -model-84bcd67bfe52)作出我们的回应,该文声称 MimbleWimble 毫无隐私可言。文章引起大家的关注和讨论,我们也很感谢作者所做出的研究和贡献。
但是,我们认为我们社区中的部分成员有些过于杞人忧天,因此我们想针对所提出的问题作出回应(这些问题在过去也被熟知和深入探讨过),我们还将解释 BEAM 是如何缓解这些问题的。
1 攻击实际上是怎么进行的?
Ivan 构建的系统从连接到 Grin 网络的多个“sniffer”节点收集日志并对其进行分析。
在进行日志分析时,作者寻找只有一个内核的交易。在 Grin 中,拥有一个内核代表着交易没有与其他任何交易兼并,因此该笔交易的输入与输出相关联。当攒足此类关联,就有可能构建一个连接不同钱包的交易图,使用该图就可以推导证明两个已知方之间的财务联系。
Ivan 实际上并没有构建出交易图,文章只是证明了交易图构建成功是有可能的——从找到关联输入和输出到构建实际交易图,再到找出特定方之间实际联系,还有很长的路要走。
该攻击也不显示任何用户身份,如IP地址,也不显示交易金额。
为何 GRIN 或受其害?
这种单核交易大量被广播到网络的原因是 Grin 网络不够饱和,在蒲公英隐私协议的主干阶段也没有够量交易可兼并。
伴随交易量增加,匿名性也会得到改善。但目前,正如 Ivan 所说,匿名性很低。
为何 BEAM 与众不同?
​虽然基于同样的 MimbleWimble 协议,不同于 GRIN,BEAM 在应用蒲公英隐私协议时采取了重要的隐私改进。
在项目早期,我们就发现了 MimbleWimble 中潜在的交易关联性,并考虑了缓解之计。
2018 年 9 月,Valdo(https://github.com/valdok)就已经发表过一篇关于交易关联性以及 BEAM 团队如何处理该问题的技术论文
https://github.com/BeamMW/beam/wiki/Transaction-graph-obfuscation)。
该文描述了诱饵(又称假人)UTXOs 的概念。请注意,BEAM 在主网上线之前就已经部署该措施,机制也与 GRIN 开发团队讨论
https://gitter.im/grin_community/Lobby?at=5bebf9d76b9822140d2a7b37 过,后者决定不实施它。
这些假人的运行原理是什么?在蒲公英主干阶段的每一步,BEAM 节点都会检查兼并交易(可能只有一笔交易)是否至少达到 5 个输出。若没达到,诱饵输出会被添加到兼并交易中,确保输出数量至少为 5。
查看 BEAM 区块链资源管理器,并看到每个至少有 2 个内核的块(意味着至少有一笔交易信息不仅仅是币种的块)至少有 7 个输出(币种、交易费用、收款人和 4 个假人)。
每个假人输出值都为零,但它与常规输出完全难以区分——所有输出看起来都像是随机数。
在后面阶段(为每个输出随机选择块高),节点将假人 UTXOs 作为输入添加到随机交易里,很可能属于不同的用户,从而消耗假人并从区块链中将其移除,但同时也在用户之间创建事实上不相关的联系,因此我们也叫它诱饵。
另外需要注意的是,由于这些诱饵输出最终会被使用,因此该机制不会在区块链上造成任何永久性的混乱。
2 为什么攻击在 BEAM 上更加难以实现?
如果在 BEAM 上运行一个相似操作,研究人员可能仍会发现许多单核交易。虽然 BEAM 全网处理的交易比 GRIN (过去 30 天平均值)多 60%,但仍不足以保证两笔或多笔真实交易在主干阶段始终“相遇”。但是,由于使用了伪输出,这样的单核交易对于发掘交易图毫无参考价值。
BEAM 中的诱饵使得构建交易图成为一项概率任务,两个钱包之间的关联概率随着跳数增长呈指数衰减。
正如 Ivan 在推文(https://twitter.com/IvanBogatyy/status/1196441085221855233?s=20)中解释的那样:
这对 BEAM 来说并不切实——即使交易之间没有兼并,它们仍然存在一个至少有 4 个诱饵输出的匿名集(该数字可配置)。
下一阶段:Lelantus-MW
BEAM 中的诱饵输出增加了匿名集,这令 Ivan 所以描述的构建交易图变得更加困难,但某种程度上,仍有实现的可能。部分人也例证了其他更复杂的主动攻击,比如 Ian Miers 提到的手电筒攻击。
因此,我们决定实施(https://github.com/BeamMW/beam/tree/lelantus_mw) Lelantus-MW,并于不久后启动。
Lelantus MW 将显著增加匿名集(达到 100 K输出),如果用户时不时选择使用 Lelantus-MW 交易,构建交易图就真的变成就几乎不可能完成的任务了。
关于 Lelantus-MW 的更多资讯也可以通过点击这里(https://github.com/BeamMW/beam/wiki/Lelantus-MW)或这里
以挑战收尾
我们想挑战 Ivan 对 BEAM 网络进行分析,尝试在大量钱包之间建立可证明的联系。因为对于 BEAM 来说,用单核查找交易真的不适用。
原文链接:
https://medium.com/beam-mw/will-breaking-mimblewimbles-privacy-model-work-on-beam-9125bc2ee863

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表