门罗币Monero

暗网之王

门罗币作为隐私币之王,去中心化的瑞士银行,隐私性在加密货币领域广为人知. 尽管每个人都知道门罗币提供了良好的隐私保护,但没有多少人真正了解门罗币隐私的运作方式.

门罗币三大隐私保护

许多其他加密货币,或者区块链媒体,每当列举每种币的隐私技术的名称时,总将门罗币的隐私保护技术标记为RingCT,但这只是部分正确.实际上,Monero对隐私保护采取了三管齐下的方法.分别是隐藏接收者,交易金额,和发送方输出的技术,隐藏收款人的技术是stealth addresses,中文翻译成隐蔽地址,有时也被翻译成一次性地址,隐藏交易金额的RingCT又叫环形机密,而防弹协议,ringCT3.0等都属于环形机密,最后一项,保护发送方的是ring signatures,中文翻译成环签名或者环形签名.
这种三管齐下的方法意味着,如果其中一项隐私技术被破坏,其他技术仍将发挥作用.这其中环签名是门罗币隐私方案中最薄弱的环节,当然了这里的弱也是相对而言的,让我们不要那么浮躁,耐心花一些时间探索它,到底有没有可能被破解.
如上所述,环签名的目的是使交易中发送方的output也就是输出变得模糊.这里插一句话,在加密货币世界里面,如果类似于输入input和输出output这种术语让你感到困惑,请不用担心,它们概念并不复杂,今天用人类能懂的语言来解释清楚.当你听到输出output时,请联想一下支票,人们用来付账的时候,可以写一张支票给对方,这在中国不太普遍,你可以把支票想象成一个欠条,它可以表示任何面额,类似五块,三千,几万,或者一个票据,类似于逢年过节凭票可以去商店领若干米面油,或者蛋糕店的卡,都对应的属于商店和蛋糕店的output,这种票据像支票一样在交易双方之间可以交换和转让.对于加密货币,发送者的输出output具有以下功能.
当有人向你支付10个门罗币时,您将收到10 个门罗币的输出.此输出的面额为10,也就是从发送人的钱包中扣取了10个币发给了你,同理当你付款时也一样,一个输出账单会离开你的实际钱包,并发给你要付款的对方.

XMR

门罗币隐藏发送者输出的方式是通过构造若干类似于诱饵输出,形成一个环形结构,环签名因此得名. 但是这些诱饵不是凭空捏造的假输出,它们是区块链过去的真实输出,只是与当前交易无关,但是对于外部观察者而言,这些输出中的每一个看起来都可能与真实的输出相同.诱饵输出的大小加上真实的输出称为环大小,目前门罗币的环签名大小为11.因此,每一笔交易,有十个诱饵输出和一个真实的输出.通俗的例子是,当我支付一张支票的时候,我在里面混了另外十个不同人之间以前互相转账的支票,外人看来这11个支票都可能是真的,如何保证没有人能凭空制造假钞票,怎么保证11个支票里至少一个是真的,下文还会提到,不过这不是本文的讨论的重点,包括门罗如何在匿名情况下审计总量,请参考社区和我们其它文章.

XMR

既然这样,为什么我们只混进去十个假的诱饵呢,我们为什么不将这个数字增加到100甚至1000呢,诱饵越多越好,真实交易越不容易被发现.是的,从隐私的角度来看,完全没错,但是还有其他因素需要考虑.让我们回到一个实际的例子来了解.如果你要转账1块钱给你的朋友,为了保护隐私,所以要混进去十个诱饵,所以你在手机上还要发送十个假的诱饵交易,也就是为了转账一块钱,你要操作11次转账. 如果您要转账几次每天,这已经变得很麻烦了,现在,假设我们将诱饵数量增加到1000.哪怕要转账的一块钱,你都要在这个交易里添加另外1000个毫不相干别人以前的转账记录.这好比你携带了成捆的钞票和支票,去买一个几块钱的煎饼果子!值得注意的是,这里只是一个举例,实际上诱饵本身不是环签名的一部分,环签名只是从系统里自动对它们的引用,但是我们希望这种比喻在帮助理解基本概念方面有所帮助,也就是说为什么不能在短期内无限增加环签数量,但是门罗社区一直在开发和研究更好,更小,更快的环签名方案,今年2020年10月将要部署的CLSAG签名就是其中一个,它将压缩门罗币交易百分之25的大小和至少百分之10的运行速度,我们有一篇单独的文章,关于CLSAG环签名原理,这些概念下文还会提到.

发送者和发送者输出的区别

门罗币区块链上的诱饵情况类似.每添加一个诱饵都会增加交易时间和验证成本.每个节点必须为每笔交易下载整个环签名,这其中包含实际发送人的输出以及诱饵.不仅如此,节点还必须进行数学运算,验证这些输出中至少有一个是真实的,并且诱饵越多,需要数学运算的时间也会增加.这意味着我们必须找到一个性价比最高的折衷地带,即遭受分析和攻击时,环的大小也足够大到足以掩盖真实输出,但又要足够小以免导致区块链数据急剧增加和效率降低.当我们用更好的方案,构建新的环形签名时,例如上面说到的CLSAG签名,仅关注增大多少环签,或者仅仅关注提速多少是没有意义的.门罗币社区希望获得具体的数学证据,以了解哪种环形签名的尺寸,可以提供最佳折衷方案.环签诱饵数量太小,隐私保护不足以抵抗数据分析的攻击.环签名太大,我们可能在隐私方面获得的效益十分有限,而在可扩展性方面,遭受不必要地痛苦.
最后一件事要重点声明的是. 一些门罗币的参考文献进行了简化,或者他们理解就是错误的,他们说环签名隐藏的是发送人,这并非完全正确,区别不仅仅在于学术名词.在保护隐私方面,发送人本身和发送人的输出之间的差异很大. 尽管输出可能与发送方有关联,但输出本身并不等于发送方.这里再举个例子,A写了一张支票给了B,B又把这个支票给了C,C又给了F,最后尽管某个环签的11个输出里有一个是A的信息,这是一个属于A的输出,可并不能证明就是他在做交易.因此,即使一个环签名被破坏了,它也不一定链接到一个人的身份,而且交易金额和接收者都仍然被另外两种毫无相关的加密技术隐藏起来,从而最大程度地减少了对各方隐私的损害.

关于未来

当然这并不是说即使环签名泄露和被破坏也不重要. 任何泄漏的元数据都不是好事,并且有可能暴露超出我们想象更多的信息,尤其是当大数据时代与其他元数据一起使用时.因此,我们将尽最大努力确保设置环签大小具有严格的依据,从而让元数据泄漏风险降至最低,并且在用户默认情况下,也就是用户不需要采取任何额外措施,就到达全网匿名转账,整个系统都是隐私且安全的.
好吧说到这里,如果杠精和迫害狂还是担心,环签名是不是可能被破坏,那么我再给你吃一颗定心丸,一些令人难以置信的好消息. 未来即将面世的,比如Triptych, Arcturus, and Lelantus,等正在开发的下一代门罗币隐私协议,它们都具有划时代的意义,在这些协议中,随着环签名大小的增加,数据大小只会按对数增加而非线性缩放. 这意味着我们可以毫无压力的容纳100个诱饵输出,但是在旧的环签名技术中,10个诱饵左右基本上就是一个优化的边际了.门罗币的环签名还在进化,未来会完全不同,并且将显着改善整体的隐私.
关于隐私性和安全性,老生常谈,是一场永恒的猫鼠游戏,保护和破解的攻防战也许永远不会停息,好在,门罗币并不墨守成规,并不僵化和刻舟求剑,相反门罗币社区总是不断创新,反省,学习,半年一次的硬分叉升级,社区并不分裂就是大家凝聚起来的共识是动态的,这也正是门罗币保持隐私之王的秘诀,未来,它也将继续确保所有人享有最好的,具有实用价值的隐私保护.