匿名的定义
在讨论比特币是否具备匿名性之前,我们需要对匿名做一个定义。我们需要准确地理解到底什么是匿名,以及它与其他一些相似术语的关系,比如隐私。
匿名和化名(pseudonymity)
在其他你可能更熟悉的情形下,说明匿名和单纯的化名的区别可能更容易。其中一个很好的例子就是在线论 坛,在一个类似于红迪(Reddit,美社交新闻网站)的论坛中,你会选择一个自己常用的化名在一段时间内和系统进行交互。你也可以创建多个化名,甚至每 一条评论都用一个新的名字,但那样会很麻烦,绝大多数人都不会这样做。所以在红迪这样的论坛里,用户通常都会使用化名,但又不是完全匿名。相反,在 4Chan(综合型讨论区)这种在线论坛里,用户通常用匿名来发帖,并且不带有任何标识性属性。
从字面上理解,匿名的意思是“没有名字”。当我们尝试用这个定义来说明比特币的匿名特征时,会有两种不同的诠释:在交易的时候不使用真实的姓名,或者在交易的时候完全不使用任何名字。比特币是否具备匿名性,这两种释义会带来两种完全不同的结论。比特币的地址是公钥哈希值(hashes of publickeys),在与比特币系统交互过程中,使用者不需要使用真实的姓名,但是需要使用公钥哈希值来作为交易标识。因此,按照第一种对匿名的释 义,比特币是具有匿名性的,因为使用者不需要使用真实的姓名。然而,如果根据第二种释义,比特币并不具备匿名性,因为交易中必须使用的地址是一种虚假标 识。在计算机科学语言中,这种不用真实姓名而使用一种特定标识的折中做法被称为化名。
你可以根据你的需要,随意创建出任意多个比特币地址,考虑到这一点,你可能会思考比特币的地址是否真的是虚假标识,因为你可以创建无穷多的化名,正如我们将会看到的,这并不能让比特币具备匿名性。
在计算机科学中,匿名指的是具有无关联性(unlinkability)的化名,无关联性是一种针对特定攻击者的能力而定义的属性,从直观的意思看,无关联性意味着如果一个用户和系统重复进行交互,从特定攻击者的角度考虑,不同的交互行为之间应该无法互相关联。
比特币是具备化名性的,但如果你的目的是要求绝对隐私,那么这种匿名性还不够。区块链技术是一种公开的账本 系统,任何人都可以查询包含了给定地址的所有比特币交易。如果有人可以用你的比特币地址链接到你的真实身份,那么所有你的比特币交易记录——不管是过去 的、现在的,还是未来的——都能关联到你的真实身份。
更加糟糕的是,把比特币地址和真实身份链接起来并不困难。如果你跟某一种比特币业务有关联 ——不管是一个在线电子钱包服务,还是其他接受比特币的商家或交易所,通常你都需要提供你的真实身份以完成相关交易。比如,交易中通常都需要你提供信用卡 信息,或者商家需要你提供真实地址以便送货上门。
或者你去咖啡馆喝杯咖啡,然后用比特币来支付。由于你已经出现在店铺里,咖啡师对你的身份特征已经有了非常多的了解,即使他们没问你的真实姓名。你的物理标识就这样和你的某个比特币交易联系到了一起,从而可以由这个地址追踪到你所有的其他比特币交易。这显然不具备匿名性。
旁路攻击(side channels)
即使没有发生直接的关联,因为侧面渠道或者一些间接的信息泄露,你的匿名身份也可能会被暴露(deanonymized)。 举个例子,某个人看过一个匿名的比特币交易记录,并且注意到了这个比特币交易的活跃时间,那么他就可以将这个时间信息与其他公开可获得的信息关联到一起。 可能他会注意到在同一个时间某一个推特用户也出于活跃状态,那么就可以建立一个匿名的比特币资料和一个真实世界的用户(至少是一个推特账号)之间的关联。 很显然,这样的匿名性并不能保障隐私或者绝对匿名。要想做到绝对匿名,我们需要更强的无关联性属性。
无关联性
为了更扎实地理解比特币范畴中的无关联性特征,我们可以列举一些在比特币交易中无关联性所需要的关键属性:
1.同一个用户的不同地址应该不易关联。
2.同一个用户的不同交易应该不易关联。
3.一个交易的交易双方应该不易关联。
上述第一条和第二条很容易理解,但第三条比较微妙。如果你把一笔“支付”诠释成一个比特币交易,那么第三条 属性很明显就是一个伪命题。每一笔交易都有输入和输出,这些输入和输出都不可避免地会记录在区块链网络中,并且公开地关联在一起。然而,我们所指的支付并 不仅仅是一笔比特币交易,而是指任何一种从发送者到接收者的传输比特币的行为,这种行为可能会涉及一系列的间接迂回交易。我们需要确保,通过查询区块链上 的信息将发送者和最终的接收者关联在一起,是不可行的。
匿名集
即使我们对支付做出更加宽泛的定义,第三条属性看起来也比较难以实现。比如说,你支付一定数量的比特币来购 买某个商品,并且通过迂回曲折的形式发送了这些比特币,其他人通过查看区块链上的信息,还是可以推断出某个比特币地址上减少了一定数量的比特币,而另外一 个地址上增加了差不多相同数量的比特币(可能会扣除相应的交易费用)。此外,尽管传输是通过迂回曲折的路径,初始发送方发送比特币和最终接收方接受比特币 基本上发生在同一个时间段,因为商家不太愿意接受延迟付款。
基于这样的困难,我们通常并不试图在系统中,对所有可能的交易或者地址都实现完全的无关联性,而是去实现更 有限度的无关联性。想象一个特定的攻击者的情况,你的交易匿名集(anonymity set)是指该攻击者无法把你的交易从其中分辨出来的交易集合。即使该攻击者知道你完成了一个交易,但是他也仅仅知道这个交易是某一个合集中的一个,但并 不能确定是哪一个。我们只需要努力去最大化这个匿名合集就可以了——在这个合集中,我们可以隐藏我们的地址或交易。
统计匿名集是很微妙的,由于这样的匿名集是针对某一个或者一组攻击者而定义的,所以你首先需要具体定义你的 对手模型是怎样的。你必须要仔细思考对手已知和未知的内容,以及我们需要隐藏的内容——也就是说,如果要达到匿名性目标,交易中的那些信息是不能被对手知 道的。没有成熟的公式告诉你该怎么做,需要根据每一个具体情况仔细分析相对应的协议和系统。
污点分析(taint analysis)
在比特币社区中,人们通常根据直觉推断匿名性,而非严格的定义。污点分析就是一种非常流行的方式:这是一种 推算两个地址相关性的方法。如果地址S发送出的比特币总是地址R接收,那么不管是直接抵达,还是经过了多少中间地址,S和R则被定义为具有高分污点。污点 分析的计算公式,适用于多个输入和(或)输出的交易,并且确定如何分配污点的规则。
遗憾的是,污点分析也不是一个衡量比特币匿名性的好方法。它只是简单地认定对手在使用相同的计算方式在关联 成对的地址。稍微聪明一点的对手会使用不同的技巧,比如查询交易时间,或者本章后面我们会讲的利用钱包软件的特性。所以,污点分析可能只会显示你在某种特 定情况下具备的匿名性,而事实上可能并不准确。
为什么需要匿名性
了解了匿名性意味着什么之后,在我们进入更深入的探讨之前,让我们来回答一下有关匿名性的根本问题:为什么人们需要匿名性?拥有匿名性的货币有哪些伦理道德方面的意义?
在区块链货币中,所有交易都被记录在一个公共账本上,也就是说,这些记录都是公开的,并且可根据相关地址进 行永久追踪,因此,你的比特币交易的隐私保护可能会比传统的银行更糟糕。如果你的真实身份被关联到一个比特币地址,那么你就完全失去了所有交易的隐私—— 不管是过去的、现在的,还是未来的——只要是和这个地址相关联的交易。由于区块链是公开可用的,确切地说,任何人都有可能在你不知道的情况下识别你的身 份。
考虑到这一点,我们可以认定两种不同的需要匿名加密数字货币的动机:第一种是,达到我们习惯的传统银行给我 们的隐私保护级别,降低公共区块链所带来的信息暴露风险;第二种是,要超越传统银行给我们的隐私保护级别,进一步开发数字货币,使其从技术上实现任何人不 能轻易追踪参与者。
匿名性的道德问题
我们有很多非常重要的理由(虽然经常被忽视)需要匿名性,传统货币已经让我们对这种匿名性习以为常。大多数 人都不愿意与朋友以及同事分享他们的工资收入状况,如果你的工资是用区块链比特币支付的,而且该区块链上的地址很容易被识别,那么我们只需要关注每个月定 期的大额支付记录,就能很容易地推断出你的工资情况。企业组织也有非常重要的财务隐私顾虑,例如,一家电玩游戏生产商被发现在区块链上支付给了一个分包 商,而这个分包商是专门生产虚拟现实眼镜的,那也意味着它们要推出的新游戏可能会被公众(也包括其竞争对手)提前知晓。
然而,真正合理的顾虑是,匿名加密数字货币可以被用作洗钱或者从事其他非法活动。即使加密数字货币的交易本 身可能是匿名的,数字货币和法定货币之间的接口却无法做到匿名,这可以说是一个好消息。事实上,我们将在下一个章节讨论中看到,这些数字货币和法定货币之 间的兑换和流动被严格监管着。因此加密数字货币也不是洗钱或者其他金融犯罪的灵丹妙药。
然后有人可能会问:我们是否可以设计出一种技术,这种技术只允许使用好的匿名,而禁止坏的匿名呢?事实上, 计算机安全和隐私方面的研究者一直在探索这个问题的答案,遗憾的是,从来就没有可行的方案,因为我们用道德标准分辨出的好坏,对计算机技术来说,是没有办 法区分的。在比特币系统中,如何让矿工按照道德标准去判定哪些交易应该被发布到区块链中,目前还是无法实现的。
我们的观点是,启用匿名加密数字货币是有潜在好处的,这也是其得以存在的原因,同时,对于系统的技术匿名属性和在使用货币时应该遵守的法律规范,我们应该加以区分。匿名加密数字货币并不是一个完美的解决方案,但可能是最优的一种折中方案。
匿名化和去中心化
在本章中,我们会看到很多次有关匿名化和去中心化的讨论,通常这两点是相互矛盾甚至冲突的。回忆一下前言部 分提到过的乔姆(Chaum)的电子现金系统,它在一定意义上实现了完美的匿名性,不过必须依赖一个中央权威机构——银行的盲签名协议。设想一下,这样的 协议的去中心化将会非常困难。如果我们强制进行去中心化,就必须要有一种能够追踪交易并且防止双重支出的机制。交易的这种公开追踪特性,就是对匿名化的一 种威胁。Tor[1]
如何处理一个有好坏两面性的技术,比特币并不是唯一一个面临这种道德上两难选择问题的技术。另外一个匿名性设定有争议的系统是Tor,一个匿名通信网络。
一方面,Tor的用户只是一些普通人,想保护他们在网络上不被跟踪。其用户包括记者、社会活动家和持 不同政见者等,他们追求在互联网上的言论自由而不用担心政治迫害。同时,执法部门的探员也使用这个系统,监控在线嫌疑犯,而不会泄露他们的IP地址(毕 竟,大家都知道IP地址是根据不同的组织机构来分配的,包括执法部门)。很显然,Tor有很多应用场景是我们从道德上认可的。另一方面,它也还有一些不好 的应用场景:有人用其运作僵尸网络来控制一些被感染的电脑,进而用来传播淫秽等非法图片。
要想从技术角度去区分这些使用场景,基本上是不可能的。Tor的开发者以及社区一直在尝试解决这个难 题,全社会也在努力尝试。我们似乎可以总结一下,整体而言,这样的技术利大于弊,实际上,Tor主要的投资方之一就是美国政府,其投资兴趣在于,Tor可 以让不同政见者在互联网上发表自由言论,而不用担心政治迫害。同时,执法部门也勉强接受Tor的存在,甚至还开发了使用这个平台的方法。FBI也经常会查 封一些在“黑暗网络”上非法传播色情图片的网站,即使这些网站也使用了Tor的平台,多数情况是,这些网站的运营者被绳之以法。我们必须要记住,技术仅仅 是工具,而那些犯罪分子生活在现实世界里,并可能留下各种犯罪证据,或者在使用这些工具的时候犯一些人为错误。
在本章6.5节中,我们会探讨零币(Zerocoin)和零钞(Zerocash),这是一种匿名化并且去中心化的加密数字货币系统,有点类似于乔姆的电子货币(ecash),但是因为上述两个限制,它们需要找到合适的方法,以解决棘手的加密问题。
[1] The Onion Router,洋葱路由,用户通过Tor可以在互联网上进行匿名交流。——译者注
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=395