比特币的半匿名性

比特币的出现对虚拟货币领域而言具有划时代的意义。它采取分布式的设计并且将发行权分享给很多的用户,通过特殊的计算方法,可以避免超量发行的尴尬。在设计方面,比特币是以密码箱的设计原则为基础,对保障流通交易的安全性和保密性具有重要作用。

1.半匿名性与隐私安全

比特币用户的地址是由随机算法产生的,具有一定的保密性。一个用户可以有多个比特币地址,并且地址跟他现实生活中的真实身份没有任何联系,因而具有一定匿名性。不过这一特性实为“半匿名”,比特币的交易仍可以追本溯源到交易者本身。比特币的交易历史是完全公开的,所有人都可以通过钱包地址在区块链中查询钱包现金的流入与流出,并可向上追溯至这些比特币的终极起源,即从区块生成后发送到的那个地址。这对个人隐私构成了巨大威胁。

比特币协议为上述问题提供了两种解决方案:

1)所有的比特币交易使用公共密钥,而无须个人身份证明;

2)比特币客户端可以生成无数个公共密钥,以帮助用户防止跟踪。

然而,越来越多的研究表明,这些保护措施是不够的。如果通过一些社会工程学手段,使得某个比特币钱包的物理地址(如IP地址)暴露,再配以大数据分析,那么资金的来龙去脉与关系网将无从遁形。德国和瑞士学者的一项研究显示,约40%比特币用户的真实身份可被发现,这其中有些用户还使用了官方推荐的隐私保护措施。美国加州大学圣地亚哥分校研究者发表的一篇论文中称,比特币交易网络对少数大账户的依赖性与日俱增,这使得用户的身份安全性大大降低。日后,通过大宗交易追踪到交易者的真实身份将变得很容易。

从本质上来说,比特币的去匿名化依赖于根本性的洞察。仅仅给定一组关于人的信息和一组关于比特币交易的信息,而不提供任何涉及二者关系的信息,则确定哪个地址属于哪个人确实是非常困难的。但是,当你知道哪怕一条关联信息,可能很快就可以确定该用户最喜欢的商家。除了简单地“追踪比特币”,还有两个比特币侦探可以使用的更高级的工具。

2.破解半匿名的方法

(1)闭包

首先,存在一个概念,即闭包。我们来看一个示例。如果地址A在某个闭包里并且存在一个使用来自地址A和地址B的货币作为输入的交易,则地址B也在该闭包里。计算一个地址的闭包时,只需在从这个地址开始,一直到你停止添加新地址的过程中重复地应用闭包的定义。

这个概念的威力如下:同一个闭包里的所有地址几乎可以肯定都归同一个用户所有。如果一个交易有多个输入地址,则原因几乎总是用户需要把一定数额的钱支付到某个地址里,但是其任何一个地址里钱的总额都不够,于是钱包软件为了付款不得不从两个甚至更多的地址里取钱。有了这个工具,如果你能证明哪怕一个地址归属于某个具体的人(比如说,如果你是一个从他们那里接受比特币付款的商人),那么你就很可能发现他们的绝大部分钱包地址。

(2)“零钱地址”启发式算法

在消费时,零钱地址被比特币钱包用来发送额外的钱给交易的收款地址。比如,如果你收到了50比特币,然后花了1比特币,剩余的49比特币就存入一个由你的钱包新生成的零钱地址。之所以不把那49比特币发回原来的地址,是为了增加隐蔽性。有人已经找到启发式算法来解决怎么才能自动辨别零钱地址和交易的正常收款地址。通过这类启发式算法,

算法,研究人员比只使用地址闭包发现了更多的线索,常常可以追踪交易链长达几百步并最终获得成功。

3.弥补匿名性不足的方法

解决比特币匿名性不足的方法除了利用单个钱包多个地址以外,还有一种是混合服务。比如,在网站blockchain.info和丝绸之路上的服务。混合服务的工作原理如下:用户给混合服务一个接收混合后的比特币的地址,而混合服务给用户一个发送比特币的地址。全世界成千上万的用户把比特币发送给混合服务商,而服务商在内部进行混合后,除了扣除少量手续费外,其余的比特币如数(不是相同的比特币)发到每个用户的接收地址上。由于在区块链上找不到用户发送地址和接收地址的关联,所以在理论上只要混合完成相关信息就会被抹掉。但是,这种匿名方式需要提前建立双方的信任。用户不仅需要信任服务商不会透露自己的两个地址之间的关联,还需要相信服务商不会偷走自己的钱。如果服务商偷了钱,用户将无法证明。

此外,比特币开发者AmirTaaki和PabloMartin研究出一种新的方法——半去中心化来解决比特币的半匿名性问题,其工作原理大致如下。

N个人聚在一起并且同意混合X个比特币,他们中的一个人发送N和X的值以及“房间号码”给一个

中间服务商。每个人用匿名网络(比如Tor)给服务商发送一条带有房间号码和接收地址的信息。一旦N个人都发送进来了他们的接收地址,则服务商会给每个人发送确认信息。每个人都匿名地给服务商发送一条包含房间号和发出地址的信息。服务商在所有人都把X个比特币发过来后,用这些比特币构造一个交易并向每个接收地址发送X个比特币。然后,服务商把交易发给每个人来签名。每个人都检查交易中向自己的接收地址发送的比特币的数额是否正确,检查完毕后发送给服务商自己的签名。随后,服务商公开签过名的交易。

如上所说,这个协议没有一点特别的创意。事实上,Taaki和Martin第一次发现这个主意是在一个比特币开发员GregoryMaxwell描述CoinJoin概念的论坛帖子里。然而,神奇的地方在于它的实现过程,这两个人使用Taaki本人发明的比特币工具箱SX快速实现了交易。这种实现方法的优势在于易于使用。Taaki和Martin专门创造了一个简单的图形用户界面,用户只需输入发送地址、服务商的网址和接收地址,系统就会自动处理一切。

中间商不知道哪个发送地址对应着哪个接收地址(因为人们在不同阶段、不同时间发送他们的信息),也没有机会偷走比特币。如果中间商用自己的接收地址替换了别人的接收地址,没有收到比特币的人发现后会拒绝签收交易,这将导致协议失效。唯一失败的可能性只在于没有发生的交易。此外,任何人都可以成为交易商而本质上却不需要任何起步费。实际上,完全去中心化的体系可以让N个人中的一个人在百忙之中充当交易商。

这种机制也许不经意间实现了另一个目标:如果得到广泛的应用,它有很大的可能使得“闭包”概念不能发挥作用。闭包依赖的前提假设是一个交易的所有发送地址都是由一个人签收的,然而交易的不同发送地址是由不同的人签收的。当然,目前使用的协议可以被轻松地骗过,因为闭包算法可以故意避开各个发送地址来发送金额相等的交易。从理论上说,一个人在同一场交易活动中可以参加多次,也就是说发出和接收的面额不同(比如说,通过一个地址发出0.03比特币,但通过3个不同接收地址各收取0.01个比特币)。从另一方面看,一般的钱包可以故意使它们的交易看起来像是匿名交易。比如,一个钱包提供商可以使其钱包总是提供0.01比特币的零钱,因而每笔交易都自然而然地看起来像是经过了混合(混币)。尽管将来会有一些方法可以识破很多这类事情,但是这仍然使闭包的地位从必杀技降为普通试探性方法。

例如,在2017年7月被破获的BTC-e洗钱案件中,安全专家便是利用比特币的半匿名性的弱点追踪到嫌疑人。

某个比特币交易或地址关联到现实世界中的某个具体的人或事件,从那里就有可能“追踪比特币”并且获取许多其他方面的信息。比如说,追踪者可能会发现该用户的老板、最喜欢的商家、顾客和其他人的比特币地址。

比特币行情深度图与实时成交

比特币核心钱包的使用

868区块链学习网为您整理《比特币的半匿名性》仅供参考。