比特币的匿名性其实是很差的。之所以有人认为比特币可以用于匿名交易,是因为比特币网络有三种特性:
1.地址的生成无需实名认证;
2.地址与身份没有一一对应关系;
3.同一个人可以拥有多个比特币钱包地址,这些钱包地址之间没有相互关联。
然而我们必须知道,比特币的匿名性只是一种“伪匿名性”:
首先,在比特币上的所有交易都是公开的,任何人都可以用区块链浏览器看到任何一笔交易。你只需要登录blockchain.info,便能够轻松看到任何一个区块的任何一笔交易。
第二,透过比特币的流向可以鉴别出那些钱包属于同一个人。Mt.Gox案件的比特币被盗取后,经手洗钱的罪犯最后遭到了逮捕,因为他用来混币的钱包被鉴定了出来,从而确定了他的身份。(盗窃者还没有被抓到。)
第三,比特币与法币的兑换环节一般是通过交易所进行,交易所根据所在地区法律,一般要经过KYC审核和AML机制来防止洗钱,所以任何交易所的用户都通过了实名认证。涉及不正当来源的比特币地址(如交易所盗窃事件)一旦进入实名认证的交易所,就能够找到对应的实名用户。
第四,比特币系统的通讯协议没有额外的加密方式。用户想要操作比特币钱包里的钱,他必须与比特币的节点进行通讯,将转账脚本信息发给当前网络上活跃的节点。由于掌管了网关(IP),相关部门只要对节点进行监听,就能断定某个钱包正在被人操作。特别是现在,所有的网络都必须实名制。除非你像中本聪一样全程隐藏自己的身份。
基于这些原因,虽然这几年有多起交易所被盗事件,但是这些提出来的币基本上都是静静地躺在钱包里,无法被人动用,比特币的地址虽然是匿名的,但转账路径和余额都是公开的,所以如果暴露了个人信息和某个比特币地址的关联,就等于彻底失去了隐私,这让很多人担心未来的隐私仍会受损。
由于比特币存在上述问题,匿名币开始发展,比较有代表性的是DASH,XMR,ZCash,grin,就是新技术的代表。它们的技术各不相同,有的是账户余额不可见,有的是转账路径不可见,还有的就两者都不可见,匿名币的特征在于强匿名,保护所有人的隐私,并宣称能够得到长足的发展。
钱包推荐:Monero GUI钱包+ Monerujo(Monerujo是款安卓钱包应用,可以连接到你的Monero GUI钱包桌面节点)。
Monero没有创始人奖励,没有可信设置,也没有预挖矿。Monero是一种符合FinCEN(美国金融犯罪执法网络)的规范和指导的真正去中心化虚拟货币。Monero背后没有公司,意味没有管理机构来监管Monero。在Monero中,每个人都是强制性匿名,于是就有了一个庞大的匿名集。货币政策也很重要,Monero每个区块的最低奖励是0.6XMR,永久不变,以确保无需依赖区块大小和交易费用的稀缺性来激励矿工为系统提供安全保障。交易增长使匿名性进一步提高。
任何声称偏好隐私的人,反对拥有无限资源的攻击者,都需要对其持极其谨慎和怀疑的态度。但我非常肯定Monero在当前市场提供了一个极具竞争力的隐私方案。
——Francisco “ArticMine” Cabañas,Monero核心团队
Monero创立于2014年,是四大匿名币中最经典的一个项目。这是一个由社区推动的项目,没有总部,没有创始人特殊奖励,因此广受赞誉。与比特币一样,它也是一个草根项目。Monero中具体提供隐私的技术是环形签名、环形机密交易和隐蔽地址。简而言之,这三项技术将花费的货币混合起来,组成一组诱饵(10),隐藏发送金额和收件人地址。
上段中的关键词是“mix(混合)”和“hide(隐藏)”。当某样东西混合起来时,就难以追踪了,因为有太多噪音了,就像当11首其他歌曲同时播放时,从中识别出某首歌的音符一样困难。在这个比喻中,同一时间播放的歌曲数量称为 “匿名集”。反之,隐藏某些东西时,就既没有噪音,也没有声音(从隐私的角度来看,显然第二者是更好的选择)。
Monero结合了混合和隐藏,这达到了良好的隐私性,但并非完美。Monero作为首个匿名币,曾经不得不解决著名的可追溯性漏洞,读者可以访问门罗研究实验网页,查看Monero曾经解决过的挑战。学习隐私新攻击载体、修补载体并继续前进是一个持续的流程。
虽然Monero交易在广播之前都会混合,用户仍希望模糊发出混合交易的IP地址。Monero可以与Tor一起使用,另外一个网络层隐私解决方案正在开发当中。
钱包推荐:ZecWallet+Android Companion App。
Zcash为你在机器学习和人工智能的世界中保护隐私安全。Monero,Grin,Beam则不然。他们用诱饵支付来做掩饰。虽然有帮助,但诱饵并不能阻止商家通过你的支付跟踪你。诱饵不会阻止老板知道你多次光顾射击场或同性恋酒吧的事实。如果你是一个持不同政见者,试图在网上接受捐款,但隐藏了真实身份,诱饵不能保障你的安全。在这方面,Monero、Grin、Beam败绩累累:从匿名警察那里收取少量捐款,就能让专制政府查到并拘留你。
Monero、Grin和Beam的这种基于诱饵的隐私方法,就像在你和妻子聊天时,拼写出S - - E - - - X一样好使,这样你三岁的孩子就不会知道你的午睡时间计划了。目前它可能行得通,但随着你孩子长大,该方法就不凑效了,而且追踪人们使用的区块链技术还只是初级阶段(日后的发展潜力不可估量)。
——Ian Miers, Zcash联合创始人
Zcash的“zk- snark”提供了最高的隐私性(相比所有加密货币)。这种技术无需使用混合,只是简单地查看区块链,不会发现任何关于发送方、接收方或发送数量的信息。在查看者没有获得任何有效信息的情况下,确保了系统的整个验证模型安全。Miers说得很对,任何人工智能或机器学习算法都无法通过分析区块链得出有关用户的身份信息。
然而,Zcash必须为这项看似神奇的隐私技术付出代价。这个代价是可信设置(trusted setup)。在高度敏感的初始化阶段,由一组人一个接一个地生成随机数据,之后这些人不能再彼此共享这些数据。如果把这些数据被合并,他们就可以用这些数据来伪Zcash。在最近的设置中,有87名参与者(通过PGP确定)参与。
进一步说,仅仅因为货币隐私不依赖于混合,并不意味着匿名集有无数个。相反,匿名集变成了货币所有用户的集。不好的一点是,在Zcash中,由于默认情况下不启用保护交易信息的zk-SNARK技术,所以实际情况并非如此。Zcash有两种地址类型,t地址和z地址,只有z地址的交易是完全隐蔽的。t地址和普通的比特币交易一样透明。意味着Zcash中隐蔽交易的匿名集恰好就是剩余的其他隐蔽交易。
截至2019年7月17日,Zcash的使用量统计。在过去24小时的5330笔交易中,只有完全隐蔽了29笔交易(额外的交易来自隐蔽的“Snapling”交易,但统计网站尚未识别)。
举一个例子来解释,假设朋友让你早上在上班的路上给他寄些现金。你把自己的一些隐蔽代币寄到他的z地址。之后,当你在火车站上班时,一位戴着面具的人权活动家来到你的办公桌前,用Zcash隐蔽交易购买了车票。如果每天使用隐蔽Zcash在全球范围内最多是几十个人的情况下,刚从你所在城市购买火车票的人权活动家,有多大机率是你的朋友?
由于隐蔽交易的使用率极低,对Zcash尤其不利,但Zcash并不是唯一存在这个问题的代币。如果你居住在一个几乎无人使用加密货币的小镇上,那么无论选择哪种加密货币,上面的场景都可能适用;某一个使用加密货币的人很容易被找出来。这也是可扩展性对匿名币如此重要的原因,因为系统可以处理的交易数是匿名集增加的重要要素。因此,如果你发现自己身处上述场景,恰巧面对面付款,请用现金支付。
钱包推荐:Niffler
Grin隐藏了交易金额和发送方和接收方身份,且没有地址。Grin中的这些隐私保护功能默认为所有用户和网络上的交易开放。相比之下,之前一些项目所采用的“选择进入隐私”方式,鼓励了监视和审查行为,并可能导致被排斥。
Grin的区块链设计是轻量级的,几乎没有残余数据存储在链上,这样新用户可以快速引导和同步。不建议未经思考过度设计协议的功能性。Grin证明无需牺牲性能,保持简单,也能保护隐私。
Grin没有可信设置,依赖于相对简单的密码学假设,这些假设经过了时间的检测。如前所述,实验性或边缘的密码学更易出现灾难性漏洞。这并不奇怪,因为世界上很少有人能够完全理解这些设计,有时甚至连研究人员自己都无法理解,更不用说审核这些设计了。
Grin没有基金会也没有公司。没有投资者需要安抚,没有办公室可以搜查,没有首席执行官可以胁迫,也没有组织可以传唤。没有ICO,没有预挖矿,没有开发税,也没有以牺牲他人为代价快速致富的方法。开发由社区推动,资金来源是不附带任何条件的捐赠。
- Daniel Lehnberg,Grin开发人员
在本系列的第一篇文章中,我们描述了coinjoin如何将多个交易的输入和输出合并到一个交易中。本文我们讨论了隐藏交易数量的机密交易,当在coinjoin中使用这些交易时,可以显著提高其混合功能。后来,人们发现无需发送方之间进行任何协调的情况下将交易联合在一起,以及从区块链中删除中间交易数据的方式,这为一种名为Mimblewimble的新加密货币协议的出现创造了条件。
Grin和Beam都是在今年1月成立,在此之前,开发人员对Mimblewimble这个想法已经着迷了2.5年。Mimblewimble协议的魅力在于,它的扩展性比比特币好,而且在不损害系统的信任独立性(“无需信任”)的前提下,大大改进了内置的隐私功能。许多人认为加密货币去信任化非常重要,因此唯一梦想的协议就是不在去信任化方面作出任何妥协的协议。虽然Monero的设计理念也是如此,但是基于mimblewimble的协议同步更快,存储需求更少,因为Grin和Beam区块链上留存的数据更少。
Mimblewimble协议不受信任设置的限制,也没有在比特币的基础上引入任何新的加密假设(Monero也没有),意味从加密的角度来看,Mimblewimble是安全的。
基于mimblewimble协议的一个缺点是,要求在发送方和接收方之间交换消息,交易才能生效。意味当两个人交易时,他们的IP地址都暴露给彼此。这导致中间人的产生(如grinbox),在用户之间传递加密消息。这并没有完全解决问题,因为你仍然将自己的IP地址暴露给中间人。关于该问题的解决方案目前正在开发中,在此期间,可以通过交换文件(例如USB粘贴的文件)来传输Grin,避免留下网络数据足迹。
保护IP是个人的责任。当你与grinbox中继服务通信时,你将自己的IP暴露给中继。你可以使用VPN和/或TOR或i2p等服务混淆你的实际IP地址。
钱包推荐:Beam Wallet
Beam比Monero或Zcash有更好的可扩展性,比Grin或Monero更好的隐私性,也比Zcash有更好的实用性隐私(如果你考虑使用实际的私密地址)。
如果你想要简单易用和隐私保护技术最先进,Beam是你的不二选择。试试Beam的移动钱包吧。
——Guy Corem,Beam
要理解Beam所谓的隐私优点,我们必须先掌握一些技术并理解基于mimblewimm协议的特性。在此回忆一下 Lehnberg说过的一句话:
“Grin隐藏交易金额和身份发送方和接收方,且没有地址”
虽然这是事实,但是mimblewimb协议没有隐藏所谓的“交易图”。意味在Mimblewimble中,交易在区块链上达成最终性之前,网络侦听器仍然可以看到交易相互引用的流程。Beam开发人员用实际的术语解释了这个问题:
假设鲍勃有一家商店,爱丽丝是他的竞争对手,她想知道鲍勃的供应商。于是她付钱给鲍勃(从他那里买东西),然后鲍勃付钱给他的供应商查理,后来查理付钱给丹,丹付钱给艾琳。爱丽丝看到所有这些交易,但不知道用户身份。
最终,艾琳暴露了——比如她从爱丽丝那里买了一些东西。爱丽丝好心地要求[贿赂/威胁/折磨]艾琳告诉自己,她从谁那里得到了UTXO,这样丹就会被揭穿,以此类推。爱丽丝确定现有用户与下一个用户之间存在关系。
Grin和Beam都在Dandelion stem阶段利用了非交互CoinJoins解决了这一问题,意味在一个交易在网络中广泛广播之前,交易先被转发给了许多其他用户,每个用户又添加了自己想要发生的交易。由于Mimblewimble协议的性质,交易无需彼此协调便可合并,因此数据包中的内容是混合的,但依然有效。
Beam声称自己优于Grin,在于其用户自己会创建若干伪UTXO(未花费的交易输出)添加到混合阶段,这样不管有多少用户正在添加交易,总是出现一个最小匿名集。Beam没有使用“grinbox”,而是开发了自己的分散寻址系统,目的是让用户交流更轻松,而不会泄露IP地址。但这些都是非常新的项目,之后可能许多细节会发生变化。
Beam除了隐私仍然是基于混合功能(正如迈尔斯所说),Beam最薄弱的地方在于,它是四大匿名币中最小的一枚,而且与其他货币相比,它的运作模式更类似于一个公司的项目。也正因为如此,它与开源社区的联系越来越弱(然而Beam经过多次安全审计——最后一次审计在2019年第一季度完成)。