Mimblewimble的隐私限制确实存在,如何解决它才是重点
昨晚,来自Dragonfly Capital的研究员Ivan Bogatyy发表了一篇针对Mimblewimble和Grin的文章并引发了大量讨论,其声称自己的攻击方式可花非常少的代价来实时跟踪Grin发送者和接受人的“地址”,因此,他认为Mimblewimble的隐私模型是糟糕的。
那么,其所说的问题是否存在呢?实际上,抛开“地址”问题不谈,这实际上是Grin开发团队早在2018年年底(即上线Grin主网之前)时,就明确指出的Mimblewimble协议的一个限制问题。
Grin作为一个MimbleWimble实现,其使用的是一种称为保密交易(CT)的交易格式,来隐藏发送者和接收者的身份,因此实际是它没有公开的数额和地址信息。
而一笔Grin交易具有的信息包括:
- 输入:通常可看作是对过去输出的引用;
- 输出:一个33字节被称为commitment的模糊数据集,其编码了金额和所有权,以及金额不为负的相关证明;
- 输入和输出加上费用的总和相匹配的证明(即没有创造新的货币);
总的来说,Grin在地址、金额、IP地址以及在交易中嵌入的附加数据方面都做到了较好的隐私保护,但其在“输入和输出链接”以及“交易存在”这两方面是的确存在限制的。
(图:Grin当前做到的隐私特性)
也就是说,在隐私性强弱方面,目前的Grin确实不如门罗币和Zcash(但使用Mimblewimble的好处是,其具有好的可扩展性,而其它的隐私币通常是非常臃肿的)。对于监听网络的人来说,有可能构建一个交易图,并将实体聚集在一起。
比如,康奈尔科技公司博士后、Zerocash论文作者之一Ian Miers在今年2月份时曾发表过一篇针对隐私协议的文章,其在里面提到了一种称为 Flashlight 的攻击方式。
而其得出的结论称,保密交易(CT)、隐形地址或蒲公英(Dandelion)技术无法提供全面或完美的隐私保护,这些技术都无法解决Flashlight攻击问题,另外其还赞赏了Grin开发团队的诚实,因为其在一开始就提到了协议的限制问题,而没有鼓吹其协议是完全隐私的。
既然问题存在着,那么是否有相应的解决方案呢?
截至目前,Grin开发团队正在探索使用称为 Dandelion++ 的技术缓解这一问题,但其也提到,该方案并不足以完全解决上面提到的链上输出的可链接性问题。
另外,莱特币创始人Charlie Lee给出的方案是:
“为了获得更好的隐私,你可以在广播交易前使用CoinJoin,CJ与MW的配合是非常好的。”
目前,降低链上输出的可链接性,正是Grin开发团队正在探索的一大研究方向之一。
总的来说,Mimblewimble 协议在隐私性方面的确存在着短板问题,但这种隐私保护程度对于常人而言是足够的,而使用Mimblewimble的Grin,也并非是一尘不变,其背后的开发团队从一开始便认识并公布了协议存在的不足,并在探讨相应的解决方案,这是值得学习的。
参考资料:
1、https://github.com/mimblewimble/docs/wiki/Grin-Privacy-Primer
2、https://www.zfnd.org/blog/blockchain-privacy/#flashlight
3、https://github.com/mimblewimble/docs/wiki/Grin-Open-Research-Problems#7-reducing-linkability-of-outputs-on-chain
4、https://twitter.com/SatoshiLite/status/1196504546479968256
5、https://medium.com/grin-mimblewimble/factual-inaccuracies-of-breaking-mimblewimbles-privacy-model-8063371839b9