自从比特币诞生以来,它就从未具有过隐私属性。尽管中本聪的白皮书中表明具有隐私性是协议的设计目标,但是政府机构、分析公司和其他利害关系方会通过分析公有链和p2p网络的方法,聚集比特币地址并把它们与IP地址或其他识别信息联系在一起。
缺乏隐私性是比特币的一个问题。比特币用户一定不希望让全世界都知道他们把钱花在了哪里、赚了多少钱或拥有多少钱,而企业也不想向竞争对手泄露交易细节。此外,缺乏隐私性可能导致比特币失去可替代性。例如,如果可以确定某些比特币在某种程度上被用于政治目的,一些人可能不太愿意接收这些“受污染”的币,从而损害到了所有比特币的可替代性。
幸运的是,一些有前途的、提高隐私的技术将提高比特币的隐私特性。下面是一些提高比特币隐私性的项目。
TumbleBit
酝酿了近两年的TumbleBit长期以来一直是最受期待的提升比特币隐私性的解决方案之一。
TumbleBit是一种代币混合(coin-mixing)协议,它使用一个中心化的tumbler在参与者间创建离线支付通道。通过这些通道,所有参与者将会发送比特币,并获得等量的其他比特币作为回报。这一过程打破了比特币的所有权轨迹:无论是间谍还是参与者都无法确定到底是谁将把钱付给了谁。此外,更重要的是,TumbleBit使用了智能加密技巧,以确保即使是tumbler也不能在用户之间建立链接。
TumbleBit的每个参与者都需要进行两个链上交易(一个用于打开通道,一个用于关闭通道)。虽然这是一个去信任的解决方案,但这确实使它比其他方案的费用更高。
开发情况:可供使用
Chaumian CoinJoin和ZeroLink
CoinJoin是由Bitcoin Core的贡献者Gregory Maxwell在2013年提出的一个基于比特币标准的概念。从本质上讲,它的特殊之处在于将多笔交易合并成一笔更大的交易,准确来说,它将会混淆比特币的发送地址(输入)和接收地址(输出)。
举个简单的例子,假设Alice Bob和Carol想把他们的比特币混在一起交易。通过使用CoinJoin,他们可以创建一笔交易,将币发回给自己创建的一个与身份无关的新地址。只要Alice、Bob和Carol使用同样数量的币进行交易,间谍就无法分辨到底哪个新地址是属于谁的(如果他们使用不同数量的币,很明显就能看出币最终发送给了谁)。
CoinJoin交易多年来一直存在,但它仍然存在一个问题:需要有人(如Alice、Bob或Carol)去创建交易。同时此人必须准确地了解到底是哪些旧地址把比特币发送到了哪些新地址上;否则,就不可能创建交易。如果这个人是间谍的话,它就可以找到比特币所有权的线索。
这个问题也可以通过Gregory Maxwell在2013年提案中提到的“Chaumian CoinJoin”(以David Chaum的盲签名方案命名)技术来解决。
简而言之,Alice、Bob和Carol将连接到中心化的Chaumian CoinJoin服务器,它可能由钱包提供者来进行操作。首先,他们都给出了相应的发送地址,以及盲接收地址,这些地址由服务器进行加密签名。然后,Alice, Bob和Carol断开连接,以便通过一个隐藏的连接(比如Tor)进行重连,并提供他们的非盲地址。利用Chaumian盲签名,服务器可以验证非盲地址与盲地址是否匹配。这使得它可以验证地址是否真的属于Alice、Bob和Carol,而不需要知道到底哪个地址属于谁。
Chaumian CoinJoin提案在第一次被提出后就被搁置了大约四年。然后大约在一年前,Adam Ficsor在研究Breeze的TumbleBit实现时重新发现了这个建议并决定实现它。
在?Ficsór设计的ZeroLink框架的基础上,Chaumian CoinJoin现在已经在Ficsór的新版本钱包中实现了,该版本最近发布了测试版。
开发情况:测试版本可供使用
Schnorr签名
虽然在几年前首次提出的CoinJoin?是可以实现的,但到目前为止,它还没有在大范围内流行起来,这可能是因为CoinJoin增加了交易的复杂性,对于那些不太关心隐私的人来说,这没什么好处。
Schnorr?签名是Bitcoin Core和Blockstream的开发者Pieter Wuille在提交的比特币改进协议(BIP)中所提到的,它可以帮助提供这方面的优势。
Schnorr签名以其发明者Clausl – Peter Schnorr的名字命名,Schnorr签名被许多密码专家认为是该领域中最好的加密签名类型。它在比特币上所体现的最大优势在于,多个签名可以聚合为一个签名。这意味着一个签名可以证明多个发送地址(输入)的所有权。因此,无论包含多少发送地址(输入),每笔常规交易只需要一个签名。
当然,CoinJoin交易也总是包含多个发送地址,因此,Schnorr签名可以为使用CoinJoin添加新的好处:Schnorr使所有参与者不仅能够将交易合并为一个交易,而且还可以将交易中的签名合并为一个。这将使CoinJoin交易的规模小于单个交易合并后的规模,从而意味着矿工会收取更少的交易费用。
有了Schnorr,使用最具隐私性的选项将会产生成本效益,这可能会给钱包提供一种正确的激励,从而让它成为使用者的首选。
此外,Schnorr签名的数学特性将使一类更复杂、更智能的类似契约的解决方案受益,这些解决方案包括“scriptless scripts”、“Taproot”和“Graftroot”。有趣的是,这些解决方案看起来就像是比特币区块链上的常规比特币交易。例如,这可以使期货市场、去中心化交易所或保险合同在不受监视的情况下,识别出看似正常的交易以外的其它细节。
开发情况:预计在2019年可以使用
STONEWALL
Samourai Wallet在2018年5月推出了另一项与Coinjoin相关的隐私措施。这个被称为STONEWALL的技术实际上并没有利用CoinJoin,但看起来非常类似于CoinJoin。
实际上,STONEWALL的交易是常规交易:它们将比特币从一个用户发送到另一个用户。然而,STONEWALL在交易过程中做了一些处理:交易中包含了不必要的发送地址(输入)和更改地址(输出)。这使得交易看起来很像是一个CoinJoin交易。
STONEWALL背后的想法是打破间谍在分析比特币区块链时可能做出的推测。如果这些间谍不能确定交易是否真的是CoinJoin交易,那么基于该交易数据的任何结论都是毫无价值的。
Samourai钱包不久还将部署双钱包STONEWALL(这是真正的CoinJoin交易),在两个互相信任的用户之间进行共享。
开发情况:现在可用;在接下来的一两个月的时间里将会有双钱包STONEWALL供使用
Dandelion
对比特币用户进行匿名化的另一种方法是对p2p网络进行分析。更具体地说,间谍节点可以监控比特币网络并试图找出交易的源头:第一个传输交易的节点可能就是创建它的那个节点。
Dandelion是由卡内基梅隆大学、伊利诺伊大学和麻省理工学院的一组学术研究人员提出的解决方案。卡内基梅隆大学教授Giulia Fanti于最近在里斯本召开的Building on Bitcoin Conference上发表了这个想法。
它的解决方案通过改变交易在p2p网络上的分布方式来应对网络分析。Dandelion协议最初只向一个p2p节点发送一笔新交易,而不是立即向尽可能多的对等节点进行广播并转发新交易。这个节点随机决定是否也将交易转发给一个对等节点。如果只将交易转发给了一个节点,那么下一个节点也会进行交易的随机选择,以此类推。如果没有转发到一个对等节点,节点就会转换到尽可能多的对等点广播交易,所有接收道交易的对等点也会如此行事,这将使间谍更难以查明交易的来源。
该研究团队已经实施了Dandelion的一个版本,该提议在比特币开发社区内得到了积极响应。因此,它很可能会被包含在即将到来的Bitcoin Core版本中。
开发情况:2019年可供使用
BIP151加密
限制网络分析的另一个较早的提议是BIP151,它的提出者是Bitcoin Core的维护者和Shift的开发者Jonas Schnelli。BIP151是一个比较简单的解决方案:它将允许对比特币节点之间的交易和区块数据进行加密。
然而应该指出的是,BIP151并不是保护隐私的灵丹妙药。首先,比特币区块链无论如何都是公开的,更重要的是,节点可以连接到他们想要去除的间谍节点,并与它们共享数据。尽管如此,BIP 151仍可能成为应对多种攻击的备选方案,包括对隐私的攻击(比如中间人攻击)。
虽然BIP 151在最初被提出后,有一两年的时间没有引起人们的注意,但Schnelli最近又重新启动了这个项目,他重新起草了一个“官方的”BIP版本以供讨论,并有可能被Bitcoin Core接受。
开发情况:2019年可供使用