美文网首页
[区块链 Sec6] 比特币和匿名性

[区块链 Sec6] 比特币和匿名性

作者: 梦中睡觉的巴子 | 来源:发表于2018-10-01 22:20 被阅读0次

比特币最有争议性的一个特性,就是匿名性。首先,比特币是匿名的吗?实际上普遍存在着各种相反的论调,原因在于人们对比特币匿名性存在理解上的困惑。其次,我们需要加密数字货币(crypto-currency)做到完全匿名吗?

1 匿名的基础知识

在讨论比特币是否具备匿名性之前,我们需要对匿名做一个定义。
从字面上理解,匿名的意思是”没有名字”。当我们尝试用这个定义来说明比特币的匿名特征时,会有两种不同的诠释:在交易的时候不使用真实的姓名,或者在交易的时候完全不使用任何名字。比特币是否具有匿名性,这两种释义会带来两种完全不同的结论。比特币的地址是公钥哈希值(hashes of publickeys),在交互过程中,使用者不需要使用真实的姓名,但是需要使用公钥哈希值来作为交易标识。显然符合第一种而不符合第二种定义。
在计算机领域中,这种不用真实姓名而是用一种特定标识的折中做法被称为化名

在计算机科学中,匿名指的是具有无关联性unlinkability)的化名,无关联性是一种针对特定攻击者的能力而定义的属性:如果一个用户和系统重复进行交互,从攻击者的角度考虑,这些交互行为之间应该无法互相关联。

比特币是具备化名性的,但如果要求绝对隐私还不足够。如果有人可以用你的比特币地址链接到你的真实身份,那么你的所有比特币交易记录都会关联到你的真实身份。更糟糕的是,把比特币地址和真实身份链接在一起并不困难——比如进行需要提供真实身份的交易或者进行实地比特币交易。

旁路攻击(side channels

即使没有发生直接的关联,因为侧面渠道或者一些间接的信息泄露,你的匿名身份也可能会被暴露——比如关联活跃时间。
显然,这样的化名性不能保障隐私或者绝对匿名,要想做到绝对匿名,我们需要更强的无关联性属性。

无关联性

为了更好地理解比特币范畴的无关联性,我们可以列举一些无关联性需要的关键属性:

  1. 同一个用户的不同地址应该不易关联
  2. 同一个用户的不同交易应该不易关联
  3. 一个交易的交易双方应该不易关联(指任何一种从发送者到接受者的传输比特币的行为,而不仅仅指一笔交易)
匿名集

上述第三条要求比较难以实现,所以我们通常并不试图在系统中,对所有可能的交易或者地址都实现完全的无关联性,而是去实现更有限度的无关联性。想象一个特定的攻击者的情况,你的交易匿名集anonymity set)是指该攻击者无法把你的交易从其中分辨出来交易集合。即使该攻击者知道你完成了一个交易,他也仅仅知道这个交易是某一个集合中的一个,并不能确定是哪一个,我们只需要努力去最大化这个匿名合集就可以了。

污点分析(taint analysis

这是一种推算两个地址相关性的方法。如果地址S发出的比特币总是地址R接收,那么不管是直接抵达,还是经过多少中间地址,S和R被定义为具有高分污点。

为什么需要匿名性

在区块链货币中,所有交易都被记录在一个公共账本上,因此如果你的真实身份被关联到一个比特币地址,那么你就完全失去了所有交易的隐私,而且任何人都有可能在你不知道的情况下识别你的身份。
考虑到这一点,我们可以认定两种不同的需要匿名加密数字货币的动机:

  1. 达到我们习惯的传统银行给我们的隐私保护级别,降低公共区块链所带来的信息暴露风险
  2. 超越传统银行给我们的隐私保护级别,进一步开发数字货币,使其从技术上实现任何人不能轻易追踪参与者。

对于系统的技术匿名属性和在使用货币时应该遵守的法律规范,我们应该加以区分


2 如何对比特币去匿名化

关联性

假设Alice想要买一个茶壶,价格是8比特币。进一步假设,她的比特币分在三个不同的地址里,分别有3,5,6个比特币。实际上,Alice没有一个比特币地址有足够的8个比特币,她必须把两个输出合并成一个单体输入。

那么问题来了,这笔交易会在区块链网络有一个永久的记录,任何看到这个记录的人都可以推断,这两个输入地址很可能是由同一个用户控制的。换句话说,共享型消费,成为两个不同输入地址联合控制的证据(当然也可能存在例外)。
攻击者可以重复上述过程,从而一步步把这个个体所进行的所有交易关联起来,我们可以因此建立一个地址簇clustering of address)。

不仅如此,由于一些钱包软件的默认行为,攻击者能推导出用来鉴定零钱地址(用于找零的输出地址)的方法,从而进一步扩大地址簇。

关联真实世界的身份到地址簇
  1. 利用交易进行标记:适用于交易所或者商家
  2. 辨识个人:(1)直接交易(2)服务提供商提供(3)疏忽泄漏

上述探讨的去匿名化技术,都是基于对区块链网络上交易图谱进行的分析,这些方法被归纳为交易图谱分析(transaction graph analysis)

网络层的去匿名化

当某个节点创建一个交易时,该节点就会和其他很多节点建立连接并且广播该笔交易。如果网络上足够多的节点串通起来(或者被同一个攻击者所控制),他们就能分辨出第一个广播交易的节点,并且可以推断这个节点就是创建这个交易的用户所拥有的。因此可以把这个交易关联到这个节点的IP地址,这已经很接近真实世界的个人身份了。


相关文章

  • [区块链 Sec6] 比特币和匿名性

    比特币最有争议性的一个特性,就是匿名性。首先,比特币是匿名的吗?实际上普遍存在着各种相反的论调,原因在于人们对比特...

  • 解读“区块链”

    区块链和比特币的关系 比特币与区块链,更像是鸡与蛋的关系。 比特币是区块链技术的第一个应用,区块链技术也是由比特币...

  • 时代的召唤 —— 区块链 1.0 VS 2.0

    区块链1.0 比特币和区块链的关系 在最初的文章中,我将比特币和区块链的关系描述为区块链是比特币的分布式账本。其实...

  • 区块链应用

    区块链的实际应用 比特币的特点 去中心化 匿名交易 避免双花(double spending) 安全 比特币的启发...

  • 区块链系列教程之:比特币中的网络和区块链

    简介 比特币的底层就是区块链技术,区块链也是因为比特币而广为人知的。和其他的区块链技术相比,比特币的区块链有什么特...

  • 【入门课程】2.3—比特币的本质、特点、交易方式

    一、区块链和比特币关系 区块链技术是比特币的底层技术,而比特币是区块链的第一个应用,也是目前区块链最成功的应用。 ...

  • 《【砂糖橘解说】比特币篇:区块链技术的发展历史#19》

    《【砂糖橘解说】比特币篇:区块链技术的发展历史#19》 一、区块链和比特币是什么关系 区块链技术是比特币的底层技术...

  • 区块链

    推荐阅读:区块链100问(小视频) 比特币采用区块链技术,但是区块链并不等同于比特币。比特币和黄金一样,总量有限。...

  • 区块链和比特币的误区

    说起区块链与比特币,刚开始接触区块链和比特币的小白们都会对区块链与比特币有一些疑惑。区块链是当下社会比较新兴的技术...

  • 比特币白皮书解读

    没有比特币就没有区块链,没有区块链就没有比特币。 可见,比特币是区块链是多么的密切相关,而且比特币也可以说是区块链...

网友评论

      本文标题:[区块链 Sec6] 比特币和匿名性

      本文链接:https://www.haomeiwen.com/subject/lqzmoftx.html