什么是Monero(XMR)?它如何保护您免受交易监控?
1. 什么是门罗币?
门罗币积极鼓励那些寻求财务隐私的人,因为付款和帐户余额仍然完全隐藏,这不是大多数加密货币的标准。
2. 为什么选择门罗币?(由getmonero.org解释)
门罗币使用加密来屏蔽发送和接收地址,以及交易金额。
门罗币交易是保密且无法追踪的。 默认情况下,每次门罗币交易都会混淆发送和接收地址以及交易金额。这种永远在线的隐私意味着每个门罗币用户的活动都会增强所有其他用户的隐私,与选择性透明的加密货币(例如Z-Cash)不同.门罗币是可替代的。由于混淆,门罗币不会因参与之前的交易而受到污染。这意味着门罗币将永远被接受而不会受到审查的风险。Dandelion ++允许传播交易而无需确定来源。这将混淆交易者的IP地址,并提供进一步的网络监控保护。
门罗币是一个吸引世界上最好的加密货币研究人员和工程人才的基层社区。 超过 420 名开发者为门罗币项目做出了贡献,其中包括 30 名核心开发者。论坛和聊天渠道热情且活跃。
门罗币的研究实验室,核心开发团队和社区开发人员不断推动加密货币隐私和安全的前沿。
门罗币是一种电子现金,可以在世界任何地方进行快速,廉价的支付。
没有多天的持有期它没有欺诈性退款的风险。它不受“资本管制”的限制 - 这些是在经济不稳定的国家限制传统货币流动的措施,有时甚至是极端程度。
隐私至上
那些认为此愿景过于狭小或无趣的人通常不了解,实现真正的隐私保护有多么困难,尤其是在区块链这种永久开放的分布帐本上. 任何途径的数据源泄漏都可能破坏隐私性.
门罗币已经采取多项针对性措施,分别通过环签名,隐身地址,和彼得森承诺来混淆发送方,接收方和交易金额等链上数据.在这样的情况下,一旦交易完成,交易信息就变成账本历史的一部分,在这些安全措施层层保护下,攻击者想通过分析交易历史记录来推断出关键信息无异于痴人说梦. 但是有些攻击,虽然无法在交易完成后发动,也无法针对历史数据执行,却有机会在交易发生的瞬间造成危害.
IP地址关联攻击
好消息是,如果在进行交易时未被收集到IP地址信息,由于该信息不会被存储在区块链中,因此以后的任何人将无从查起.并且这种攻击不太可能在系统外发起,因为要实现这一目标,攻击者需要控制网络上绝大多数门罗币的节点.但是,一旦某人能够控制绝大多数节点,他将能够确定交易的"方向".
这可能不太好理解,因此我们将解释一些背景知识.每个节点都连接网络上的其他节点,以便它们可以使自己的区块链账本保持最新状态,并与他人共享自己的信息.这些连接使他们能够获取新交易,传播它们并发送自己节点的信息给他人.由于一个节点只能将其知道的交易告知其连结的节点,因此可以说,传播交易的第一个节点就是实际发送Monero的节点.
如果攻击者拥有网络上的大多数节点,则每个节点都会从其连结的节点那里听到某笔交易广播,并且根据每个节点接收此信息的时间差,他们可以推断出该交易最先开始的发起节点.
如果你还是没有理解,我们再打个比方.假设我们有一个共同的朋友需要被搜救,他在我们的视野之外.突然这个朋友大声呼救.我先听到他的呼喊,而且比你听到的声音大.从这些信息中,我们可以知道我比你更接近我们的朋友.你后听到声音(哪怕时间差很小)并且声音较小,这意味着我们应该在我所在的区域而不是你所在的区域开始搜索.
由于节点互联彼此可以获取对方的IP地址信息,所以一旦攻击者能够成功猜出哪个节点发送该交易,几乎等同于他们可以知道该交易者的IP地址.这是强有力的信息,因为IP地址包含相关用户所在国家/地区和互联网服务提供商(ISP)的信息,并且ISP服务商本身知道每个现实中的用户关联哪个具体的IP地址,从而破坏门罗币用户匿名性.
应对措施
本文重点说明的解决方案是Dandelion ++(DPP蒲公英协议++),它是由原始为比特币设计的蒲公英协议Dandelion的升级版.在此协议中,有两个阶段,蒲公英的茎阶段和蒲公英的绒毛阶段.他们共同代表蒲公英协议的形式.
在茎的阶段,每隔几分钟,发送节点都会从与其连接的所有节点中随机选择两个节点.同样的,每隔几分钟这个节点也可能被别的茎阶段的节点抓取.所以当一个节点需要发送信息时既有可能是代表本节点,也可能只是转发关联茎节点的信息,然后它再会随机选择自己抓取的两个节点之一,将需要交易的信息单独发送给它.
绒毛阶段是节点接收交易信息后将其全网节点广播,而不只是再单独发送给下一个随机选择的节点,这时候这笔交易信息才真正被传播.每隔几分钟,一个节点会随机定义自己为茎节点或绒毛节点,因此如果每个连接节点都将自己定义为茎节点,则茎阶段的跳转时间可能会很长,但是一旦交易达到了绒毛阶段,交易信息会在那个节点保留并第一个全网广播出去.
这意味着攻击者将不再能够简单地监听交易的来源和方向,因为在将交易广播给全网所有人之前,它已经经历了茎阶段若干次传递,而作为交易第一个广播的绒毛节点,其本身也不知道该交易的源头,到底经过了多少次跳转.
结合以上解决方案(蒲公英路由加上覆盖网络)将为保护隐私和IP地址反跟踪,提供更强大的防护.不过应注意,蒲公英协议不能防御ISPs发起的另一种形式的网络跟踪攻击,但这不在本文讨论范围之内.
Dandelion ++蒲公英升级协议已设置为可在Monero主网上运行,并且在0.16版本客户端上默认自动运行.这一微小的变化将进一步减轻对Monero网络潜在的攻击,并说明为什么Monero在保护隐私技术方面处于领先地位.
环形签名
门罗币作为隐私币之王,去中心化的瑞士银行,隐私性在加密货币领域广为人知. 尽管每个人都知道门罗币提供了良好的隐私保护,但没有多少人真正了解门罗币隐私的运作方式.
许多其他加密货币,或者区块链媒体在发布各种加密货币的比较图,或者其它文案时,大多数情况下,总将门罗币的隐私保护技术标记为RingCT,但这只是部分正确.实际上,Monero对隐私保护采取了三管齐下的方法.分别是隐藏接收者,交易金额,和发送方输出的技术,隐藏收款人的技术是stealth addresses,中文翻译成隐蔽地址,有时也被翻译成一次性地址,隐藏交易金额的RingCT又叫环形机密,而防弹协议,ringCT3.0等都属于环形机密,最后一项,保护发送方的是ring signatures,中文翻译成环签名或者环形签名.
这种三管齐下的方法意味着,如果其中一项隐私技术被破坏,其他技术仍将发挥作用.这其中环签名是门罗币隐私方案中最薄弱的环节,当然了这里的弱也是相对而言的,让我们不要那么浮躁,耐心花一些时间探索它,到底有没有可能被破解.
如上所述,环签名的目的是使交易中发送方的output也就是输出变得模糊.这里插一句话,在加密货币世界里面,如果类似于输入input和输出output这种术语让你感到困惑,请不用担心,它们概念并不复杂,今天用人类能懂的语言来解释清楚.当你听到输出output时,请联想一下支票,人们用来付账的时候,可以写一张支票给对方,这在中国不太普遍,你可以把支票想象成一个欠条,它可以表示任何面额,类似五块,三千,几万,或者一个票据,类似于逢年过节凭票可以去商店领若干米面油,或者蛋糕店的卡,都对应的属于商店和蛋糕店的output,这种票据像支票一样在交易双方之间可以交换和转让.对于加密货币,发送者的输出output具有以下功能.
当有人向你支付10个门罗币时,您将收到10 个门罗币的输出.此输出的面额为10,也就是从发送人的钱包中扣取了10个币发给了你,同理当你付款时也一样,一个输出账单会离开你的实际钱包,并发给你要付款的对方.
门罗币隐藏发送者输出的方式是通过构造若干类似于诱饵输出,形成一个环形结构,环签名因此得名. 但是这些诱饵不是凭空捏造的假输出,它们是区块链过去的真实输出,只是与当前交易无关,但是对于外部观察者而言,这些输出中的每一个看起来都可能与真实的输出相同.诱饵输出的大小加上真实的输出称为环大小,目前门罗币的环签名大小为11.因此,每一笔交易,有十个诱饵输出和一个真实的输出.通俗的例子是,当我支付一张支票的时候,我在里面混了另外十个不同人之间以前互相转账的支票,外人看来这11个支票都可能是真的,如何保证没有人能凭空制造假钞票,怎么保证11个支票里至少一个是真的,下文还会提到,不过这不是本文的讨论的重点,包括门罗如何在匿名情况下审计总量,请参考社区和我们其它文章.
既然这样,为什么我们只混进去十个假的诱饵呢,我们为什么不将这个数字增加到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个诱饵左右基本上就是一个优化的边际了.门罗币的环签名还在进化,未来会完全不同,并且将显着改善整体的隐私.
关于隐私性和安全性,老生常谈,是一场永恒的猫鼠游戏,保护和破解的攻防战也许永远不会停息,好在,门罗币并不墨守成规,并不僵化和刻舟求剑,相反门罗币社区总是不断创新,反省,学习,半年一次的硬分叉升级,社区并不分裂就是大家凝聚起来的共识是动态的,这也正是门罗币保持隐私之王的秘诀,未来,它也将继续确保所有人享有最好的,具有实用价值的隐私保护.